summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/char/HPMchar.c1
-rw-r--r--src/char/Makefile.in2
-rw-r--r--src/char/char.c305
-rw-r--r--src/char/char.h9
-rw-r--r--src/char/geoip.c5
-rw-r--r--src/char/int_guild.c27
-rw-r--r--src/char/int_guild.h2
-rw-r--r--src/char/int_party.c8
-rw-r--r--src/char/int_pet.c2
-rw-r--r--src/char/int_pet.h2
-rw-r--r--src/char/int_rodex.c142
-rw-r--r--src/char/int_rodex.h6
-rw-r--r--src/char/inter.c99
-rw-r--r--src/char/inter.h11
-rw-r--r--src/char/mapif.c282
-rw-r--r--src/char/mapif.h20
-rw-r--r--src/char/packets_hc_struct.h45
-rw-r--r--src/common/HPM.c10
-rw-r--r--src/common/HPMDataCheck.h108
-rw-r--r--src/common/HPMSymbols.inc.h23
-rw-r--r--src/common/Makefile.in26
-rw-r--r--src/common/cbasetypes.h7
-rw-r--r--src/common/conf.c30
-rw-r--r--src/common/conf.h4
-rw-r--r--src/common/console.c38
-rw-r--r--src/common/core.c47
-rw-r--r--src/common/mapindex.c57
-rw-r--r--src/common/mapindex.h4
-rw-r--r--src/common/memmgr.h5
-rw-r--r--src/common/mmo.h106
-rw-r--r--src/common/packets.c64
-rw-r--r--src/common/packets.h47
-rw-r--r--src/common/packets/packets2003_len_main.h1258
-rw-r--r--src/common/packets/packets2003_len_sak.h1258
-rw-r--r--src/common/packets/packets2004_len_ad.h1620
-rw-r--r--src/common/packets/packets2004_len_main.h1810
-rw-r--r--src/common/packets/packets2004_len_sak.h1734
-rw-r--r--src/common/packets/packets2005_len_ad.h1927
-rw-r--r--src/common/packets/packets2005_len_main.h1935
-rw-r--r--src/common/packets/packets2005_len_sak.h1869
-rw-r--r--src/common/packets/packets2006_len_ad.h1925
-rw-r--r--src/common/packets/packets2006_len_main.h1919
-rw-r--r--src/common/packets/packets2006_len_sak.h1932
-rw-r--r--src/common/packets/packets2007_len_ad.h2223
-rw-r--r--src/common/packets/packets2007_len_main.h2217
-rw-r--r--src/common/packets/packets2007_len_sak.h2203
-rw-r--r--src/common/packets/packets2008_len_ad.h18487
-rw-r--r--src/common/packets/packets2008_len_main.h39478
-rw-r--r--src/common/packets/packets2008_len_re.h2944
-rw-r--r--src/common/packets/packets2008_len_sak.h8968
-rw-r--r--src/common/packets/packets2009_len_main.h15405
-rw-r--r--src/common/packets/packets2009_len_re.h3418
-rw-r--r--src/common/packets/packets2009_len_sak.h3054
-rw-r--r--src/common/packets/packets2010_len_main.h5784
-rw-r--r--src/common/packets/packets2010_len_re.h5291
-rw-r--r--src/common/packets/packets2011_len_main.h7200
-rw-r--r--src/common/packets/packets2011_len_re.h4781
-rw-r--r--src/common/packets/packets2012_len_main.h8486
-rw-r--r--src/common/packets/packets2012_len_re.h8498
-rw-r--r--src/common/packets/packets2013_len_main.h8876
-rw-r--r--src/common/packets/packets2013_len_re.h8941
-rw-r--r--src/common/packets/packets2014_len_main.h9079
-rw-r--r--src/common/packets/packets2014_len_re.h9014
-rw-r--r--src/common/packets/packets2015_len_main.h8641
-rw-r--r--src/common/packets/packets2015_len_re.h8562
-rw-r--r--src/common/packets/packets2016_len_main.h9134
-rw-r--r--src/common/packets/packets2016_len_re.h9140
-rw-r--r--src/common/packets/packets2017_len_main.h9103
-rw-r--r--src/common/packets/packets2017_len_re.h9109
-rw-r--r--src/common/packets/packets2017_len_zero.h5375
-rw-r--r--src/common/packets/packets2018_len_main.h5786
-rw-r--r--src/common/packets/packets2018_len_re.h5670
-rw-r--r--src/common/packets/packets2018_len_zero.h5958
-rw-r--r--src/common/packets/packets2019_len_main.h4905
-rw-r--r--src/common/packets/packets2019_len_re.h4917
-rw-r--r--src/common/packets/packets2019_len_zero.h4889
-rw-r--r--src/common/packets/packets2020_len_main.h4615
-rw-r--r--src/common/packets/packets2020_len_re.h4621
-rw-r--r--src/common/packets/packets_len_ad.h39
-rw-r--r--src/common/packets/packets_len_main.h65
-rw-r--r--src/common/packets/packets_len_re.h55
-rw-r--r--src/common/packets/packets_len_sak.h43
-rw-r--r--src/common/packets/packets_len_zero.h35
-rw-r--r--src/common/packets_len.h35
-rw-r--r--src/common/packetsstatic_len.h45
-rw-r--r--src/common/socket.c158
-rw-r--r--src/common/socket.h20
-rw-r--r--src/common/sql.c3
-rw-r--r--src/common/sysinfo.c8
-rw-r--r--src/common/utils.c15
-rw-r--r--src/common/utils.h2
-rw-r--r--src/config/const.h12
-rw-r--r--src/login/HPMlogin.c3
-rw-r--r--src/login/lclif.c88
-rw-r--r--src/login/lclif.h4
-rw-r--r--src/login/lclif.p.h300
-rw-r--r--src/login/login.c75
-rw-r--r--src/login/login.h1
-rw-r--r--src/login/packets_ac_struct.h156
-rw-r--r--src/login/packets_ca_struct.h239
-rw-r--r--src/map/HPMmap.c5
-rw-r--r--src/map/Makefile.in10
-rw-r--r--src/map/achievement.c88
-rw-r--r--src/map/achievement.h4
-rw-r--r--src/map/atcommand.c488
-rw-r--r--src/map/atcommand.h6
-rw-r--r--src/map/battle.c187
-rw-r--r--src/map/battle.h49
-rw-r--r--src/map/battleground.c22
-rw-r--r--src/map/buyingstore.c6
-rw-r--r--src/map/channel.c74
-rw-r--r--src/map/channel.h1
-rw-r--r--src/map/chat.c12
-rw-r--r--src/map/chrif.c10
-rw-r--r--src/map/clif.c3993
-rw-r--r--src/map/clif.h258
-rw-r--r--src/map/constants.inc1029
-rw-r--r--src/map/guild.c182
-rw-r--r--src/map/guild.h9
-rw-r--r--src/map/homunculus.c53
-rw-r--r--src/map/homunculus.h9
-rw-r--r--src/map/instance.c9
-rw-r--r--src/map/intif.c425
-rw-r--r--src/map/intif.h21
-rw-r--r--src/map/irc-bot.c9
-rw-r--r--src/map/itemdb.c537
-rw-r--r--src/map/itemdb.h46
-rw-r--r--src/map/log.c21
-rw-r--r--src/map/log.h6
-rw-r--r--src/map/mail.c6
-rw-r--r--src/map/map.c314
-rw-r--r--src/map/map.h128
-rw-r--r--src/map/mapdefines.h111
-rw-r--r--src/map/messages.h2
-rw-r--r--src/map/messages_ad.h3
-rw-r--r--src/map/messages_main.h1381
-rw-r--r--src/map/messages_re.h1341
-rw-r--r--src/map/messages_sak.h3
-rw-r--r--src/map/messages_zero.h1278
-rw-r--r--src/map/mob.c632
-rw-r--r--src/map/mob.h65
-rw-r--r--src/map/npc.c351
-rw-r--r--src/map/npc.h37
-rw-r--r--src/map/packets.h4786
-rw-r--r--src/map/packets_keys_main.h924
-rw-r--r--src/map/packets_keys_zero.h89
-rw-r--r--src/map/packets_shuffle_main.h17076
-rw-r--r--src/map/packets_shuffle_re.h17042
-rw-r--r--src/map/packets_shuffle_zero.h1281
-rw-r--r--src/map/packets_struct.h1266
-rw-r--r--src/map/party.c32
-rw-r--r--src/map/party.h1
-rw-r--r--src/map/pc.c515
-rw-r--r--src/map/pc.h142
-rw-r--r--src/map/pc_groups.c1
-rw-r--r--src/map/pc_groups.h1
-rw-r--r--src/map/pet.c41
-rw-r--r--src/map/pet.h4
-rw-r--r--src/map/quest.c55
-rw-r--r--src/map/quest.h35
-rw-r--r--src/map/refine.c669
-rw-r--r--src/map/refine.h148
-rw-r--r--src/map/refine.p.h144
-rw-r--r--src/map/rodex.c100
-rw-r--r--src/map/rodex.h4
-rw-r--r--src/map/script.c2963
-rw-r--r--src/map/script.h114
-rw-r--r--src/map/searchstore.c4
-rw-r--r--src/map/searchstore.h2
-rw-r--r--src/map/skill.c348
-rw-r--r--src/map/skill.h4
-rw-r--r--src/map/status.c1990
-rw-r--r--src/map/status.h1171
-rw-r--r--src/map/storage.c4
-rw-r--r--src/map/stylist.c229
-rw-r--r--src/map/stylist.h69
-rw-r--r--src/map/trade.c41
-rw-r--r--src/map/unit.c41
-rw-r--r--src/map/unit.h10
-rw-r--r--src/plugins/HPMHooking.c6
-rw-r--r--src/plugins/HPMHooking.h10
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc774
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc143
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc38
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.Hooks.inc975
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.sources.inc3
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc51
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc15
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.Hooks.inc330
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.sources.inc3
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc826
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc211
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc5491
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.sources.inc6
-rw-r--r--src/plugins/constdb2doc.c18
-rw-r--r--src/plugins/db2sql.c4
-rw-r--r--src/plugins/generate-translations.c242
-rw-r--r--src/plugins/mapcache.c23
-rw-r--r--src/plugins/sample.c32
-rw-r--r--src/tool/Makefile.in88
200 files changed, 338413 insertions, 32347 deletions
diff --git a/src/char/HPMchar.c b/src/char/HPMchar.c
index db2c3702e..f3cf2cff4 100644
--- a/src/char/HPMchar.c
+++ b/src/char/HPMchar.c
@@ -57,6 +57,7 @@
#include "common/mapindex.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
diff --git a/src/char/Makefile.in b/src/char/Makefile.in
index 95c8df813..f159a443f 100644
--- a/src/char/Makefile.in
+++ b/src/char/Makefile.in
@@ -46,7 +46,7 @@ CHAR_C = char.c HPMchar.c loginif.c mapif.c geoip.c inter.c int_achievement.c in
CHAR_OBJ = $(addprefix obj_sql/, $(patsubst %.c,%.o,$(CHAR_C)))
CHAR_H = char.h HPMchar.h loginif.h mapif.h geoip.h inter.h int_achievement.h int_auction.h int_clan.h int_elemental.h \
int_guild.h int_homun.h int_mail.h int_mercenary.h int_party.h int_pet.h \
- int_quest.h int_rodex.h int_storage.h pincode.h
+ int_quest.h int_rodex.h int_storage.h pincode.h packets_hc_struct.h
CHAR_PH =
HAVE_MYSQL=@HAVE_MYSQL@
diff --git a/src/char/char.c b/src/char/char.c
index 54f6ca7d1..66bfdd4ee 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -21,7 +21,7 @@
#define HERCULES_CORE
#include "config/core.h" // CONSOLE_INPUT
-#include "char.h"
+#include "char/char.h"
#include "char/HPMchar.h"
#include "char/geoip.h"
@@ -41,6 +41,7 @@
#include "char/inter.h"
#include "char/loginif.h"
#include "char/mapif.h"
+#include "char/packets_hc_struct.h"
#include "char/pincode.h"
#include "common/HPM.h"
@@ -53,6 +54,7 @@
#include "common/mapindex.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packetsstatic_len.h"
#include "common/showmsg.h"
#include "common/socket.h"
#include "common/strlib.h"
@@ -118,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;
@@ -139,6 +139,7 @@ char char_name_letters[1024] = ""; // list of letters/symbols allowed (or not) i
static int char_del_level = 0; ///< From which level you can delete character [Lupus]
static int char_del_delay = 86400;
static bool char_aegis_delete = false; ///< Verify if char is in guild/party or char and reacts as Aegis does (disallow deletion), @see chr->delete2_req.
+static bool char_aegis_rename = false; // whether or not the player can be renamed while in party/guild
static int max_connect_user = -1;
static int gm_allow_group = -1;
@@ -474,17 +475,27 @@ 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->attendance_timer != cp->attendance_timer) || (p->title_id != cp->title_id) || (p->inventorySize != cp->inventorySize) ||
+ (p->allow_call != cp->allow_call)
) {
//Save status
unsigned int opt = 0;
- if( p->allow_party )
+ if (p->inventorySize <= 0 || p->inventorySize > MAX_INVENTORY) {
+ ShowError("Wrong inventorySize field: %d. Must be in range 1 to %d. Character %s (CID: %d, AID: %d)\n",
+ p->inventorySize, MAX_INVENTORY, p->name, p->char_id, p->account_id);
+ Assert_report(0);
+ p->inventorySize = FIXED_INVENTORY_SIZE;
+ }
+
+ if (p->allow_party)
opt |= OPT_ALLOW_PARTY;
- if( p->show_equip )
+ if (p->show_equip)
opt |= OPT_SHOW_EQUIP;
+ if (p->allow_call)
+ opt |= OPT_ALLOW_CALL;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
"`base_exp`='%"PRIu64"', `job_exp`='%"PRIu64"', `zeny`='%d',"
@@ -494,8 +505,8 @@ 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"',"
- "`title_id`='%d'"
+ "`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,
p->base_exp, p->job_exp, p->zeny,
@@ -507,8 +518,8 @@ 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->title_id,
+ 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) )
{
Sql_ShowDebug(inter->sql_handle);
@@ -1049,7 +1060,7 @@ static int char_mmo_gender(const struct char_session_data *sd, const struct mmo_
//=====================================================================================================
// Loads the basic character rooster for the given account. Returns total buffer used.
-static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
+static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf, int *count)
{
struct SqlStmt *stmt;
struct mmo_charstatus p;
@@ -1058,6 +1069,9 @@ static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
time_t unban_time = 0;
char sex[2];
+ if (count)
+ *count = 0;
+
nullpo_ret(sd);
nullpo_ret(buf);
@@ -1079,13 +1093,13 @@ static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
"`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
- "`robe`,`slotchange`,`unban_time`,`sex`,`title_id`"
+ "`robe`,`slotchange`,`unban_time`,`sex`,`title_id`,`inventory_size`"
" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", char_db, sd->account_id, MAX_CHARS)
|| SQL_ERROR == SQL->StmtExecute(stmt)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 0, SQLDT_INT, &p.char_id, sizeof p.char_id, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 1, SQLDT_UCHAR, &p.slot, sizeof p.slot, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 2, SQLDT_STRING, &p.name, sizeof p.name, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_INT16, &p.class, sizeof p.class, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_INT, &p.class, sizeof p.class, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &p.base_level, sizeof p.base_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT, &p.job_level, sizeof p.job_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_UINT64, &p.base_exp, sizeof p.base_exp, NULL, NULL)
@@ -1123,25 +1137,36 @@ static int char_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 38, SQLDT_TIME, &unban_time, sizeof unban_time, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 39, SQLDT_ENUM, &sex, sizeof sex, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 40, SQLDT_INT, &p.title_id, sizeof p.title_id, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 41, SQLDT_INT, &p.inventorySize, sizeof p.inventorySize, NULL, NULL)
) {
SqlStmt_ShowDebug(stmt);
SQL->StmtFree(stmt);
return 0;
}
- for( i = 0; i < MAX_CHARS && SQL_SUCCESS == SQL->StmtNextRow(stmt); i++ ) {
+ int tmpCount = 0;
+ for (i = 0; i < MAX_CHARS && SQL_SUCCESS == SQL->StmtNextRow(stmt); i++) {
if (p.slot >= MAX_CHARS)
continue;
+ if (p.inventorySize <= 0 || p.inventorySize > MAX_INVENTORY) {
+ ShowError("Wrong inventorySize field: %d. Must be in range 1 to %d. Character %s (CID: %d, AID: %d)\n",
+ p.inventorySize, MAX_INVENTORY, p.name, p.char_id, p.account_id);
+ Assert_report(0);
+ p.inventorySize = FIXED_INVENTORY_SIZE;
+ }
p.last_point.map = mapindex->name2id(last_map);
sd->found_char[p.slot] = p.char_id;
sd->unban_time[p.slot] = unban_time;
p.sex = chr->mmo_gender(sd, &p, sex[0]);
j += chr->mmo_char_tobuf(WBUFP(buf, j), &p);
+ tmpCount ++;
}
- memset(sd->new_name,0,sizeof(sd->new_name));
+ memset(sd->new_name, 0, sizeof(sd->new_name));
SQL->StmtFree(stmt);
+ if (count)
+ *count = tmpCount;
return j;
}
@@ -1169,6 +1194,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
nullpo_ret(p);
memset(p, 0, sizeof(struct mmo_charstatus));
+ p->inventorySize = FIXED_INVENTORY_SIZE;
if (chr->show_save_log)
ShowInfo("Char load request (%d)\n", char_id);
@@ -1187,8 +1213,8 @@ 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`,"
- "`title_id`"
+ "`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)
|| SQL_ERROR == SQL->StmtExecute(stmt)
@@ -1196,7 +1222,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 1, SQLDT_INT, &p->account_id, sizeof p->account_id, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 2, SQLDT_UCHAR, &p->slot, sizeof p->slot, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_STRING, &p->name, sizeof p->name, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT16, &p->class, sizeof p->class, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &p->class, sizeof p->class, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT, &p->base_level, sizeof p->base_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_INT, &p->job_level, sizeof p->job_level, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT64, &p->base_exp, sizeof p->base_exp, NULL, NULL)
@@ -1251,11 +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, 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);
@@ -1287,6 +1315,13 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
p->save_point.y = mapindex->default_y;
}
+ if (p->inventorySize <= 0 || p->inventorySize > MAX_INVENTORY) {
+ ShowError("Wrong inventorySize field: %d. Must be in range 1 to %d. Character %s (CID: %d, AID: %d)\n",
+ p->inventorySize, MAX_INVENTORY, p->name, p->char_id, p->account_id);
+ Assert_report(0);
+ p->inventorySize = FIXED_INVENTORY_SIZE;
+ }
+
strcat(t_msg, " status");
if (!load_everything) // For quick selection of data when displaying the char menu
@@ -1379,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);
@@ -1414,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));
@@ -1514,6 +1551,14 @@ static int char_rename_char_sql(struct char_session_data *sd, int char_id)
if( char_dat.rename == 0 )
return 1;
+ if (char_aegis_rename) {
+ if (char_dat.guild_id > 0) {
+ return 5; // MSG_FAILED_RENAME_BELONGS_TO_GUILD
+ } else if (char_dat.party_id > 0) {
+ return 6; // MSG_FAILED_RENAME_BELONGS_TO_PARTY
+ }
+ }
+
SQL->EscapeStringLen(inter->sql_handle, esc_name, sd->new_name, strnlen(sd->new_name, NAME_LENGTH));
// check if the char exist
@@ -1539,9 +1584,20 @@ static int char_rename_char_sql(struct char_session_data *sd, int char_id)
// log change
if (chr->enable_logs) {
if (SQL_ERROR == SQL->Query(inter->sql_handle,
- "INSERT INTO `%s` (`time`, `char_msg`,`account_id`,`char_id`,`char_num`,`name`,`str`,`agi`,`vit`,`int`,`dex`,`luk`,`hair`,`hair_color`)"
- "VALUES (NOW(), '%s', '%d', '%d', '%d', '%s', '0', '0', '0', '0', '0', '0', '0', '0')",
- charlog_db, "change char name", sd->account_id, char_dat.char_id, char_dat.slot, esc_name))
+ "INSERT INTO `%s` ("
+ " `time`, `char_msg`, `account_id`, `char_id`, `char_num`, `class`, `name`,"
+ " `str`, `agi`, `vit`, `int`, `dex`, `luk`,"
+ " `hair`, `hair_color`"
+ ") VALUES ("
+ " NOW(), 'change char name', '%d', '%d', '%d', '%d', '%s',"
+ " '%d', '%d', '%d', '%d', '%d', '%d',"
+ " '%d', '%d'"
+ ")",
+ charlog_db,
+ sd->account_id, char_dat.char_id, char_dat.slot, char_dat.class, esc_name,
+ char_dat.str, char_dat.agi, char_dat.vit, char_dat.int_, char_dat.dex, char_dat.luk,
+ char_dat.hair, char_dat.hair_color
+ ))
Sql_ShowDebug(inter->sql_handle);
}
@@ -1653,7 +1709,7 @@ static int char_check_char_name(const char *name, const char *esc_name)
* -5: 'Symbols in Character Names are forbidden'
* char_id: Success
**/
-static int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int16 starting_class, uint8 sex)
+static int char_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_class, uint8 sex)
{
char name[NAME_LENGTH];
char esc_name[NAME_LENGTH*2+1];
@@ -1700,22 +1756,22 @@ static int char_make_new_char_sql(struct char_session_data *sd, const char *name
#if PACKETVER >= 20120307
// Insert the new char entry to the database
if (SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `status_point`,`str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
- "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`) VALUES ("
- "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c')",
+ "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`, `inventory_size`) VALUES ("
+ "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c', '%d')",
char_db, sd->account_id , slot, esc_name, starting_class, start_zeny, 48, str, agi, vit, int_, dex, luk,
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
- mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y, sex)) {
+ mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y, sex, FIXED_INVENTORY_SIZE)) {
Sql_ShowDebug(inter->sql_handle);
return -2; //No, stop the procedure!
}
#else
//Insert the new char entry to the database
if( SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
- "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ("
- "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
+ "`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `inventory_size`) VALUES ("
+ "'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d','%d', '%d','%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%d')",
char_db, sd->account_id , slot, esc_name, starting_class, start_zeny, str, agi, vit, int_, dex, luk,
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
- mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y) )
+ mapindex_id2name(start_point.map), start_point.x, start_point.y, mapindex_id2name(start_point.map), start_point.x, start_point.y, FIXED_INVENTORY_SIZE) )
{
Sql_ShowDebug(inter->sql_handle);
return -2; //No, stop the procedure!
@@ -1967,7 +2023,7 @@ static int char_count_users(void)
// Writes char data to the buffer in the format used by the client.
// Used in packets 0x6b (chars info) and 0x6d (new char info)
// Returns the size
-#define MAX_CHAR_BUF 150 //Max size (for WFIFOHEAD calls)
+#define MAX_CHAR_BUF (PACKET_LEN_0x006d - 2)
static int char_mmo_char_tobuf(uint8 *buffer, struct mmo_charstatus *p)
{
unsigned short offset = 0;
@@ -2072,18 +2128,36 @@ static int char_mmo_char_tobuf(uint8 *buffer, struct mmo_charstatus *p)
#endif
#endif
- return 106+offset;
+ if (106 + offset != MAX_CHAR_BUF)
+ Assert_report("Wrong buffer size in char_mmo_char_tobuf");
+ return 106 + offset;
}
/* Made Possible by Yommy~! <3 */
-static void char_mmo_char_send099d(int fd, struct char_session_data *sd)
-{
-// support added for client between 20121010 and 20130320
-#if PACKETVER > 20120418
- WFIFOHEAD(fd,4 + (MAX_CHARS*MAX_CHAR_BUF));
- WFIFOW(fd,0) = 0x99d;
- WFIFOW(fd,2) = chr->mmo_chars_fromsql(sd, WFIFOP(fd,4)) + 4;
- WFIFOSET(fd,WFIFOW(fd,2));
+static void char_send_HC_ACK_CHARINFO_PER_PAGE(int fd, struct char_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE) + (MAX_CHARS * MAX_CHAR_BUF));
+ struct PACKET_HC_ACK_CHARINFO_PER_PAGE *p = WFIFOP(fd, 0);
+ int count = 0;
+ p->packetId = HEADER_HC_ACK_CHARINFO_PER_PAGE;
+ p->packetLen = chr->mmo_chars_fromsql(sd, WFIFOP(fd, 4), &count) + sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE);
+ WFIFOSET(fd, p->packetLen);
+ // send empty packet if chars count is 3, for trigger final code in client
+ if (count == 3) {
+ chr->send_HC_ACK_CHARINFO_PER_PAGE_tail(fd, sd);
+ }
+#endif
+}
+
+static void char_send_HC_ACK_CHARINFO_PER_PAGE_tail(int fd, struct char_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE));
+ struct PACKET_HC_ACK_CHARINFO_PER_PAGE *p = WFIFOP(fd, 0);
+ p->packetId = HEADER_HC_ACK_CHARINFO_PER_PAGE;
+ p->packetLen = sizeof(struct PACKET_HC_ACK_CHARINFO_PER_PAGE);
+ WFIFOSET(fd, p->packetLen);
#endif
}
@@ -2132,17 +2206,20 @@ static void char_mmo_char_send_ban_list(int fd, struct char_session_data *sd)
//----------------------------------------
static void char_mmo_char_send_slots_info(int fd, struct char_session_data *sd)
{
+// also probably supported client 2013-02-15aRagexe but not 2013-02-15bRagexe [4144]
+#if PACKETVER_MAIN_NUM >= 20130612 || PACKETVER_RE_NUM >= 20130115 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
- WFIFOHEAD(fd,29);
- WFIFOW(fd,0) = 0x82d;
- WFIFOW(fd,2) = 29;
- WFIFOB(fd,4) = sd->char_slots;
- WFIFOB(fd,5) = MAX_CHARS - sd->char_slots;
- WFIFOB(fd,6) = 0;
- WFIFOB(fd,7) = sd->char_slots;
- WFIFOB(fd,8) = sd->char_slots;
- memset(WFIFOP(fd,9), 0, 20); // unused bytes
- WFIFOSET(fd,29);
+ WFIFOHEAD(fd, 29);
+ WFIFOW(fd, 0) = 0x82d;
+ WFIFOW(fd, 2) = 29;
+ WFIFOB(fd, 4) = sd->char_slots;
+ WFIFOB(fd, 5) = MAX_CHARS - sd->char_slots;
+ WFIFOB(fd, 6) = 0;
+ WFIFOB(fd, 7) = sd->char_slots;
+ WFIFOB(fd, 8) = sd->char_slots;
+ memset(WFIFOP(fd, 9), 0, 20); // unused bytes
+ WFIFOSET(fd, 29);
+#endif
}
//----------------------------------------
// Function to send characters to a player
@@ -2166,7 +2243,7 @@ static int char_mmo_char_send_characters(int fd, struct char_session_data *sd)
WFIFOB(fd,6) = MAX_CHARS; // Premium slots. AKA any existent chars past sd->char_slots but within MAX_CHARS will show a 'Premium Service' in red
#endif
memset(WFIFOP(fd,4 + offset), 0, 20); // unknown bytes
- j+=chr->mmo_chars_fromsql(sd, WFIFOP(fd,j));
+ j += chr->mmo_chars_fromsql(sd, WFIFOP(fd, j), NULL);
WFIFOW(fd,2) = j; // packet len
WFIFOSET(fd,j);
@@ -2194,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) )
@@ -2213,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) )
@@ -2315,19 +2396,29 @@ static void char_ping_login_server(int fd)
static int char_parse_fromlogin_connection_state(int fd)
{
- if (RFIFOB(fd,2)) {
- //printf("connect login server error : %d\n", RFIFOB(fd,2));
+ switch (RFIFOB(fd,2)) {
+ case 0:
+ ShowStatus("Connected to login-server (connection #%d).\n", fd);
+ loginif->on_ready();
+ break;
+ case 1: // Invalid username/password
ShowError("Can not connect to login-server.\n");
ShowError("The server communication passwords (default s1/p1) are probably invalid.\n");
ShowError("Also, please make sure your login db has the correct communication username/passwords and the gender of the account is S.\n");
ShowError("The communication passwords are set in /conf/map/map-server.conf and /conf/char/char-server.conf\n");
sockt->eof(fd);
return 1;
- } else {
- ShowStatus("Connected to login-server (connection #%d).\n", fd);
- loginif->on_ready();
+ case 2: // IP not allowed
+ ShowError("Can not connect to login-server.\n");
+ ShowError("Please make sure your IP is allowed in conf/network.conf\n");
+ sockt->eof(fd);
+ return 1;
+ default:
+ ShowError("Invalid response from the login-server. Error code: %d\n", (int)RFIFOB(fd,2));
+ sockt->eof(fd);
+ return 1;
}
- RFIFOSKIP(fd,3);
+ RFIFOSKIP(fd, 3);
return 0;
}
@@ -2409,12 +2500,8 @@ static void char_parse_fromlogin_account_data(int fd)
chr->auth_error(i, 0);
} else {
// send characters to player
- #if PACKETVER >= 20130000
chr->mmo_char_send_slots_info(i, sd);
chr->mmo_char_send_characters(i, sd);
- #else
- chr->mmo_char_send_characters(i, sd);
- #endif
#if PACKETVER >= 20060819
chr->mmo_char_send_ban_list(i, sd);
#endif
@@ -3060,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) )
{
@@ -3081,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)
@@ -3654,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);
@@ -3794,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);
}
@@ -4151,10 +4239,10 @@ static void char_delete2_accept_actual_ack(int fd, int char_id, uint32 result)
/// Any (0x718): An unknown error has occurred.
static void char_delete2_accept_ack(int fd, int char_id, uint32 result)
{// HC: <082a>.W <char id>.L <Msg:0-5>.L
-#if PACKETVER >= 20130000 /* not sure the exact date -- must refresh or client gets stuck */
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
if( result == 1 ) {
struct char_session_data* sd = (struct char_session_data*)sockt->session[fd]->session_data;
- chr->mmo_char_send099d(fd, sd);
+ chr->send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
}
#endif
chr->delete2_accept_actual_ack(fd, char_id, result);
@@ -4345,9 +4433,9 @@ static void char_delete2_cancel(int fd, struct char_session_data *sd)
static void char_send_account_id(int fd, int account_id)
{
- WFIFOHEAD(fd,4);
- WFIFOL(fd,0) = account_id;
- WFIFOSET(fd,4);
+ WFIFOHEAD(fd, 4);
+ WFIFOL(fd, 0) = account_id;
+ WFIFOSET2(fd, 4);
}
static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32 ipl)
@@ -4382,6 +4470,7 @@ static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32
if( core->runflag != CHARSERVER_ST_RUNNING ) {
chr->auth_error(fd, 0);
+ sockt->eof(fd);
return;
}
@@ -4396,11 +4485,13 @@ static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32
/* restrictions apply */
if( chr->server_type == CST_MAINTENANCE && node->group_id < char_maintenance_min_group_id ) {
chr->auth_error(fd, 0);
+ sockt->eof(fd);
return;
}
/* the client will already deny this request, this check is to avoid someone bypassing. */
if( chr->server_type == CST_PAYING && (time_t)node->expiration_time < time(NULL) ) {
chr->auth_error(fd, 0);
+ sockt->eof(fd);
return;
}
idb_remove(auth_db, account_id);
@@ -4412,6 +4503,7 @@ static void char_parse_char_connect(int fd, struct char_session_data *sd, uint32
loginif->auth(fd, sd, ipl);
} else { // if no login-server, we must refuse connection
chr->auth_error(fd, 0);
+ sockt->eof(fd);
}
}
}
@@ -4558,8 +4650,19 @@ static void char_parse_char_select(int fd, struct char_session_data *sd, uint32
// FIXME: Why are we re-escaping the name if it was already escaped in rename/make_new_char? [Panikon]
SQL->EscapeStringLen(inter->sql_handle, esc_name, char_dat.name, strnlen(char_dat.name, NAME_LENGTH));
if (SQL_ERROR == SQL->Query(inter->sql_handle,
- "INSERT INTO `%s`(`time`, `account_id`, `char_id`, `char_num`, `name`) VALUES (NOW(), '%d', '%d', '%d', '%s')",
- charlog_db, sd->account_id, cd->char_id, slot, esc_name))
+ "INSERT INTO `%s`("
+ " `time`, `char_msg`, `account_id`, `char_id`, `char_num`, `class`, `name`,"
+ " `str`, `agi`, `vit`, `int`, `dex`, `luk`,"
+ " `hair`, `hair_color`"
+ ") VALUES ("
+ " NOW(), 'char select', '%d', '%d', '%d', '%d', '%s',"
+ " '%d', '%d', '%d', '%d', '%d', '%d',"
+ " '%d', '%d')",
+ charlog_db,
+ sd->account_id, cd->char_id, slot, char_dat.class, esc_name,
+ char_dat.str, char_dat.agi, char_dat.vit, char_dat.int_, char_dat.dex, char_dat.luk,
+ char_dat.hair, char_dat.hair_color
+ ))
Sql_ShowDebug(inter->sql_handle);
}
ShowInfo("Selected char: (Account %d: %d - %s)\n", sd->account_id, slot, char_dat.name);
@@ -4621,7 +4724,8 @@ static void char_creation_failed(int fd, int result)
/* Others I found [Ind] */
/* 0x02 = Symbols in Character Names are forbidden */
/* 0x03 = You are not eligible to open the Character Slot. */
- /* 0x0B = This service is only available for premium users. */
+ /* 0x0B = This service is only available for premium users. */
+ /* 0x0C = Character name is invalid. */
switch (result) {
case -1: WFIFOB(fd,2) = 0x00; break; // 'Charname already exists'
case -2: WFIFOB(fd,2) = 0xFF; break; // 'Char creation denied'
@@ -4900,10 +5004,10 @@ static void char_parse_char_delete2_cancel(int fd, struct char_session_data *sd)
// 3 - error
static void char_login_map_server_ack(int fd, uint8 flag)
{
- WFIFOHEAD(fd,3);
- WFIFOW(fd,0) = 0x2af9;
- WFIFOB(fd,2) = flag;
- WFIFOSET(fd,3);
+ WFIFOHEAD(fd, 3);
+ WFIFOW(fd, 0) = 0x2af9;
+ WFIFOB(fd, 2) = flag;
+ WFIFOSET2(fd, 3);
}
static void char_parse_char_login_map_server(int fd, uint32 ipl)
@@ -4921,6 +5025,7 @@ static void char_parse_char_login_map_server(int fd, uint32 ipl)
!sockt->allowed_ip_check(ipl))
{
chr->login_map_server_ack(fd, 3); // Failure
+ sockt->eof(fd);
} else {
chr->login_map_server_ack(fd, 0); // Success
@@ -4930,6 +5035,7 @@ static void char_parse_char_login_map_server(int fd, uint32 ipl)
chr->server[i].users = 0;
sockt->session[fd]->func_parse = chr->parse_frommap;
sockt->session[fd]->flag.server = 1;
+ sockt->session[fd]->flag.validate = 0;
sockt->realloc_fifo(fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
chr->mapif_init(fd);
}
@@ -4975,7 +5081,7 @@ static void char_parse_char_pincode_first_pin(int fd, struct char_session_data *
static void char_parse_char_request_chars(int fd, struct char_session_data *sd)
{
- chr->mmo_char_send099d(fd, sd);
+ chr->send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
RFIFOSKIP(fd,2);
}
@@ -4995,8 +5101,8 @@ static void char_parse_char_move_character(int fd, struct char_session_data *sd)
chr->change_character_slot_ack(fd, ret);
/* for some stupid reason it requires the char data again (gravity -_-) */
if( ret )
-#if PACKETVER >= 20130000
- chr->mmo_char_send099d(fd, sd);
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+ chr->send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
#else
chr->mmo_char_send_characters(fd, sd);
#endif
@@ -5299,6 +5405,7 @@ static int char_check_connect_login_server(int tid, int64 tick, int id, intptr_t
sockt->session[chr->login_fd]->func_parse = chr->parse_fromlogin;
sockt->session[chr->login_fd]->flag.server = 1;
+ sockt->session[chr->login_fd]->flag.validate = 0;
sockt->realloc_fifo(chr->login_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
loginif->connect_to_server();
@@ -5683,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;
}
@@ -5848,6 +5956,7 @@ static bool char_config_read_player_name(const char *filename, const struct conf
libconfig->setting_lookup_mutable_string(setting, "name_letters", char_name_letters, sizeof(char_name_letters));
libconfig->setting_lookup_int(setting, "name_option", &char_name_option);
libconfig->setting_lookup_bool_real(setting, "name_ignoring_case", &name_ignoring_case);
+ libconfig->setting_lookup_bool_real(setting, "use_aegis_rename", &char_aegis_rename);
return true;
}
@@ -6290,6 +6399,7 @@ int do_init(int argc, char **argv)
Sql_ShowDebug(inter->sql_handle);
sockt->set_defaultparse(chr->parse_char);
+ sockt->validate = true;
if ((chr->char_fd = sockt->make_listen_bind(bind_ip,chr->port)) == -1) {
ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",chr->port);
@@ -6343,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;
@@ -6390,7 +6502,8 @@ void char_defaults(void)
chr->divorce_char_sql = char_divorce_char_sql;
chr->count_users = char_count_users;
chr->mmo_char_tobuf = char_mmo_char_tobuf;
- chr->mmo_char_send099d = char_mmo_char_send099d;
+ chr->send_HC_ACK_CHARINFO_PER_PAGE = char_send_HC_ACK_CHARINFO_PER_PAGE;
+ chr->send_HC_ACK_CHARINFO_PER_PAGE_tail = char_send_HC_ACK_CHARINFO_PER_PAGE_tail;
chr->mmo_char_send_ban_list = char_mmo_char_send_ban_list;
chr->mmo_char_send_slots_info = char_mmo_char_send_slots_info;
chr->mmo_char_send_characters = char_mmo_char_send_characters;
diff --git a/src/char/char.h b/src/char/char.h
index 81cab1eaf..3b8bcff2e 100644
--- a/src/char/char.h
+++ b/src/char/char.h
@@ -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);
@@ -142,18 +144,19 @@ struct char_interface {
int (*getitemdata_from_sql) (struct item *items, int max, int guid, enum inventory_table_type table);
int (*memitemdata_to_sql) (const struct item items[], int id, enum inventory_table_type table);
int (*mmo_gender) (const struct char_session_data *sd, const struct mmo_charstatus *p, char sex);
- int (*mmo_chars_fromsql) (struct char_session_data* sd, uint8* buf);
+ int (*mmo_chars_fromsql) (struct char_session_data* sd, uint8* buf, int *count);
int (*mmo_char_fromsql) (int char_id, struct mmo_charstatus* p, bool load_everything);
int (*mmo_char_sql_init) (void);
bool (*char_slotchange) (struct char_session_data *sd, int fd, unsigned short from, unsigned short to);
int (*rename_char_sql) (struct char_session_data *sd, int char_id);
bool (*name_exists) (const char *name, const char *esc_name);
int (*check_char_name) (const char *name, const char *esc_name);
- int (*make_new_char_sql) (struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex);
+ int (*make_new_char_sql) (struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex);
int (*divorce_char_sql) (int partner_id1, int partner_id2);
int (*count_users) (void);
int (*mmo_char_tobuf) (uint8* buffer, struct mmo_charstatus* p);
- void (*mmo_char_send099d) (int fd, struct char_session_data *sd);
+ void (*send_HC_ACK_CHARINFO_PER_PAGE) (int fd, struct char_session_data *sd);
+ void (*send_HC_ACK_CHARINFO_PER_PAGE_tail) (int fd, struct char_session_data *sd);
void (*mmo_char_send_ban_list) (int fd, struct char_session_data *sd);
void (*mmo_char_send_slots_info) (int fd, struct char_session_data* sd);
int (*mmo_char_send_characters) (int fd, struct char_session_data* sd);
diff --git a/src/char/geoip.c b/src/char/geoip.c
index 2870e5f0c..67c057aff 100644
--- a/src/char/geoip.c
+++ b/src/char/geoip.c
@@ -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/int_guild.c b/src/char/int_guild.c
index 56e1c1ba3..3e9d50f8d 100644
--- a/src/char/int_guild.c
+++ b/src/char/int_guild.c
@@ -319,8 +319,8 @@ static int inter_guild_tosql(struct guild *g, int flag)
SQL->EscapeStringLen(inter->sql_handle, esc_name, e->name, strnlen(e->name, NAME_LENGTH));
SQL->EscapeStringLen(inter->sql_handle, esc_mes, e->mes, strnlen(e->mes, sizeof(e->mes)));
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s` (`guild_id`,`account_id`,`name`,`mes`) "
- "VALUES ('%d','%d','%s','%s')", guild_expulsion_db, g->guild_id, e->account_id, esc_name, esc_mes) )
+ if( SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s` (`guild_id`,`account_id`, `char_id`, `name`,`mes`) "
+ "VALUES ('%d','%d','%d','%s','%s')", guild_expulsion_db, g->guild_id, e->account_id, e->char_id, esc_name, esc_mes) )
Sql_ShowDebug(inter->sql_handle);
}
}
@@ -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);
}
@@ -1060,7 +1068,7 @@ static bool inter_guild_leave(int guild_id, int account_id, int char_id, int fla
}
// Change member info
-static bool inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int16 class)
+static bool inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int class)
{
// Could speed up by manipulating only guild_member
struct guild *g;
@@ -1602,9 +1610,8 @@ static int inter_guild_parse_frommap(int fd)
case 0x3032: mapif->parse_GuildAddMember(fd, RFIFOL(fd,4), RFIFOP(fd,8)); break;
case 0x3033: mapif->parse_GuildMasterChange(fd, RFIFOL(fd,4), RFIFOP(fd,8), RFIFOW(fd,2)-8); break;
case 0x3034: mapif->parse_GuildLeave(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOB(fd,14), RFIFOP(fd,15)); break;
- case 0x3035: mapif->parse_GuildChangeMemberInfoShort(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOW(fd,17)); break;
+ case 0x3035: mapif->parse_GuildChangeMemberInfoShort(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOL(fd,15),RFIFOL(fd,19)); break;
case 0x3036: mapif->parse_BreakGuild(fd,RFIFOL(fd,2)); break;
- case 0x3037: mapif->parse_GuildMessage(fd, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12), RFIFOW(fd,2)-12); break;
case 0x3039: mapif->parse_GuildBasicInfoChange(fd, RFIFOL(fd,4), RFIFOW(fd,8), RFIFOP(fd,10), RFIFOW(fd,2)-10); break;
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 33873edcd..4ed0f526e 100644
--- a/src/char/int_guild.h
+++ b/src/char/int_guild.h
@@ -72,7 +72,7 @@ struct inter_guild_interface {
struct guild *(*create) (const char *name, const struct guild_member *master);
bool (*add_member) (int guild_id, const struct guild_member *member, int map_fd);
bool (*leave) (int guild_id, int account_id, int char_id, int flag, const char *mes, int map_fd);
- bool (*update_member_info_short) (int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ bool (*update_member_info_short) (int guild_id, int account_id, int char_id, int online, int lv, int class);
bool (*update_member_info) (int guild_id, int account_id, int char_id, int type, const char *data, int len);
bool (*disband) (int guild_id);
bool (*update_basic_info) (int guild_id, int type, const void *data, int len);
diff --git a/src/char/int_party.c b/src/char/int_party.c
index 8ee03ecc5..bf680c816 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -118,7 +118,6 @@ static void inter_party_calc_state(struct party_data *p)
p->party.exp = 0; //Set off even share.
mapif->party_optionchanged(0, &p->party, 0, 0);
}
- return;
}
// Save party to mysql
@@ -472,8 +471,11 @@ static bool inter_party_leave(int party_id, int account_id, int char_id)
mapif->party_withdraw(party_id, account_id, char_id);
j = p->party.member[i].lv;
- if (p->party.member[i].online > 0)
+ if (p->party.member[i].online > 0) {
+ p->party.member[i].online = 0;
p->party.count--;
+ }
+ inter_party->tosql(&p->party, PS_DELMEMBER, i);
memset(&p->party.member[i], 0, sizeof(struct party_member));
p->size--;
if (j == p->min_lv || j == p->max_lv || p->family) {
@@ -482,7 +484,6 @@ static bool inter_party_leave(int party_id, int account_id, int char_id)
}
if (inter_party->check_empty(p) == 0) {
- inter_party->tosql(&p->party, PS_DELMEMBER, i);
mapif->party_info(-1, &p->party, 0);
}
return true;
@@ -599,7 +600,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;
diff --git a/src/char/int_pet.c b/src/char/int_pet.c
index 8f87becff..d31e7545c 100644
--- a/src/char/int_pet.c
+++ b/src/char/int_pet.c
@@ -160,7 +160,7 @@ static int inter_pet_delete(int pet_id)
return 0;
}
//------------------------------------------------------
-static struct s_pet *inter_pet_create(int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id,
+static struct s_pet *inter_pet_create(int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name)
{
nullpo_ret(pet_name);
diff --git a/src/char/int_pet.h b/src/char/int_pet.h
index 104771735..b5852d441 100644
--- a/src/char/int_pet.h
+++ b/src/char/int_pet.h
@@ -37,7 +37,7 @@ struct inter_pet_interface {
int (*delete_) (int pet_id);
int (*parse_frommap) (int fd);
- struct s_pet *(*create) (int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id,
+ struct s_pet *(*create) (int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
struct s_pet *(*load) (int account_id, int char_id, int pet_id);
};
diff --git a/src/char/int_rodex.c b/src/char/int_rodex.c
index 18c277574..fbf628f32 100644
--- a/src/char/int_rodex.c
+++ b/src/char/int_rodex.c
@@ -268,7 +268,7 @@ static bool inter_rodex_hasnew(int char_id, int account_id)
}
/// Checks player name and retrieves some data
-static bool inter_rodex_checkname(const char *name, int *target_char_id, short *target_class, int *target_level)
+static bool inter_rodex_checkname(const char *name, int *target_char_id, int *target_class, int *target_level)
{
char esc_name[NAME_LENGTH * 2 + 1];
bool found = false;
@@ -286,7 +286,7 @@ static bool inter_rodex_checkname(const char *name, int *target_char_id, short *
if (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) {
char *data;
SQL->GetData(inter->sql_handle, 0, &data, NULL); *target_char_id = atoi(data);
- SQL->GetData(inter->sql_handle, 1, &data, NULL); *target_class = (short)atoi(data);
+ SQL->GetData(inter->sql_handle, 1, &data, NULL); *target_class = atoi(data);
SQL->GetData(inter->sql_handle, 2, &data, NULL); *target_level = atoi(data);
found = true;
}
@@ -346,11 +346,128 @@ static int64 inter_rodex_savemessage(struct rodex_message *msg)
return msg->id;
}
+static int64 inter_rodex_getzeny(int64 mail_id)
+{
+ Assert_retr(-1, mail_id > 0);
+
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `zeny`, `type` FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id)) {
+ Sql_ShowDebug(inter->sql_handle);
+ } else {
+ if (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) {
+ char *data;
+ SQL->GetData(inter->sql_handle, 0, &data, NULL);
+ int64 zeny = atoi(data);
+ SQL->GetData(inter->sql_handle, 1, &data, NULL);
+ uint8 type = atoi(data);
+ SQL->FreeResult(inter->sql_handle);
+ if ((type & MAIL_TYPE_ZENY) == 0)
+ return -1;
+ return zeny;
+ }
+ }
+ SQL->FreeResult(inter->sql_handle);
+
+ return -1;
+}
+
+static int inter_rodex_getitems(int64 mail_id, struct rodex_item *items)
+{
+ Assert_retr(-1, mail_id > 0);
+ nullpo_retr(-1, items);
+
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `type` FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id)) {
+ Sql_ShowDebug(inter->sql_handle);
+ return -1;
+ } else {
+ if (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) {
+ char *data;
+ SQL->GetData(inter->sql_handle, 0, &data, NULL);
+ uint8 type = atoi(data);
+ SQL->FreeResult(inter->sql_handle);
+ if ((type & MAIL_TYPE_ITEM) == 0)
+ return -1;
+ } else {
+ SQL->FreeResult(inter->sql_handle);
+ return -1;
+ }
+ }
+
+
+ int itemsCount = 0;
+
+ struct SqlStmt *stmt_items = SQL->StmtMalloc(inter->sql_handle);
+
+ if (stmt_items == NULL) {
+ return -1;
+ }
+
+ StringBuf buf;
+ StrBuf->Init(&buf);
+
+ StrBuf->AppendStr(&buf, "SELECT `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `expire_time`, `bound`, `unique_id`");
+ for (int i = 0; i < MAX_SLOTS; i++) {
+ StrBuf->Printf(&buf, ", `card%d`", i);
+ }
+ for (int i = 0; i < MAX_ITEM_OPTIONS; i++) {
+ StrBuf->Printf(&buf, ", `opt_idx%d`, `opt_val%d`", i, i);
+ }
+ StrBuf->Printf(&buf, "FROM `%s` WHERE mail_id = ? ORDER BY `mail_id` ASC", rodex_item_db);
+
+ struct item it = { 0 };
+
+ if (SQL_ERROR == SQL->StmtPrepareStr(stmt_items, StrBuf->Value(&buf))
+ || SQL_ERROR == SQL->StmtBindParam(stmt_items, 0, SQLDT_INT64, &mail_id, sizeof mail_id)
+ ) {
+ SqlStmt_ShowDebug(stmt_items);
+ }
+
+ if (SQL_ERROR == SQL->StmtExecute(stmt_items)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 0, SQLDT_INT, &it.nameid, sizeof it.nameid, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 1, SQLDT_SHORT, &it.amount, sizeof it.amount, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 2, SQLDT_UINT, &it.equip, sizeof it.equip, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 3, SQLDT_CHAR, &it.identify, sizeof it.identify, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 4, SQLDT_CHAR, &it.refine, sizeof it.refine, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 5, SQLDT_CHAR, &it.attribute, sizeof it.attribute, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 6, SQLDT_UINT, &it.expire_time, sizeof it.expire_time, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 7, SQLDT_UCHAR, &it.bound, sizeof it.bound, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 8, SQLDT_UINT64, &it.unique_id, sizeof it.unique_id, NULL, NULL)
+ ) {
+ SqlStmt_ShowDebug(stmt_items);
+ }
+ for (int i = 0; i < MAX_SLOTS; i++) {
+ if (SQL_ERROR == SQL->StmtBindColumn(stmt_items, 9 + i, SQLDT_INT, &it.card[i], sizeof it.card[i], NULL, NULL))
+ SqlStmt_ShowDebug(stmt_items);
+ }
+ for (int i = 0; i < MAX_ITEM_OPTIONS; i++) {
+ if (SQL_ERROR == SQL->StmtBindColumn(stmt_items, 9 + MAX_SLOTS + i * 2, SQLDT_INT16, &it.option[i].index, sizeof it.option[i].index, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt_items, 10 + MAX_SLOTS + i * 2, SQLDT_INT16, &it.option[i].value, sizeof it.option[i].value, NULL, NULL)
+ ) {
+ SqlStmt_ShowDebug(stmt_items);
+ }
+ }
+
+ for (int i = 0; i < RODEX_MAX_ITEM && SQL_SUCCESS == SQL->StmtNextRow(stmt_items); ++i) {
+ items[i].item = it;
+ items[i].idx = itemsCount;
+ itemsCount++;
+ }
+
+ SQL->StmtFreeResult(stmt_items);
+
+ StrBuf->Destroy(&buf);
+ SQL->StmtFree(stmt_items);
+
+ return itemsCount;
+}
+
/*==========================================
* Update/Delete mail
*------------------------------------------*/
-static bool inter_rodex_updatemail(int64 mail_id, int8 flag)
+static bool inter_rodex_updatemail(int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag)
{
+ Assert_retr(false, fd >= 0);
+ Assert_retr(false, account_id > 0);
+ Assert_retr(false, char_id > 0);
Assert_retr(false, mail_id > 0);
Assert_retr(false, flag >= 0 && flag <= 4);
@@ -361,17 +478,24 @@ static bool inter_rodex_updatemail(int64 mail_id, int8 flag)
break;
case 1: // Get Zeny
- if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `zeny` = 0, `type` = `type` & (~2) WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
+ {
+ const int64 zeny = inter_rodex->getzeny(mail_id);
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `zeny` = 0, `type` = `type` & (~2) WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id)) {
Sql_ShowDebug(inter->sql_handle);
+ break;
+ }
+ mapif->rodex_getzenyack(fd, char_id, mail_id, opentype, zeny);
break;
-
+ }
case 2: // Get Items
+ {
+ struct rodex_item items[RODEX_MAX_ITEM];
+ const int count = inter_rodex->getitems(mail_id, &items[0]);
if (SQL_ERROR == SQL->Query(inter->sql_handle, "DELETE FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_item_db, mail_id))
Sql_ShowDebug(inter->sql_handle);
- if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `zeny` = 0, `type` = `type` & (~4) WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
- Sql_ShowDebug(inter->sql_handle);
+ mapif->rodex_getitemsack(fd, char_id, mail_id, opentype, count, &items[0]);
break;
-
+ }
case 3: // Delete Mail
if (SQL_ERROR == SQL->Query(inter->sql_handle, "DELETE FROM `%s` WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
Sql_ShowDebug(inter->sql_handle);
@@ -429,4 +553,6 @@ void inter_rodex_defaults(void)
inter_rodex->hasnew = inter_rodex_hasnew;
inter_rodex->checkname = inter_rodex_checkname;
inter_rodex->updatemail = inter_rodex_updatemail;
+ inter_rodex->getzeny = inter_rodex_getzeny;
+ inter_rodex->getitems = inter_rodex_getitems;
}
diff --git a/src/char/int_rodex.h b/src/char/int_rodex.h
index 43e2d891c..a6a172ceb 100644
--- a/src/char/int_rodex.h
+++ b/src/char/int_rodex.h
@@ -34,9 +34,11 @@ struct inter_rodex_interface {
int (*parse_frommap) (int fd);
int (*fromsql) (int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails);
bool (*hasnew) (int char_id, int account_id);
- bool (*checkname) (const char *name, int *target_char_id, short *target_class, int *target_level);
+ bool (*checkname) (const char *name, int *target_char_id, int *target_class, int *target_level);
int64 (*savemessage) (struct rodex_message* msg);
- bool (*updatemail) (int64 mail_id, int8 flag);
+ bool (*updatemail) (int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag);
+ int64 (*getzeny) (int64 mail_id);
+ int (*getitems) (int64 mail_id, struct rodex_item *items);
};
#ifdef HERCULES_CORE
diff --git a/src/char/inter.c b/src/char/inter.c
index 418c9b0a1..264327289 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -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,19, 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]
- 52,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3080-
- -1,10,-1, 6, 0, 20,10,11, -1,6 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, // 3090- Homunculus packets [albator], RoDEX packets
+ 56,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3080-
+ -1,10,-1, 6, 0, 20,10,20, -1,6 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, // 3090- Homunculus packets [albator], RoDEX packets
};
-static struct DBMap *wis_db = NULL; // int wis_id -> struct WisData*
-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..f97c619c0 100644
--- a/src/char/inter.h
+++ b/src/char/inter.h
@@ -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/mapif.c b/src/char/mapif.c
index dc5735550..29be4eaa2 100644
--- a/src/char/mapif.c
+++ b/src/char/mapif.c
@@ -569,7 +569,7 @@ static int mapif_guild_withdraw(int guild_id, int account_id, int char_id, int f
// Send short member's info
static int mapif_guild_memberinfoshort(struct guild *g, int idx)
{
- unsigned char buf[23];
+ unsigned char buf[25];
nullpo_ret(g);
Assert_ret(idx >= 0 && idx < MAX_GUILD);
WBUFW(buf, 0) = 0x3835;
@@ -578,9 +578,9 @@ static int mapif_guild_memberinfoshort(struct guild *g, int idx)
WBUFL(buf, 10) = g->member[idx].char_id;
WBUFB(buf, 14) = (unsigned char)g->member[idx].online;
WBUFW(buf, 15) = g->member[idx].lv;
- WBUFW(buf, 17) = g->member[idx].class;
- WBUFL(buf, 19) = g->member[idx].last_login;
- mapif->sendall(buf, 23);
+ WBUFL(buf, 17) = g->member[idx].class;
+ WBUFL(buf, 21) = g->member[idx].last_login;
+ mapif->sendall(buf, 25);
return 0;
}
@@ -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)
{
@@ -797,7 +781,7 @@ static int mapif_parse_GuildLeave(int fd, int guild_id, int account_id, int char
}
// Change member info
-static int mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class)
+static int mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int class)
{
inter_guild->update_member_info_short(guild_id, account_id, char_id, online, lv, class);
return 0;
@@ -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))
@@ -1423,18 +1381,18 @@ static int mapif_parse_PartyLeaderChange(int fd, int party_id, int account_id, i
static int mapif_pet_created(int fd, int account_id, struct s_pet *p)
{
- WFIFOHEAD(fd, 12);
+ WFIFOHEAD(fd, 14);
WFIFOW(fd, 0) = 0x3880;
WFIFOL(fd, 2) = account_id;
if (p != NULL){
- WFIFOW(fd, 6) = p->class_;
- WFIFOL(fd, 8) = p->pet_id;
+ WFIFOL(fd, 6) = p->class_;
+ WFIFOL(fd, 10) = p->pet_id;
ShowInfo("int_pet: created pet %d - %s\n", p->pet_id, p->name);
} else {
- WFIFOB(fd, 6) = 0;
- WFIFOL(fd, 8) = 0;
+ WFIFOL(fd, 6) = 0;
+ WFIFOL(fd, 10) = 0;
}
- WFIFOSET(fd, 12);
+ WFIFOSET(fd, 14);
return 0;
}
@@ -1521,15 +1479,15 @@ static int mapif_parse_CreatePet(int fd)
account_id = RFIFOL(fd, 2);
pet = inter_pet->create(account_id,
RFIFOL(fd, 6),
- RFIFOW(fd, 10),
- RFIFOW(fd, 12),
+ RFIFOL(fd, 10),
RFIFOL(fd, 14),
RFIFOL(fd, 18),
- RFIFOW(fd, 22),
- RFIFOW(fd, 24),
- RFIFOB(fd, 26),
- RFIFOB(fd, 27),
- RFIFOP(fd, 28));
+ RFIFOL(fd, 22),
+ RFIFOW(fd, 26),
+ RFIFOW(fd, 28),
+ RFIFOB(fd, 30),
+ RFIFOB(fd, 31),
+ RFIFOP(fd, 32));
if (pet != NULL)
mapif->pet_created(fd, account_id, pet);
@@ -1744,10 +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);
}
/*==========================================
@@ -1789,7 +1750,7 @@ static void mapif_parse_rodex_checkname(int fd)
int reqchar_id = RFIFOL(fd, 2);
char name[NAME_LENGTH];
int target_char_id, target_level;
- short target_class;
+ int target_class;
safestrncpy(name, RFIFOP(fd, 6), NAME_LENGTH);
@@ -1799,20 +1760,20 @@ static void mapif_parse_rodex_checkname(int fd)
mapif->rodex_checkname(fd, reqchar_id, 0, 0, 0, name);
}
-static void mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name)
+static void mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name)
{
nullpo_retv(name);
Assert_retv(reqchar_id > 0);
Assert_retv(target_char_id >= 0);
- WFIFOHEAD(fd, 16 + NAME_LENGTH);
+ WFIFOHEAD(fd, 18 + NAME_LENGTH);
WFIFOW(fd, 0) = 0x3898;
WFIFOL(fd, 2) = reqchar_id;
WFIFOL(fd, 6) = target_char_id;
- WFIFOW(fd, 10) = target_class;
- WFIFOL(fd, 12) = target_level;
- safestrncpy(WFIFOP(fd, 16), name, NAME_LENGTH);
- WFIFOSET(fd, 16 + NAME_LENGTH);
+ WFIFOL(fd, 10) = target_class;
+ WFIFOL(fd, 14) = target_level;
+ safestrncpy(WFIFOP(fd, 18), name, NAME_LENGTH);
+ WFIFOSET(fd, 18 + NAME_LENGTH);
}
static int mapif_load_guild_storage(int fd, int account_id, int guild_id, char flag)
@@ -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 bfdefe4ea..f5b54b6b7 100644
--- a/src/char/mapif.h
+++ b/src/char/mapif.h
@@ -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);
@@ -84,9 +83,8 @@ struct mapif_interface {
int (*parse_GuildInfo) (int fd, int guild_id);
int (*parse_GuildAddMember) (int fd, int guild_id, const struct guild_member *m);
int (*parse_GuildLeave) (int fd, int guild_id, int account_id, int char_id, int flag, const char *mes);
- int (*parse_GuildChangeMemberInfoShort) (int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*parse_GuildChangeMemberInfoShort) (int fd, int guild_id, int account_id, int char_id, int online, int lv, int class);
int (*parse_BreakGuild) (int fd, int guild_id);
- int (*parse_GuildMessage) (int fd, int guild_id, int account_id, const char *mes, int len);
int (*parse_GuildBasicInfoChange) (int fd, int guild_id, int type, const void *data, int len);
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);
@@ -167,7 +163,9 @@ struct mapif_interface {
void (*parse_rodex_send) (int fd);
void (*rodex_send) (int fd, int sender_id, int receiver_id, int receiver_accountid, bool result);
void (*parse_rodex_checkname) (int fd);
- void (*rodex_checkname) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name);
+ void (*rodex_checkname) (int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name);
+ void (*rodex_getzenyack) (int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny);
+ void (*rodex_getitemsack) (int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items);
int (*load_guild_storage) (int fd, int account_id, int guild_id, char flag);
int (*save_guild_storage_ack) (int fd, int account_id, int guild_id, int fail);
int (*parse_LoadGuildStorage) (int fd);
@@ -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
new file mode 100644
index 000000000..196493cac
--- /dev/null
+++ b/src/char/packets_hc_struct.h
@@ -0,0 +1,45 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2016-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef CHAR_PACKETS_HC_STRUCT_H
+#define CHAR_PACKETS_HC_STRUCT_H
+
+#include "common/hercules.h"
+#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
+
+/* Packets Structs */
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(push, 1)
+#endif // not NetBSD < 6 / Solaris
+
+#if PACKETVER_MAIN_NUM >= 20130522 || PACKETVER_RE_NUM >= 20130327 || defined(PACKETVER_ZERO)
+struct PACKET_HC_ACK_CHARINFO_PER_PAGE {
+ int16 packetId;
+ int16 packetLen;
+ // chars list[]
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(HC_ACK_CHARINFO_PER_PAGE, 0x099d);
+#endif
+
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(pop)
+#endif // not NetBSD < 6 / Solaris
+
+#endif // CHAR_PACKETS_HC_STRUCT_H
diff --git a/src/common/HPM.c b/src/common/HPM.c
index 014c947b6..479135767 100644
--- a/src/common/HPM.c
+++ b/src/common/HPM.c
@@ -30,6 +30,7 @@
#include "common/memmgr.h"
#include "common/mapindex.h"
#include "common/mmo.h"
+#include "common/packets.h"
#include "common/showmsg.h"
#include "common/socket.h"
#include "common/sql.h"
@@ -186,6 +187,10 @@ static bool hplugins_addpacket(unsigned short cmd, unsigned short length, void (
packet->len = length;
packet->receive = receive;
+ if (cmd <= MAX_PACKET_DB && cmd >= MIN_PACKET_DB) {
+ packets->db[cmd] = length;
+ }
+
return true;
}
@@ -453,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;
@@ -494,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/HPMDataCheck.h b/src/common/HPMDataCheck.h
index f5875fe11..75dac2071 100644
--- a/src/common/HPMDataCheck.h
+++ b/src/common/HPMDataCheck.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2014-2018 Hercules Dev Team
+ * Copyright (C) 2014-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 },
@@ -256,6 +256,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define COMMON_NULLPO_H
#endif // COMMON_NULLPO_H
+ #ifdef COMMON_PACKETS_H
+ { "packets_interface", sizeof(struct packets_interface), SERVER_TYPE_ALL },
+ #else
+ #define COMMON_PACKETS_H
+ #endif // COMMON_PACKETS_H
#ifdef COMMON_RANDOM_H
{ "rnd_interface", sizeof(struct rnd_interface), SERVER_TYPE_ALL },
#else
@@ -341,21 +346,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#ifdef LOGIN_LCLIF_P_H
{ "lclif_interface_dbs", sizeof(struct lclif_interface_dbs), SERVER_TYPE_LOGIN },
{ "lclif_interface_private", sizeof(struct lclif_interface_private), SERVER_TYPE_LOGIN },
- { "packet_AC_ACCEPT_LOGIN", sizeof(struct packet_AC_ACCEPT_LOGIN), SERVER_TYPE_LOGIN },
- { "packet_AC_REFUSE_LOGIN", sizeof(struct packet_AC_REFUSE_LOGIN), SERVER_TYPE_LOGIN },
- { "packet_AC_REFUSE_LOGIN_R2", sizeof(struct packet_AC_REFUSE_LOGIN_R2), SERVER_TYPE_LOGIN },
- { "packet_CA_CHARSERVERCONNECT", sizeof(struct packet_CA_CHARSERVERCONNECT), SERVER_TYPE_LOGIN },
- { "packet_CA_CONNECT_INFO_CHANGED", sizeof(struct packet_CA_CONNECT_INFO_CHANGED), SERVER_TYPE_LOGIN },
- { "packet_CA_EXE_HASHCHECK", sizeof(struct packet_CA_EXE_HASHCHECK), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN", sizeof(struct packet_CA_LOGIN), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN2", sizeof(struct packet_CA_LOGIN2), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN3", sizeof(struct packet_CA_LOGIN3), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN4", sizeof(struct packet_CA_LOGIN4), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN_HAN", sizeof(struct packet_CA_LOGIN_HAN), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN_OTP", sizeof(struct packet_CA_LOGIN_OTP), SERVER_TYPE_LOGIN },
- { "packet_CA_LOGIN_PCBANG", sizeof(struct packet_CA_LOGIN_PCBANG), SERVER_TYPE_LOGIN },
- { "packet_CA_SSO_LOGIN_REQ", sizeof(struct packet_CA_SSO_LOGIN_REQ), SERVER_TYPE_LOGIN },
- { "packet_SC_NOTIFY_BAN", sizeof(struct packet_SC_NOTIFY_BAN), SERVER_TYPE_LOGIN },
#else
#define LOGIN_LCLIF_P_H
#endif // LOGIN_LCLIF_P_H
@@ -378,6 +368,29 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define LOGIN_LOGIN_H
#endif // LOGIN_LOGIN_H
+ #ifdef LOGIN_PACKETS_AC_STRUCT_H
+ { "PACKET_AC_ACCEPT_LOGIN", sizeof(struct PACKET_AC_ACCEPT_LOGIN), SERVER_TYPE_LOGIN },
+ { "PACKET_AC_REFUSE_LOGIN", sizeof(struct PACKET_AC_REFUSE_LOGIN), SERVER_TYPE_LOGIN },
+ { "PACKET_AC_REFUSE_LOGIN_R2", sizeof(struct PACKET_AC_REFUSE_LOGIN_R2), SERVER_TYPE_LOGIN },
+ { "PACKET_SC_NOTIFY_BAN", sizeof(struct PACKET_SC_NOTIFY_BAN), SERVER_TYPE_LOGIN },
+ #else
+ #define LOGIN_PACKETS_AC_STRUCT_H
+ #endif // LOGIN_PACKETS_AC_STRUCT_H
+ #ifdef LOGIN_PACKETS_CA_STRUCT_H
+ { "PACKET_CA_CHARSERVERCONNECT", sizeof(struct PACKET_CA_CHARSERVERCONNECT), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_CONNECT_INFO_CHANGED", sizeof(struct PACKET_CA_CONNECT_INFO_CHANGED), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_EXE_HASHCHECK", sizeof(struct PACKET_CA_EXE_HASHCHECK), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN", sizeof(struct PACKET_CA_LOGIN), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN2", sizeof(struct PACKET_CA_LOGIN2), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN3", sizeof(struct PACKET_CA_LOGIN3), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN4", sizeof(struct PACKET_CA_LOGIN4), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN_HAN", sizeof(struct PACKET_CA_LOGIN_HAN), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN_OTP", sizeof(struct PACKET_CA_LOGIN_OTP), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_LOGIN_PCBANG", sizeof(struct PACKET_CA_LOGIN_PCBANG), SERVER_TYPE_LOGIN },
+ { "PACKET_CA_SSO_LOGIN_REQ", sizeof(struct PACKET_CA_SSO_LOGIN_REQ), SERVER_TYPE_LOGIN },
+ #else
+ #define LOGIN_PACKETS_CA_STRUCT_H
+ #endif // LOGIN_PACKETS_CA_STRUCT_H
#ifdef MAP_ACHIEVEMENT_H
{ "achievement_data", sizeof(struct achievement_data), SERVER_TYPE_MAP },
{ "achievement_interface", sizeof(struct achievement_interface), SERVER_TYPE_MAP },
@@ -445,12 +458,13 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#endif // MAP_CLAN_H
#ifdef MAP_CLIF_H
{ "attendance_entry", sizeof(struct attendance_entry), SERVER_TYPE_MAP },
+ { "barter_itemlist_entry", sizeof(struct barter_itemlist_entry), SERVER_TYPE_MAP },
+ { "barteritemlist", sizeof(struct barteritemlist), SERVER_TYPE_MAP },
{ "cdelayed_damage", sizeof(struct cdelayed_damage), SERVER_TYPE_MAP },
{ "clif_interface", sizeof(struct clif_interface), SERVER_TYPE_MAP },
{ "hCSData", sizeof(struct hCSData), SERVER_TYPE_MAP },
{ "merge_item", sizeof(struct merge_item), SERVER_TYPE_MAP },
{ "s_packet_db", sizeof(struct s_packet_db), SERVER_TYPE_MAP },
- { "stylist_data_entry", sizeof(struct stylist_data_entry), SERVER_TYPE_MAP },
#else
#define MAP_CLIF_H
#endif // MAP_CLIF_H
@@ -511,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 },
@@ -556,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
@@ -576,8 +588,12 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "mob_chat", sizeof(struct mob_chat), SERVER_TYPE_MAP },
{ "mob_data", sizeof(struct mob_data), SERVER_TYPE_MAP },
{ "mob_db", sizeof(struct mob_db), SERVER_TYPE_MAP },
+ { "mob_drop", sizeof(struct mob_drop), SERVER_TYPE_MAP },
{ "mob_interface", sizeof(struct mob_interface), SERVER_TYPE_MAP },
{ "mob_skill", sizeof(struct mob_skill), SERVER_TYPE_MAP },
+ { "optdrop_group", sizeof(struct optdrop_group), SERVER_TYPE_MAP },
+ { "optdrop_group_option", sizeof(struct optdrop_group_option), SERVER_TYPE_MAP },
+ { "optdrop_group_optslot", sizeof(struct optdrop_group_optslot), SERVER_TYPE_MAP },
{ "spawn_info", sizeof(struct spawn_info), SERVER_TYPE_MAP },
#else
#define MAP_MOB_H
@@ -609,6 +625,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_CZ_CHECKNAME", sizeof(struct PACKET_CZ_CHECKNAME), SERVER_TYPE_MAP },
{ "PACKET_CZ_MEMORIALDUNGEON_COMMAND", sizeof(struct PACKET_CZ_MEMORIALDUNGEON_COMMAND), SERVER_TYPE_MAP },
{ "PACKET_CZ_OPEN_UI", sizeof(struct PACKET_CZ_OPEN_UI), SERVER_TYPE_MAP },
+ { "PACKET_CZ_PARTY_CONFIG", sizeof(struct PACKET_CZ_PARTY_CONFIG), SERVER_TYPE_MAP },
{ "PACKET_CZ_PC_BUY_CASH_POINT_ITEM", sizeof(struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM), SERVER_TYPE_MAP },
{ "PACKET_CZ_PC_BUY_CASH_POINT_ITEM_sub", sizeof(struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM_sub), SERVER_TYPE_MAP },
{ "PACKET_CZ_PC_PURCHASE_ITEMLIST", sizeof(struct PACKET_CZ_PC_PURCHASE_ITEMLIST), SERVER_TYPE_MAP },
@@ -626,6 +643,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_CZ_REQ_OPEN_WRITE_MAIL", sizeof(struct PACKET_CZ_REQ_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_READ_MAIL", sizeof(struct PACKET_CZ_REQ_READ_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_REFRESH_MAIL_LIST", sizeof(struct PACKET_CZ_REQ_REFRESH_MAIL_LIST), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_REMAINTIME", sizeof(struct PACKET_CZ_REQ_REMAINTIME), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_REMOVE_ITEM_MAIL", sizeof(struct PACKET_CZ_REQ_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_STYLE_CHANGE", sizeof(struct PACKET_CZ_REQ_STYLE_CHANGE), SERVER_TYPE_MAP },
{ "PACKET_CZ_REQ_STYLE_CHANGE2", sizeof(struct PACKET_CZ_REQ_STYLE_CHANGE2), SERVER_TYPE_MAP },
@@ -648,8 +666,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 },
@@ -660,10 +683,12 @@ 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_BAN_LIST", sizeof(struct PACKET_ZC_BAN_LIST), SERVER_TYPE_MAP },
+ { "PACKET_ZC_BAN_LIST_sub", sizeof(struct PACKET_ZC_BAN_LIST_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_CASH_ITEM_DELETE", sizeof(struct PACKET_ZC_CASH_ITEM_DELETE), SERVER_TYPE_MAP },
{ "PACKET_ZC_CASH_TIME_COUNTER", sizeof(struct PACKET_ZC_CASH_TIME_COUNTER), SERVER_TYPE_MAP },
{ "PACKET_ZC_CHECKNAME", sizeof(struct PACKET_ZC_CHECKNAME), SERVER_TYPE_MAP },
- { "PACKET_ZC_CLANINFO", sizeof(struct PACKET_ZC_CLANINFO), SERVER_TYPE_MAP },
{ "PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER", sizeof(struct PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER), SERVER_TYPE_MAP },
{ "PACKET_ZC_FEED_MER", sizeof(struct PACKET_ZC_FEED_MER), SERVER_TYPE_MAP },
{ "PACKET_ZC_FEED_PET", sizeof(struct PACKET_ZC_FEED_PET), SERVER_TYPE_MAP },
@@ -694,6 +719,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 },
@@ -705,23 +731,28 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_PC_PURCHASE_MYITEMLIST", sizeof(struct PACKET_ZC_PC_PURCHASE_MYITEMLIST), SERVER_TYPE_MAP },
{ "PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub", sizeof(struct PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE", sizeof(struct PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE), SERVER_TYPE_MAP },
- { "PACKET_ZC_PROPERTY_HOMUN", sizeof(struct PACKET_ZC_PROPERTY_HOMUN), SERVER_TYPE_MAP },
{ "PACKET_ZC_READ_MAIL", sizeof(struct PACKET_ZC_READ_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_REMOVE_EFFECT", sizeof(struct PACKET_ZC_REMOVE_EFFECT), SERVER_TYPE_MAP },
{ "PACKET_ZC_REPAIRITEMLIST", sizeof(struct PACKET_ZC_REPAIRITEMLIST), SERVER_TYPE_MAP },
{ "PACKET_ZC_REPAIRITEMLIST_sub", sizeof(struct PACKET_ZC_REPAIRITEMLIST_sub), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ROLE_CHANGE", sizeof(struct PACKET_ZC_ROLE_CHANGE), SERVER_TYPE_MAP },
+ { "PACKET_ZC_SE_CASHSHOP_OPEN", sizeof(struct PACKET_ZC_SE_CASHSHOP_OPEN), 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_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 },
@@ -756,7 +787,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 },
@@ -766,9 +796,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "packet_mission_info_sub", sizeof(struct packet_mission_info_sub), SERVER_TYPE_MAP },
{ "packet_monster_hp", sizeof(struct packet_monster_hp), SERVER_TYPE_MAP },
{ "packet_notify_bounditem", sizeof(struct packet_notify_bounditem), SERVER_TYPE_MAP },
- { "packet_npc_market_open", sizeof(struct packet_npc_market_open), SERVER_TYPE_MAP },
{ "packet_npc_market_purchase", sizeof(struct packet_npc_market_purchase), SERVER_TYPE_MAP },
- { "packet_npc_market_result_ack", sizeof(struct packet_npc_market_result_ack), SERVER_TYPE_MAP },
{ "packet_package_item_announce", sizeof(struct packet_package_item_announce), SERVER_TYPE_MAP },
{ "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 },
@@ -780,7 +808,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 },
@@ -866,9 +893,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
@@ -931,7 +974,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 },
@@ -948,6 +990,12 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define MAP_STORAGE_H
#endif // MAP_STORAGE_H
+ #ifdef MAP_STYLIST_H
+ { "stylist_data_entry", sizeof(struct stylist_data_entry), SERVER_TYPE_MAP },
+ { "stylist_interface", sizeof(struct stylist_interface), SERVER_TYPE_MAP },
+ #else
+ #define MAP_STYLIST_H
+ #endif // MAP_STYLIST_H
#ifdef MAP_TRADE_H
{ "trade_interface", sizeof(struct trade_interface), SERVER_TYPE_MAP },
#else
diff --git a/src/common/HPMSymbols.inc.h b/src/common/HPMSymbols.inc.h
index 15acb1b06..3a6bd3c57 100644
--- a/src/common/HPMSymbols.inc.h
+++ b/src/common/HPMSymbols.inc.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -218,6 +218,9 @@ struct npc_interface *npc;
#ifdef COMMON_NULLPO_H /* nullpo */
struct nullpo_interface *nullpo;
#endif // COMMON_NULLPO_H
+#ifdef COMMON_PACKETS_H /* packets */
+struct packets_interface *packets;
+#endif // COMMON_PACKETS_H
#ifdef MAP_PARTY_H /* party */
struct party_interface *party;
#endif // MAP_PARTY_H
@@ -242,6 +245,9 @@ struct pincode_interface *pincode;
#ifdef MAP_QUEST_H /* quest */
struct quest_interface *quest;
#endif // MAP_QUEST_H
+#ifdef MAP_REFINE_H /* refine */
+struct refine_interface *refine;
+#endif // MAP_REFINE_H
#ifdef COMMON_RANDOM_H /* rnd */
struct rnd_interface *rnd;
#endif // COMMON_RANDOM_H
@@ -278,6 +284,9 @@ struct stringbuf_interface *StrBuf;
#ifdef COMMON_STRLIB_H /* strlib */
struct strlib_interface *strlib;
#endif // COMMON_STRLIB_H
+#ifdef MAP_STYLIST_H /* stylist */
+struct stylist_interface *stylist;
+#endif // MAP_STYLIST_H
#ifdef COMMON_STRLIB_H /* sv */
struct sv_interface *sv;
#endif // COMMON_STRLIB_H
@@ -559,6 +568,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("nullpo", nullpo))
return "nullpo";
#endif // COMMON_NULLPO_H
+#ifdef COMMON_PACKETS_H /* packets */
+ if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("packets", packets))
+ return "packets";
+#endif // COMMON_PACKETS_H
#ifdef MAP_PARTY_H /* party */
if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("party", party))
return "party";
@@ -591,6 +604,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("quest", quest))
return "quest";
#endif // MAP_QUEST_H
+#ifdef MAP_REFINE_H /* refine */
+ if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("refine", refine))
+ return "refine";
+#endif // MAP_REFINE_H
#ifdef COMMON_RANDOM_H /* rnd */
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("rnd", rnd))
return "rnd";
@@ -639,6 +656,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("strlib", strlib))
return "strlib";
#endif // COMMON_STRLIB_H
+#ifdef MAP_STYLIST_H /* stylist */
+ if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("stylist", stylist))
+ return "stylist";
+#endif // MAP_STYLIST_H
#ifdef COMMON_STRLIB_H /* sv */
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("sv", sv))
return "sv";
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index f65138521..708780595 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -38,20 +38,18 @@ MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
COMMON_SHARED_C = conf.c db.c des.c ers.c grfio.c HPM.c mapindex.c md5calc.c \
- mutex.c nullpo.c random.c showmsg.c strlib.c sysinfo.c \
- thread.c timer.c utils.c
+ mutex.c nullpo.c packets.c random.c showmsg.c strlib.c \
+ sysinfo.c thread.c timer.c utils.c
COMMON_C = $(COMMON_SHARED_C)
COMMON_SHARED_OBJ = $(patsubst %.c,%.o,$(COMMON_SHARED_C))
COMMON_OBJ = $(addprefix obj_all/, $(COMMON_SHARED_OBJ) \
console.o core.o memmgr.o socket.o)
-COMMON_MINI_OBJ = $(addprefix obj_all/, $(COMMON_SHARED_OBJ) \
- miniconsole.o minicore.o minimemmgr.o minisocket.o)
COMMON_C += console.c core.c memmgr.c socket.c
COMMON_H = atomic.h cbasetypes.h conf.h console.h core.h db.h des.h ers.h \
grfio.h hercules.h HPM.h HPMi.h memmgr.h mapindex.h md5calc.h \
- mmo.h mutex.h nullpo.h random.h showmsg.h socket.h spinlock.h \
- sql.h strlib.h sysinfo.h thread.h timer.h utils.h winapi.h \
- ../plugins/HPMHooking.h
+ mmo.h mutex.h nullpo.h packets.h packets_len.h random.h showmsg.h \
+ socket.h spinlock.h sql.h strlib.h sysinfo.h thread.h timer.h \
+ utils.h winapi.h ../plugins/HPMHooking.h
COMMON_PH =
COMMON_SQL_OBJ = obj_sql/sql.o
@@ -61,7 +59,7 @@ SYSINFO_INC = sysinfo.inc
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- SQL_DEPENDS=common common_sql common_mini
+ SQL_DEPENDS=common common_sql
else
SQL_DEPENDS=needs_mysql
endif
@@ -72,7 +70,7 @@ CC = @CC@
export CC
#####################################################################
-.PHONY: all sql common common_sql common_mini clean buildclean help
+.PHONY: all sql common common_sql clean buildclean help
all: sql
@@ -119,18 +117,12 @@ obj_all/common.a: $(COMMON_OBJ) Makefile
@echo " AR $@"
@@AR@ rcs obj_all/common.a $(COMMON_OBJ)
-obj_all/common_mini.a: $(COMMON_MINI_OBJ) Makefile
- @echo " AR $@"
- @@AR@ rcs obj_all/common_mini.a $(COMMON_MINI_OBJ)
-
obj_sql/common_sql.a: $(COMMON_SQL_OBJ) Makefile
@echo " AR $@"
@@AR@ rcs obj_sql/common_sql.a $(COMMON_SQL_OBJ)
common: $(COMMON_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) obj_all/common.a Makefile
-common_mini: $(COMMON_MINI_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) obj_all/common_mini.a Makefile
-
common_sql: $(COMMON_SQL_OBJ) obj_sql/common_sql.a Makefile
# missing object files
@@ -150,10 +142,6 @@ obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSIN
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-obj_all/mini%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_all
- @echo " CC $<"
- @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-
obj_sql/%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(COMMON_SQL_H) $(CONFIG_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_sql
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h
index 89f7f8588..c9c189032 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -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..d81a6636b 100644
--- a/src/common/conf.c
+++ b/src/common/conf.c
@@ -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..ccab6dc17 100644
--- a/src/common/conf.h
+++ b/src/common/conf.h
@@ -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 5923775b7..0075ac2a1 100644
--- a/src/common/console.c
+++ b/src/common/console.c
@@ -23,24 +23,21 @@
#include "config/core.h" // CONSOLE_INPUT, MAX_CONSOLE_INPUT
#include "console.h"
+#include "common/atomic.h"
#include "common/cbasetypes.h"
#include "common/core.h"
+#include "common/ers.h"
+#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/mutex.h"
#include "common/nullpo.h"
#include "common/showmsg.h"
+#include "common/spinlock.h"
+#include "common/sql.h"
+#include "common/strlib.h"
#include "common/sysinfo.h"
-
-#ifndef MINICORE
-# include "common/atomic.h"
-# include "common/ers.h"
-# include "common/memmgr.h"
-# include "common/mutex.h"
-# include "common/spinlock.h"
-# include "common/sql.h"
-# include "common/strlib.h"
-# include "common/thread.h"
-# include "common/timer.h"
-#endif
+#include "common/thread.h"
+#include "common/timer.h"
#include <stdio.h>
#include <stdlib.h>
@@ -325,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);
@@ -407,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)) {
@@ -420,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;
}
@@ -447,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/core.c b/src/common/core.c
index 9fd33c4e0..dbd1d2596 100644
--- a/src/common/core.c
+++ b/src/common/core.c
@@ -23,32 +23,30 @@
#include "config/core.h"
#include "core.h"
+#include "common/HPM.h"
#include "common/cbasetypes.h"
+#include "common/conf.h"
#include "common/console.h"
#include "common/db.h"
#include "common/des.h"
+#include "common/ers.h"
#include "common/grfio.h"
+#include "common/md5calc.h"
#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/mutex.h"
#include "common/nullpo.h"
+#include "common/packets.h"
+#include "common/random.h"
#include "common/showmsg.h"
+#include "common/socket.h"
+#include "common/sql.h"
#include "common/strlib.h"
#include "common/sysinfo.h"
+#include "common/thread.h"
#include "common/timer.h"
#include "common/utils.h"
-#ifndef MINICORE
-# include "common/HPM.h"
-# include "common/conf.h"
-# include "common/ers.h"
-# include "common/md5calc.h"
-# include "common/mutex.h"
-# include "common/random.h"
-# include "common/socket.h"
-# include "common/sql.h"
-# include "common/thread.h"
-#endif
-
#ifndef _WIN32
# include <unistd.h>
#else
@@ -83,7 +81,6 @@
static struct core_interface core_s;
struct core_interface *core = &core_s;
-#ifndef MINICORE // minimalist Core
// Added by Gabuzomeu
//
// This is an implementation of signal() using sigaction() for portability.
@@ -196,7 +193,6 @@ static void signals_init(void)
compat_signal(SIGTRAP, SIG_DFL);
#endif
}
-#endif
/**
* Warns the user if executed as superuser (root)
@@ -250,10 +246,8 @@ static bool usercheck(void)
static void core_defaults(void)
{
nullpo_defaults();
-#ifndef MINICORE
hpm_defaults();
HCache_defaults();
-#endif
sysinfo_defaults();
console_defaults();
strlib_defaults();
@@ -262,17 +256,16 @@ static void core_defaults(void)
cmdline_defaults();
des_defaults();
grfio_defaults(); // Note: grfio is lazily loaded. grfio->init() and grfio->final() are not automatically called.
-#ifndef MINICORE
mutex_defaults();
libconfig_defaults();
sql_defaults();
timer_defaults();
db_defaults();
socket_defaults();
+ packets_defaults();
rnd_defaults();
md5_defaults();
thread_defaults();
-#endif
}
/**
@@ -280,12 +273,8 @@ static void core_defaults(void)
*/
static const char *cmdline_arg_source(struct CmdlineArgData *arg)
{
-#ifdef MINICORE
- return "core";
-#else // !MINICORE
nullpo_retr(NULL, arg);
return HPM->pid2name(arg->pluginID);
-#endif // MINICORE
}
/**
@@ -446,15 +435,9 @@ static int cmdline_exec(int argc, char **argv, unsigned int options)
*/
static void cmdline_init(void)
{
-#ifdef MINICORE
- // Minicore has no HPM. This value isn't used, but the arg_add function requires it, so we're (re)defining it here
-#define HPM_PID_CORE ((unsigned int)-1)
-#endif
CMDLINEARG_DEF(help, 'h', "Displays this help screen", CMDLINE_OPT_NORMAL);
CMDLINEARG_DEF(version, 'v', "Displays the server's version.", CMDLINE_OPT_NORMAL);
-#ifndef MINICORE
CMDLINEARG_DEF2(load-plugin, loadplugin, "Loads an additional plugin (can be repeated).", CMDLINE_OPT_PARAM|CMDLINE_OPT_PREINIT);
-#endif // !MINICORE
cmdline_args_init_local();
}
@@ -521,10 +504,6 @@ int main(int argc, char **argv)
if (!usercheck())
return EXIT_FAILURE;
-#ifdef MINICORE // minimalist Core
- do_init(argc,argv);
- do_final();
-#else// not MINICORE
set_server_type();
Sql_Init();
@@ -549,6 +528,8 @@ int main(int argc, char **argv)
sockt->init();
+ packets->init();
+
do_init(argc,argv);
// Main runtime cycle
@@ -562,12 +543,12 @@ int main(int argc, char **argv)
retval = do_final();
HPM->final();
timer->final();
+ packets->final();
sockt->final();
DB->final();
thread->final();
ers_final();
rnd->final();
-#endif
cmdline->final();
//sysinfo->final(); Called by iMalloc->final()
diff --git a/src/common/mapindex.c b/src/common/mapindex.c
index d5cda5c22..f6097bb06 100644
--- a/src/common/mapindex.c
+++ b/src/common/mapindex.c
@@ -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..b7e02447d 100644
--- a/src/common/mapindex.h
+++ b/src/common/mapindex.h
@@ -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/memmgr.h b/src/common/memmgr.h
index 90c35f244..c7147cc5e 100644
--- a/src/common/memmgr.h
+++ b/src/common/memmgr.h
@@ -42,11 +42,6 @@
// Enable memory manager logging by default
#define LOG_MEMMGR
-// no logging for minicore
-#if defined(MINICORE) && defined(LOG_MEMMGR)
- #undef LOG_MEMMGR
-#endif
-
# define aMalloc(n) (iMalloc->malloc((n),ALC_MARK))
# define aCalloc(m,n) (iMalloc->calloc((m),(n),ALC_MARK))
# define aRealloc(p,n) (iMalloc->realloc((p),(n),ALC_MARK))
diff --git a/src/common/mmo.h b/src/common/mmo.h
index d6946cecc..ed74f11df 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -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
@@ -165,7 +176,22 @@
#endif
#define MAX_CARTS (MAX_BASE_CARTS + MAX_CARTDECORATION_CARTS)
+#ifndef MAX_INVENTORY
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+#define MAX_INVENTORY 200
+#else
#define MAX_INVENTORY 100
+#endif // PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+#endif // MAX_INVENTORY
+
+#ifndef FIXED_INVENTORY_SIZE
+#define FIXED_INVENTORY_SIZE 100
+#endif
+
+#if FIXED_INVENTORY_SIZE > MAX_INVENTORY
+#error FIXED_INVENTORY_SIZE must be same or smaller than MAX_INVENTORY
+#endif
+
//Max number of characters per account. Note that changing this setting alone is not enough if the client is not hexed to support more characters as well.
#if PACKETVER >= 20100413
#ifndef MAX_CHARS
@@ -472,6 +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 {
@@ -553,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 {
@@ -575,7 +603,7 @@ struct s_pet {
int account_id;
int char_id;
int pet_id;
- short class_;
+ int class_;
short level;
int egg_id;//pet egg id
int equip;//pet equip name_id
@@ -591,8 +619,8 @@ struct s_homunculus { //[orn]
char name[NAME_LENGTH];
int hom_id;
int char_id;
- short class_;
- short prev_class;
+ int class_;
+ int prev_class;
int hp,max_hp,sp,max_sp;
unsigned int intimacy;
short hunger;
@@ -623,7 +651,7 @@ struct s_homunculus { //[orn]
struct s_mercenary {
int mercenary_id;
int char_id;
- short class_;
+ int class_;
int hp, sp;
unsigned int kill_count;
unsigned int life_time;
@@ -632,7 +660,7 @@ struct s_mercenary {
struct s_elemental {
int elemental_id;
int char_id;
- short class_;
+ int class_;
uint32 mode;
int hp, sp, max_hp, max_sp, matk, atk, atk2;
short hit, flee, amotion, def, mdef;
@@ -675,7 +703,7 @@ struct mmo_charstatus {
int zeny;
int bank_vault;
- int16 class;
+ int class;
int status_point, skill_point;
int hp,max_hp,sp,max_sp;
unsigned int option;
@@ -710,14 +738,17 @@ struct mmo_charstatus {
int64 last_login;
struct point last_point,save_point,memo_point[MAX_MEMOPOINTS];
+ int inventorySize;
struct item inventory[MAX_INVENTORY],cart[MAX_CART];
struct s_skill skill[MAX_SKILL_DB];
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;
@@ -734,6 +765,7 @@ struct mmo_charstatus {
short attendance_count;
unsigned char hotkey_rowshift;
+ unsigned char hotkey_rowshift2;
int32 title_id; // Achievement Title[Dastgir/Hercules]
};
@@ -789,7 +821,7 @@ struct party_member {
int account_id;
int char_id;
char name[NAME_LENGTH];
- int16 class;
+ int class;
unsigned short map;
unsigned short lv;
unsigned leader : 1,
@@ -809,7 +841,7 @@ struct map_session_data;
struct guild_member {
int account_id, char_id;
short hair,hair_color,gender;
- int16 class;
+ int class;
short lv;
uint64 exp;
int exp_payper;
@@ -837,6 +869,7 @@ struct guild_expulsion {
char name[NAME_LENGTH];
char mes[40];
int account_id;
+ int char_id;
};
struct guild_skill {
@@ -875,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;
@@ -959,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;
@@ -968,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;
@@ -1331,7 +1374,8 @@ enum questinfo_type {
QINFO_ITEM,
QINFO_HOMUN_LEVEL,
QINFO_HOMUN_TYPE,
- QINFO_QUEST
+ QINFO_QUEST,
+ QINFO_MERCENARY_CLASS
};
/* packet size constant for itemlist */
@@ -1343,6 +1387,10 @@ enum questinfo_type {
#define MAX_ITEMLIST MAX_STORAGE
#endif
+#ifndef MAX_REFINE_REQUIREMENTS
+ #define MAX_REFINE_REQUIREMENTS 4
+#endif
+
// sanity checks...
#if MAX_ZENY > INT_MAX
#error MAX_ZENY is too big
@@ -1356,4 +1404,8 @@ enum questinfo_type {
#error MAX_SKILL has been replaced by MAX_SKILL_DB. Please update your custom definitions.
#endif
+#if MAX_REFINE_REQUIREMENTS > 4
+#error MAX_REFINE_REQUIREMENTS is bigger than allowed, this is a hardcoded limit in the client
+#endif
+
#endif /* COMMON_MMO_H */
diff --git a/src/common/packets.c b/src/common/packets.c
new file mode 100644
index 000000000..429418e0a
--- /dev/null
+++ b/src/common/packets.c
@@ -0,0 +1,64 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#define HERCULES_CORE
+
+#include "config/core.h" // CONSOLE_INPUT, MAX_CONSOLE_INPUT
+#include "common/packets.h"
+
+#include "common/cbasetypes.h"
+#include "common/mmo.h"
+#include "common/nullpo.h"
+
+#include <string.h>
+
+static struct packets_interface packets_s;
+struct packets_interface *packets;
+
+static void packets_init(void)
+{
+ packets->addLens();
+}
+
+static void packets_addLens(void)
+{
+#define packetLen(id, len) packets->addLen(id, len);
+#include "common/packets_len.h"
+}
+
+static void packets_addLen(int id, int len)
+{
+ Assert_retv(id <= MAX_PACKET_DB && id >= MIN_PACKET_DB);
+ packets->db[id] = len;
+}
+
+static void packets_final(void)
+{
+}
+
+void packets_defaults(void)
+{
+ packets = &packets_s;
+ packets->init = packets_init;
+ packets->final = packets_final;
+ packets->addLens = packets_addLens;
+ packets->addLen = packets_addLen;
+
+ memset(&packets->db, 0, sizeof(packets->db));
+}
diff --git a/src/common/packets.h b/src/common/packets.h
new file mode 100644
index 000000000..83c92c7fa
--- /dev/null
+++ b/src/common/packets.h
@@ -0,0 +1,47 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2013-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETS_H
+#define COMMON_PACKETS_H
+
+#include "common/hercules.h"
+
+#ifndef MIN_PACKET_DB
+#define MIN_PACKET_DB 0x0064
+#endif
+
+#ifndef MAX_PACKET_DB
+#define MAX_PACKET_DB 0x0F00
+#endif
+
+struct packets_interface {
+ void (*init) (void);
+ void (*final) (void);
+ void (*addLens) (void);
+ void (*addLen) (int id, int len);
+ int db[MAX_PACKET_DB + 1];
+};
+
+#ifdef HERCULES_CORE
+void packets_defaults(void);
+#endif // HERCULES_CORE
+
+HPShared struct packets_interface *packets;
+
+#endif /* COMMON_PACKETS_H */
diff --git a/src/common/packets/packets2003_len_main.h b/src/common/packets/packets2003_len_main.h
new file mode 100644
index 000000000..beed1fb67
--- /dev/null
+++ b/src/common/packets/packets2003_len_main.h
@@ -0,0 +1,1258 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2003_LEN_MAIN_H
+#define COMMON_PACKETS2003_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 19)
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+packetLen(0x007e, 6)
+
+// 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, 5)
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 7)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, -1)
+
+// 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, 6)
+
+// 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, 5)
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 6)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+packetLen(0x00a2, 6)
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 8)
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+packetLen(0x00f7, 2)
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2)
+
+// Packet: 0x00f9
+#if PACKETVER >= 20031117
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20031110
+packetLen(0x00f9, 28)
+#elif PACKETVER >= 20031028
+packetLen(0x00f9, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20031117
+packetLen(0x0104, 79)
+#elif PACKETVER >= 20031110
+packetLen(0x0104, 81)
+#elif PACKETVER >= 20031028
+packetLen(0x0104, 79)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+packetLen(0x0113, 10)
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 10)
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 90)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 6)
+
+// 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, 4)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// 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, 8)
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20031110
+packetLen(0x01e6, 26)
+#elif PACKETVER >= 20031028
+packetLen(0x01e6, 28)
+#endif
+
+// Packet: 0x01e7
+#if PACKETVER >= 20031110
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20031028
+packetLen(0x01e7, 81)
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20031117
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031028
+packetLen(0x01e8, 26)
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20031117
+packetLen(0x01e9, 81)
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031103
+packetLen(0x01e9, 2)
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20031117
+packetLen(0x01ea, 6)
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20031124
+packetLen(0x01eb, 10)
+#endif
+
+// Packet: 0x01ec
+#if PACKETVER >= 20031124
+packetLen(0x01ec, 26)
+#endif
+
+// Packet: 0x01ed
+#if PACKETVER >= 20031124
+packetLen(0x01ed, 2)
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20031208
+packetLen(0x01ee, -1)
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20031218
+packetLen(0x01ef, -1)
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20031218
+packetLen(0x01f0, -1)
+#endif
+
+// Packet: 0x01f1
+#if PACKETVER >= 20031223
+packetLen(0x01f1, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2003_LEN_MAIN_H */
diff --git a/src/common/packets/packets2003_len_sak.h b/src/common/packets/packets2003_len_sak.h
new file mode 100644
index 000000000..0da973bf4
--- /dev/null
+++ b/src/common/packets/packets2003_len_sak.h
@@ -0,0 +1,1258 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2003_LEN_SAK_H
+#define COMMON_PACKETS2003_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 19)
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+packetLen(0x007e, 6)
+
+// 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, 5)
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 7)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, -1)
+
+// 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, 6)
+
+// 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, 5)
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 6)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+packetLen(0x00a2, 6)
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 8)
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+packetLen(0x00f7, 2)
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2)
+
+// Packet: 0x00f9
+#if PACKETVER >= 20031117
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20031110
+packetLen(0x00f9, 28)
+#elif PACKETVER >= 20031029
+packetLen(0x00f9, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20031117
+packetLen(0x0104, 79)
+#elif PACKETVER >= 20031110
+packetLen(0x0104, 81)
+#elif PACKETVER >= 20031029
+packetLen(0x0104, 79)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+packetLen(0x0113, 10)
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 10)
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 90)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 6)
+
+// 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, 4)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// 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, 8)
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20031110
+packetLen(0x01e6, 26)
+#elif PACKETVER >= 20031029
+packetLen(0x01e6, 28)
+#endif
+
+// Packet: 0x01e7
+#if PACKETVER >= 20031110
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20031029
+packetLen(0x01e7, 81)
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20031117
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031029
+packetLen(0x01e8, 26)
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20031117
+packetLen(0x01e9, 81)
+#elif PACKETVER >= 20031110
+// removed
+#elif PACKETVER >= 20031103
+packetLen(0x01e9, 2)
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20031117
+packetLen(0x01ea, 6)
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20031124
+packetLen(0x01eb, 10)
+#endif
+
+// Packet: 0x01ec
+#if PACKETVER >= 20031124
+packetLen(0x01ec, 26)
+#endif
+
+// Packet: 0x01ed
+#if PACKETVER >= 20031124
+packetLen(0x01ed, 2)
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20031208
+packetLen(0x01ee, -1)
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20031218
+packetLen(0x01ef, -1)
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20031218
+packetLen(0x01f0, -1)
+#endif
+
+// Packet: 0x01f1
+#if PACKETVER >= 20031223
+packetLen(0x01f1, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2003_LEN_SAK_H */
diff --git a/src/common/packets/packets2004_len_ad.h b/src/common/packets/packets2004_len_ad.h
new file mode 100644
index 000000000..05f741dee
--- /dev/null
+++ b/src/common/packets/packets2004_len_ad.h
@@ -0,0 +1,1620 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2004_LEN_AD_H
+#define COMMON_PACKETS2004_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20041129
+packetLen(0x0072, 26)
+#elif PACKETVER >= 20041025
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20041005
+packetLen(0x0072, 15)
+#elif PACKETVER >= 20040920
+packetLen(0x0072, 13)
+#elif PACKETVER >= 20040906
+packetLen(0x0072, 17)
+#elif PACKETVER >= 20040809
+packetLen(0x0072, 10)
+#elif PACKETVER >= 20040804
+packetLen(0x0072, 14)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20041129
+packetLen(0x007e, 34)
+#elif PACKETVER >= 20041005
+packetLen(0x007e, 14)
+#elif PACKETVER >= 20040920
+packetLen(0x007e, 13)
+#elif PACKETVER >= 20040906
+packetLen(0x007e, 15)
+#elif PACKETVER >= 20040809
+packetLen(0x007e, 26)
+#elif PACKETVER >= 20040804
+packetLen(0x007e, 33)
+#endif
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x0085, -1)
+#elif PACKETVER >= 20041025
+packetLen(0x0085, 19)
+#elif PACKETVER >= 20041005
+packetLen(0x0085, 18)
+#elif PACKETVER >= 20040920
+packetLen(0x0085, 15)
+#elif PACKETVER >= 20040906
+packetLen(0x0085, 17)
+#elif PACKETVER >= 20040809
+packetLen(0x0085, 25)
+#elif PACKETVER >= 20040804
+packetLen(0x0085, 20)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20041129
+packetLen(0x0089, 9)
+#elif PACKETVER >= 20041025
+packetLen(0x0089, 8)
+#elif PACKETVER >= 20041005
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20040920
+packetLen(0x0089, 6)
+#elif PACKETVER >= 20040906
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20040809
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20040804
+packetLen(0x0089, 15)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20041129
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20041025
+packetLen(0x008c, 102)
+#elif PACKETVER >= 20041005
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040920
+packetLen(0x008c, 108)
+#elif PACKETVER >= 20040906
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040809
+packetLen(0x008c, 22)
+#elif PACKETVER >= 20040804
+packetLen(0x008c, 23)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x0094, 20)
+#elif PACKETVER >= 20041025
+packetLen(0x0094, 10)
+#elif PACKETVER >= 20040920
+packetLen(0x0094, 12)
+#elif PACKETVER >= 20040906
+packetLen(0x0094, 10)
+#elif PACKETVER >= 20040809
+packetLen(0x0094, 8)
+#elif PACKETVER >= 20040804
+packetLen(0x0094, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x009b, 2)
+#elif PACKETVER >= 20041025
+packetLen(0x009b, 11)
+#elif PACKETVER >= 20041005
+packetLen(0x009b, 13)
+#elif PACKETVER >= 20040920
+packetLen(0x009b, 10)
+#elif PACKETVER >= 20040906
+packetLen(0x009b, 16)
+#elif PACKETVER >= 20040809
+packetLen(0x009b, 8)
+#elif PACKETVER >= 20040804
+packetLen(0x009b, 6)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20041129
+packetLen(0x009f, 20)
+#elif PACKETVER >= 20040906
+packetLen(0x009f, -1)
+#elif PACKETVER >= 20040809
+packetLen(0x009f, 11)
+#elif PACKETVER >= 20040804
+packetLen(0x009f, 13)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20041129
+packetLen(0x00a2, 9)
+#elif PACKETVER >= 20041025
+packetLen(0x00a2, 15)
+#elif PACKETVER >= 20041005
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20040920
+packetLen(0x00a2, 16)
+#elif PACKETVER >= 20040906
+packetLen(0x00a2, 7)
+#elif PACKETVER >= 20040809
+packetLen(0x00a2, 102)
+#elif PACKETVER >= 20040804
+packetLen(0x00a2, 103)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20041129
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20041025
+packetLen(0x00a7, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040920
+packetLen(0x00a7, 28)
+#elif PACKETVER >= 20040906
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040809
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20040804
+packetLen(0x00a7, 12)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x00f3, 23)
+#elif PACKETVER >= 20041025
+packetLen(0x00f3, 11)
+#elif PACKETVER >= 20041005
+packetLen(0x00f3, 8)
+#elif PACKETVER >= 20040920
+packetLen(0x00f3, 15)
+#elif PACKETVER >= 20040906
+packetLen(0x00f3, 12)
+#elif PACKETVER >= 20040804
+packetLen(0x00f3, -1)
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20041129
+packetLen(0x00f5, 32)
+#elif PACKETVER >= 20041025
+packetLen(0x00f5, 26)
+#elif PACKETVER >= 20040920
+packetLen(0x00f5, 29)
+#elif PACKETVER >= 20040906
+packetLen(0x00f5, 43)
+#elif PACKETVER >= 20040809
+packetLen(0x00f5, 14)
+#elif PACKETVER >= 20040804
+packetLen(0x00f5, 17)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20041129
+packetLen(0x00f7, 11)
+#elif PACKETVER >= 20040906
+packetLen(0x00f7, 2)
+#elif PACKETVER >= 20040809
+packetLen(0x00f7, 8)
+#elif PACKETVER >= 20040804
+packetLen(0x00f7, 10)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20041129
+packetLen(0x0113, 114)
+#elif PACKETVER >= 20041025
+packetLen(0x0113, 8)
+#elif PACKETVER >= 20041005
+packetLen(0x0113, 7)
+#elif PACKETVER >= 20040920
+packetLen(0x0113, 9)
+#elif PACKETVER >= 20040906
+packetLen(0x0113, 10)
+#elif PACKETVER >= 20040809
+packetLen(0x0113, 14)
+#elif PACKETVER >= 20040804
+packetLen(0x0113, 16)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20041129
+packetLen(0x0116, 20)
+#elif PACKETVER >= 20041025
+packetLen(0x0116, 8)
+#elif PACKETVER >= 20041005
+packetLen(0x0116, 7)
+#elif PACKETVER >= 20040920
+packetLen(0x0116, 9)
+#elif PACKETVER >= 20040906
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20040804
+packetLen(0x0116, 2)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20041129
+packetLen(0x0190, 17)
+#elif PACKETVER >= 20041025
+packetLen(0x0190, 25)
+#elif PACKETVER >= 20041005
+packetLen(0x0190, 22)
+#elif PACKETVER >= 20040920
+packetLen(0x0190, 26)
+#elif PACKETVER >= 20040906
+packetLen(0x0190, 24)
+#elif PACKETVER >= 20040809
+packetLen(0x0190, 22)
+#elif PACKETVER >= 20040804
+packetLen(0x0190, 26)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+#if PACKETVER >= 20041129
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20041025
+packetLen(0x0193, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20040920
+packetLen(0x0193, 22)
+#elif PACKETVER >= 20040906
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20040809
+packetLen(0x0193, 19)
+#elif PACKETVER >= 20040804
+packetLen(0x0193, 9)
+#endif
+
+// 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
+#if PACKETVER >= 20041213
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20040804
+packetLen(0x019c, 4)
+#endif
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// Packet: 0x01ca
+#if PACKETVER >= 20041213
+packetLen(0x01ca, 3)
+#endif
+
+// 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
+#if PACKETVER >= 20041213
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20040804
+packetLen(0x01d5, 8)
+#endif
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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, 24)
+
+// Packet: 0x020f
+#if PACKETVER >= 20040817
+packetLen(0x020f, 10)
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20040817
+packetLen(0x0210, 22)
+#endif
+
+// Packet: 0x0212
+#if PACKETVER >= 20040816
+packetLen(0x0212, 26)
+#endif
+
+// Packet: 0x0213
+#if PACKETVER >= 20040816
+packetLen(0x0213, 26)
+#endif
+
+// Packet: 0x0214
+#if PACKETVER >= 20040816
+packetLen(0x0214, 42)
+#endif
+
+// Packet: 0x0215
+#if PACKETVER >= 20041101
+packetLen(0x0215, 6)
+#endif
+
+// Packet: 0x0216
+#if PACKETVER >= 20041108
+packetLen(0x0216, 6)
+#endif
+
+// Packet: 0x0217
+#if PACKETVER >= 20041108
+packetLen(0x0217, 2)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20041108
+packetLen(0x0218, 2)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20041108
+packetLen(0x0219, 282)
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20041108
+packetLen(0x021a, 282)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20041108
+packetLen(0x021b, 10)
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20041108
+packetLen(0x021c, 10)
+#endif
+
+// Packet: 0x021d
+#if PACKETVER >= 20041115
+packetLen(0x021d, 6)
+#endif
+
+// Packet: 0x021e
+#if PACKETVER >= 20041213
+packetLen(0x021e, 6)
+#endif
+
+// Packet: 0x021f
+#if PACKETVER >= 20041213
+packetLen(0x021f, 66)
+#endif
+
+// Packet: 0x0220
+#if PACKETVER >= 20041213
+packetLen(0x0220, 10)
+#endif
+
+// Packet: 0x0221
+#if PACKETVER >= 20041129
+packetLen(0x0221, -1)
+#endif
+
+// Packet: 0x0222
+#if PACKETVER >= 20041129
+packetLen(0x0222, 6)
+#endif
+
+// Packet: 0x0223
+#if PACKETVER >= 20041129
+packetLen(0x0223, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2004_LEN_AD_H */
diff --git a/src/common/packets/packets2004_len_main.h b/src/common/packets/packets2004_len_main.h
new file mode 100644
index 000000000..72b2329a3
--- /dev/null
+++ b/src/common/packets/packets2004_len_main.h
@@ -0,0 +1,1810 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2004_LEN_MAIN_H
+#define COMMON_PACKETS2004_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20041220
+packetLen(0x0072, 26)
+#elif PACKETVER >= 20041216
+packetLen(0x0072, 19)
+#elif PACKETVER >= 20041129
+packetLen(0x0072, 26)
+#elif PACKETVER >= 20041025
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20041005
+packetLen(0x0072, 15)
+#elif PACKETVER >= 20040920
+packetLen(0x0072, 13)
+#elif PACKETVER >= 20040906
+packetLen(0x0072, 17)
+#elif PACKETVER >= 20040809
+packetLen(0x0072, 10)
+#elif PACKETVER >= 20040726
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20040712
+packetLen(0x0072, 39)
+#elif PACKETVER >= 20040705
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20040107
+packetLen(0x0072, 19)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20041220
+packetLen(0x007e, 34)
+#elif PACKETVER >= 20041216
+packetLen(0x007e, 6)
+#elif PACKETVER >= 20041129
+packetLen(0x007e, 34)
+#elif PACKETVER >= 20041005
+packetLen(0x007e, 14)
+#elif PACKETVER >= 20040920
+packetLen(0x007e, 13)
+#elif PACKETVER >= 20040906
+packetLen(0x007e, 15)
+#elif PACKETVER >= 20040809
+packetLen(0x007e, 26)
+#elif PACKETVER >= 20040726
+packetLen(0x007e, 33)
+#elif PACKETVER >= 20040107
+packetLen(0x007e, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20041220
+packetLen(0x0085, -1)
+#elif PACKETVER >= 20041216
+packetLen(0x0085, 5)
+#elif PACKETVER >= 20041129
+packetLen(0x0085, -1)
+#elif PACKETVER >= 20041025
+packetLen(0x0085, 19)
+#elif PACKETVER >= 20041005
+packetLen(0x0085, 18)
+#elif PACKETVER >= 20040920
+packetLen(0x0085, 15)
+#elif PACKETVER >= 20040906
+packetLen(0x0085, 17)
+#elif PACKETVER >= 20040809
+packetLen(0x0085, 25)
+#elif PACKETVER >= 20040726
+packetLen(0x0085, 20)
+#elif PACKETVER >= 20040712
+packetLen(0x0085, 9)
+#elif PACKETVER >= 20040705
+packetLen(0x0085, 8)
+#elif PACKETVER >= 20040107
+packetLen(0x0085, 5)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20041220
+packetLen(0x0089, 9)
+#elif PACKETVER >= 20041216
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20041129
+packetLen(0x0089, 9)
+#elif PACKETVER >= 20041025
+packetLen(0x0089, 8)
+#elif PACKETVER >= 20041005
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20040920
+packetLen(0x0089, 6)
+#elif PACKETVER >= 20040906
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20040809
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20040726
+packetLen(0x0089, 15)
+#elif PACKETVER >= 20040107
+packetLen(0x0089, 7)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20041220
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20041216
+packetLen(0x008c, -1)
+#elif PACKETVER >= 20041129
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20041025
+packetLen(0x008c, 102)
+#elif PACKETVER >= 20041005
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040920
+packetLen(0x008c, 108)
+#elif PACKETVER >= 20040906
+packetLen(0x008c, 110)
+#elif PACKETVER >= 20040809
+packetLen(0x008c, 22)
+#elif PACKETVER >= 20040726
+packetLen(0x008c, 23)
+#elif PACKETVER >= 20040107
+packetLen(0x008c, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20041220
+packetLen(0x0094, 20)
+#elif PACKETVER >= 20041216
+packetLen(0x0094, 6)
+#elif PACKETVER >= 20041129
+packetLen(0x0094, 20)
+#elif PACKETVER >= 20041025
+packetLen(0x0094, 10)
+#elif PACKETVER >= 20040920
+packetLen(0x0094, 12)
+#elif PACKETVER >= 20040906
+packetLen(0x0094, 10)
+#elif PACKETVER >= 20040809
+packetLen(0x0094, 8)
+#elif PACKETVER >= 20040726
+packetLen(0x0094, 10)
+#elif PACKETVER >= 20040107
+packetLen(0x0094, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20041220
+packetLen(0x009b, 2)
+#elif PACKETVER >= 20041216
+packetLen(0x009b, 5)
+#elif PACKETVER >= 20041129
+packetLen(0x009b, 2)
+#elif PACKETVER >= 20041025
+packetLen(0x009b, 11)
+#elif PACKETVER >= 20041005
+packetLen(0x009b, 13)
+#elif PACKETVER >= 20040920
+packetLen(0x009b, 10)
+#elif PACKETVER >= 20040906
+packetLen(0x009b, 16)
+#elif PACKETVER >= 20040809
+packetLen(0x009b, 8)
+#elif PACKETVER >= 20040726
+packetLen(0x009b, 6)
+#elif PACKETVER >= 20040712
+packetLen(0x009b, 13)
+#elif PACKETVER >= 20040107
+packetLen(0x009b, 5)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20041220
+packetLen(0x009f, 20)
+#elif PACKETVER >= 20041216
+packetLen(0x009f, 6)
+#elif PACKETVER >= 20041129
+packetLen(0x009f, 20)
+#elif PACKETVER >= 20040906
+packetLen(0x009f, -1)
+#elif PACKETVER >= 20040809
+packetLen(0x009f, 11)
+#elif PACKETVER >= 20040726
+packetLen(0x009f, 13)
+#elif PACKETVER >= 20040712
+packetLen(0x009f, 10)
+#elif PACKETVER >= 20040107
+packetLen(0x009f, 6)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20041220
+packetLen(0x00a2, 9)
+#elif PACKETVER >= 20041216
+packetLen(0x00a2, 6)
+#elif PACKETVER >= 20041129
+packetLen(0x00a2, 9)
+#elif PACKETVER >= 20041025
+packetLen(0x00a2, 15)
+#elif PACKETVER >= 20041005
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20040920
+packetLen(0x00a2, 16)
+#elif PACKETVER >= 20040906
+packetLen(0x00a2, 7)
+#elif PACKETVER >= 20040809
+packetLen(0x00a2, 102)
+#elif PACKETVER >= 20040726
+packetLen(0x00a2, 103)
+#elif PACKETVER >= 20040107
+packetLen(0x00a2, 6)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20041220
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20041216
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20041129
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20041025
+packetLen(0x00a7, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040920
+packetLen(0x00a7, 28)
+#elif PACKETVER >= 20040906
+packetLen(0x00a7, 30)
+#elif PACKETVER >= 20040809
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20040726
+packetLen(0x00a7, 12)
+#elif PACKETVER >= 20040712
+packetLen(0x00a7, 17)
+#elif PACKETVER >= 20040705
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20040107
+packetLen(0x00a7, 8)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20041220
+packetLen(0x00f3, 23)
+#elif PACKETVER >= 20041216
+packetLen(0x00f3, 8)
+#elif PACKETVER >= 20041129
+packetLen(0x00f3, 23)
+#elif PACKETVER >= 20041025
+packetLen(0x00f3, 11)
+#elif PACKETVER >= 20041005
+packetLen(0x00f3, 8)
+#elif PACKETVER >= 20040920
+packetLen(0x00f3, 15)
+#elif PACKETVER >= 20040906
+packetLen(0x00f3, 12)
+#elif PACKETVER >= 20040726
+packetLen(0x00f3, -1)
+#elif PACKETVER >= 20040107
+packetLen(0x00f3, 8)
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20041220
+packetLen(0x00f5, 32)
+#elif PACKETVER >= 20041216
+packetLen(0x00f5, 8)
+#elif PACKETVER >= 20041129
+packetLen(0x00f5, 32)
+#elif PACKETVER >= 20041025
+packetLen(0x00f5, 26)
+#elif PACKETVER >= 20040920
+packetLen(0x00f5, 29)
+#elif PACKETVER >= 20040906
+packetLen(0x00f5, 43)
+#elif PACKETVER >= 20040809
+packetLen(0x00f5, 14)
+#elif PACKETVER >= 20040726
+packetLen(0x00f5, 17)
+#elif PACKETVER >= 20040107
+packetLen(0x00f5, 8)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20041220
+packetLen(0x00f7, 11)
+#elif PACKETVER >= 20041216
+packetLen(0x00f7, 2)
+#elif PACKETVER >= 20041129
+packetLen(0x00f7, 11)
+#elif PACKETVER >= 20040906
+packetLen(0x00f7, 2)
+#elif PACKETVER >= 20040809
+packetLen(0x00f7, 8)
+#elif PACKETVER >= 20040726
+packetLen(0x00f7, 10)
+#elif PACKETVER >= 20040107
+packetLen(0x00f7, 2)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20041220
+packetLen(0x0113, 114)
+#elif PACKETVER >= 20041216
+packetLen(0x0113, 10)
+#elif PACKETVER >= 20041129
+packetLen(0x0113, 114)
+#elif PACKETVER >= 20041025
+packetLen(0x0113, 8)
+#elif PACKETVER >= 20041005
+packetLen(0x0113, 7)
+#elif PACKETVER >= 20040920
+packetLen(0x0113, 9)
+#elif PACKETVER >= 20040906
+packetLen(0x0113, 10)
+#elif PACKETVER >= 20040809
+packetLen(0x0113, 14)
+#elif PACKETVER >= 20040726
+packetLen(0x0113, 16)
+#elif PACKETVER >= 20040712
+packetLen(0x0113, 19)
+#elif PACKETVER >= 20040705
+packetLen(0x0113, 15)
+#elif PACKETVER >= 20040107
+packetLen(0x0113, 10)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20041220
+packetLen(0x0116, 20)
+#elif PACKETVER >= 20041216
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20041129
+packetLen(0x0116, 20)
+#elif PACKETVER >= 20041025
+packetLen(0x0116, 8)
+#elif PACKETVER >= 20041005
+packetLen(0x0116, 7)
+#elif PACKETVER >= 20040920
+packetLen(0x0116, 9)
+#elif PACKETVER >= 20040906
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20040726
+packetLen(0x0116, 2)
+#elif PACKETVER >= 20040712
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20040705
+packetLen(0x0116, 15)
+#elif PACKETVER >= 20040107
+packetLen(0x0116, 10)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20041220
+packetLen(0x0190, 17)
+#elif PACKETVER >= 20041216
+packetLen(0x0190, 90)
+#elif PACKETVER >= 20041129
+packetLen(0x0190, 17)
+#elif PACKETVER >= 20041025
+packetLen(0x0190, 25)
+#elif PACKETVER >= 20041005
+packetLen(0x0190, 22)
+#elif PACKETVER >= 20040920
+packetLen(0x0190, 26)
+#elif PACKETVER >= 20040906
+packetLen(0x0190, 24)
+#elif PACKETVER >= 20040809
+packetLen(0x0190, 22)
+#elif PACKETVER >= 20040726
+packetLen(0x0190, 26)
+#elif PACKETVER >= 20040712
+packetLen(0x0190, 99)
+#elif PACKETVER >= 20040705
+packetLen(0x0190, 95)
+#elif PACKETVER >= 20040107
+packetLen(0x0190, 90)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+#if PACKETVER >= 20041220
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20041216
+packetLen(0x0193, 6)
+#elif PACKETVER >= 20041129
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20041025
+packetLen(0x0193, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20040920
+packetLen(0x0193, 22)
+#elif PACKETVER >= 20040906
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20040809
+packetLen(0x0193, 19)
+#elif PACKETVER >= 20040726
+packetLen(0x0193, 9)
+#elif PACKETVER >= 20040107
+packetLen(0x0193, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20041213
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20040107
+packetLen(0x019c, 4)
+#endif
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// Packet: 0x01ca
+#if PACKETVER >= 20041213
+packetLen(0x01ca, 3)
+#endif
+
+// 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
+#if PACKETVER >= 20041213
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20040107
+packetLen(0x01d5, 8)
+#endif
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20040216
+packetLen(0x01f3, 10)
+#endif
+
+// Packet: 0x01f4
+#if PACKETVER >= 20040302
+packetLen(0x01f4, 32)
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20040302
+packetLen(0x01f5, 9)
+#endif
+
+// Packet: 0x01f6
+#if PACKETVER >= 20040308
+packetLen(0x01f6, 34)
+#endif
+
+// Packet: 0x01f7
+#if PACKETVER >= 20040308
+packetLen(0x01f7, 14)
+#endif
+
+// Packet: 0x01f8
+#if PACKETVER >= 20040308
+packetLen(0x01f8, 2)
+#endif
+
+// Packet: 0x01f9
+#if PACKETVER >= 20040308
+packetLen(0x01f9, 6)
+#endif
+
+// Packet: 0x01fa
+#if PACKETVER >= 20040322
+packetLen(0x01fa, 48)
+#endif
+
+// Packet: 0x01fb
+#if PACKETVER >= 20040419
+packetLen(0x01fb, 56)
+#endif
+
+// Packet: 0x01fc
+#if PACKETVER >= 20040420
+packetLen(0x01fc, -1)
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20040423
+packetLen(0x01fd, 4)
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20040426
+packetLen(0x01fe, 5)
+#endif
+
+// Packet: 0x01ff
+#if PACKETVER >= 20040422
+packetLen(0x01ff, 10)
+#endif
+
+// Packet: 0x0200
+#if PACKETVER >= 20040517
+packetLen(0x0200, 26)
+#endif
+
+// Packet: 0x0201
+#if PACKETVER >= 20040705
+packetLen(0x0201, -1)
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20040705
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20040705
+packetLen(0x0203, 10)
+#endif
+
+// Packet: 0x0204
+#if PACKETVER >= 20040531
+packetLen(0x0204, 18)
+#endif
+
+// Packet: 0x0205
+#if PACKETVER >= 20040628
+packetLen(0x0205, 26)
+#endif
+
+// Packet: 0x0206
+#if PACKETVER >= 20040705
+packetLen(0x0206, 11)
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20040705
+packetLen(0x0207, 34)
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20040705
+packetLen(0x0208, 14)
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20040705
+packetLen(0x0209, 36)
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20040705
+packetLen(0x020a, 10)
+#endif
+
+// Packet: 0x020d
+#if PACKETVER >= 20040621
+packetLen(0x020d, -1)
+#endif
+
+// Packet: 0x020e
+#if PACKETVER >= 20040705
+packetLen(0x020e, 24)
+#endif
+
+// Packet: 0x020f
+#if PACKETVER >= 20041220
+packetLen(0x020f, 10)
+#elif PACKETVER >= 20041216
+// removed
+#elif PACKETVER >= 20040817
+packetLen(0x020f, 10)
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20041220
+packetLen(0x0210, 22)
+#elif PACKETVER >= 20041216
+// removed
+#elif PACKETVER >= 20040817
+packetLen(0x0210, 22)
+#endif
+
+// Packet: 0x0212
+#if PACKETVER >= 20040816
+packetLen(0x0212, 26)
+#endif
+
+// Packet: 0x0213
+#if PACKETVER >= 20040816
+packetLen(0x0213, 26)
+#endif
+
+// Packet: 0x0214
+#if PACKETVER >= 20040816
+packetLen(0x0214, 42)
+#endif
+
+// Packet: 0x0215
+#if PACKETVER >= 20041101
+packetLen(0x0215, 6)
+#endif
+
+// Packet: 0x0216
+#if PACKETVER >= 20041108
+packetLen(0x0216, 6)
+#endif
+
+// Packet: 0x0217
+#if PACKETVER >= 20041108
+packetLen(0x0217, 2)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20041108
+packetLen(0x0218, 2)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20041108
+packetLen(0x0219, 282)
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20041108
+packetLen(0x021a, 282)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20041108
+packetLen(0x021b, 10)
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20041108
+packetLen(0x021c, 10)
+#endif
+
+// Packet: 0x021d
+#if PACKETVER >= 20041115
+packetLen(0x021d, 6)
+#endif
+
+// Packet: 0x021e
+#if PACKETVER >= 20041213
+packetLen(0x021e, 6)
+#endif
+
+// Packet: 0x021f
+#if PACKETVER >= 20041213
+packetLen(0x021f, 66)
+#endif
+
+// Packet: 0x0220
+#if PACKETVER >= 20041213
+packetLen(0x0220, 10)
+#endif
+
+// Packet: 0x0221
+#if PACKETVER >= 20041129
+packetLen(0x0221, -1)
+#endif
+
+// Packet: 0x0222
+#if PACKETVER >= 20041129
+packetLen(0x0222, 6)
+#endif
+
+// Packet: 0x0223
+#if PACKETVER >= 20041129
+packetLen(0x0223, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2004_LEN_MAIN_H */
diff --git a/src/common/packets/packets2004_len_sak.h b/src/common/packets/packets2004_len_sak.h
new file mode 100644
index 000000000..1f4b3d3ea
--- /dev/null
+++ b/src/common/packets/packets2004_len_sak.h
@@ -0,0 +1,1734 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2004_LEN_SAK_H
+#define COMMON_PACKETS2004_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20041129
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20041025
+packetLen(0x0072, 13)
+#elif PACKETVER >= 20041005
+packetLen(0x0072, 17)
+#elif PACKETVER >= 20040920
+packetLen(0x0072, 18)
+#elif PACKETVER >= 20040906
+packetLen(0x0072, 20)
+#elif PACKETVER >= 20040809
+packetLen(0x0072, 17)
+#elif PACKETVER >= 20040726
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20040713
+packetLen(0x0072, 39)
+#elif PACKETVER >= 20040705
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20040107
+packetLen(0x0072, 19)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20041129
+packetLen(0x007e, 30)
+#elif PACKETVER >= 20041025
+packetLen(0x007e, 13)
+#elif PACKETVER >= 20041005
+packetLen(0x007e, 16)
+#elif PACKETVER >= 20040920
+packetLen(0x007e, 25)
+#elif PACKETVER >= 20040906
+packetLen(0x007e, 19)
+#elif PACKETVER >= 20040809
+packetLen(0x007e, 37)
+#elif PACKETVER >= 20040726
+packetLen(0x007e, 33)
+#elif PACKETVER >= 20040107
+packetLen(0x007e, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x0085, -1)
+#elif PACKETVER >= 20041025
+packetLen(0x0085, 15)
+#elif PACKETVER >= 20040920
+packetLen(0x0085, 9)
+#elif PACKETVER >= 20040906
+packetLen(0x0085, 23)
+#elif PACKETVER >= 20040809
+packetLen(0x0085, 26)
+#elif PACKETVER >= 20040726
+packetLen(0x0085, 20)
+#elif PACKETVER >= 20040713
+packetLen(0x0085, 9)
+#elif PACKETVER >= 20040705
+packetLen(0x0085, 8)
+#elif PACKETVER >= 20040107
+packetLen(0x0085, 5)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20041129
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20041005
+packetLen(0x0089, 6)
+#elif PACKETVER >= 20040920
+packetLen(0x0089, 14)
+#elif PACKETVER >= 20040906
+packetLen(0x0089, 9)
+#elif PACKETVER >= 20040809
+packetLen(0x0089, 12)
+#elif PACKETVER >= 20040726
+packetLen(0x0089, 15)
+#elif PACKETVER >= 20040107
+packetLen(0x0089, 7)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20041129
+packetLen(0x008c, 13)
+#elif PACKETVER >= 20041025
+packetLen(0x008c, 108)
+#elif PACKETVER >= 20041005
+packetLen(0x008c, 103)
+#elif PACKETVER >= 20040920
+packetLen(0x008c, 109)
+#elif PACKETVER >= 20040906
+packetLen(0x008c, 105)
+#elif PACKETVER >= 20040809
+packetLen(0x008c, 40)
+#elif PACKETVER >= 20040726
+packetLen(0x008c, 23)
+#elif PACKETVER >= 20040107
+packetLen(0x008c, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20041025
+packetLen(0x0094, 12)
+#elif PACKETVER >= 20041005
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20040920
+packetLen(0x0094, 19)
+#elif PACKETVER >= 20040906
+packetLen(0x0094, 17)
+#elif PACKETVER >= 20040809
+packetLen(0x0094, 13)
+#elif PACKETVER >= 20040726
+packetLen(0x0094, 10)
+#elif PACKETVER >= 20040107
+packetLen(0x0094, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x009b, 2)
+#elif PACKETVER >= 20041025
+packetLen(0x009b, 10)
+#elif PACKETVER >= 20041005
+packetLen(0x009b, 15)
+#elif PACKETVER >= 20040920
+packetLen(0x009b, 10)
+#elif PACKETVER >= 20040906
+packetLen(0x009b, 14)
+#elif PACKETVER >= 20040809
+packetLen(0x009b, 15)
+#elif PACKETVER >= 20040726
+packetLen(0x009b, 6)
+#elif PACKETVER >= 20040713
+packetLen(0x009b, 13)
+#elif PACKETVER >= 20040107
+packetLen(0x009b, 5)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20041129
+packetLen(0x009f, 18)
+#elif PACKETVER >= 20040906
+packetLen(0x009f, -1)
+#elif PACKETVER >= 20040809
+packetLen(0x009f, 12)
+#elif PACKETVER >= 20040726
+packetLen(0x009f, 13)
+#elif PACKETVER >= 20040713
+packetLen(0x009f, 10)
+#elif PACKETVER >= 20040107
+packetLen(0x009f, 6)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20041129
+packetLen(0x00a2, 7)
+#elif PACKETVER >= 20041025
+packetLen(0x00a2, 16)
+#elif PACKETVER >= 20041005
+packetLen(0x00a2, 12)
+#elif PACKETVER >= 20040920
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20040906
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20040809
+packetLen(0x00a2, 120)
+#elif PACKETVER >= 20040726
+packetLen(0x00a2, 103)
+#elif PACKETVER >= 20040107
+packetLen(0x00a2, 6)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20041129
+packetLen(0x00a7, 7)
+#elif PACKETVER >= 20041025
+packetLen(0x00a7, 28)
+#elif PACKETVER >= 20041005
+packetLen(0x00a7, 23)
+#elif PACKETVER >= 20040920
+packetLen(0x00a7, 29)
+#elif PACKETVER >= 20040906
+packetLen(0x00a7, 25)
+#elif PACKETVER >= 20040809
+packetLen(0x00a7, 11)
+#elif PACKETVER >= 20040726
+packetLen(0x00a7, 12)
+#elif PACKETVER >= 20040713
+packetLen(0x00a7, 17)
+#elif PACKETVER >= 20040705
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20040107
+packetLen(0x00a7, 8)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20041129
+packetLen(0x00f3, 8)
+#elif PACKETVER >= 20041025
+packetLen(0x00f3, 15)
+#elif PACKETVER >= 20041005
+packetLen(0x00f3, 13)
+#elif PACKETVER >= 20040920
+packetLen(0x00f3, 18)
+#elif PACKETVER >= 20040906
+packetLen(0x00f3, 10)
+#elif PACKETVER >= 20040726
+packetLen(0x00f3, -1)
+#elif PACKETVER >= 20040107
+packetLen(0x00f3, 8)
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20041025
+packetLen(0x00f5, 29)
+#elif PACKETVER >= 20041005
+packetLen(0x00f5, 33)
+#elif PACKETVER >= 20040920
+packetLen(0x00f5, 32)
+#elif PACKETVER >= 20040906
+packetLen(0x00f5, 34)
+#elif PACKETVER >= 20040809
+packetLen(0x00f5, 24)
+#elif PACKETVER >= 20040726
+packetLen(0x00f5, 17)
+#elif PACKETVER >= 20040107
+packetLen(0x00f5, 8)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20041129
+packetLen(0x00f7, 14)
+#elif PACKETVER >= 20040906
+packetLen(0x00f7, 2)
+#elif PACKETVER >= 20040809
+packetLen(0x00f7, 13)
+#elif PACKETVER >= 20040726
+packetLen(0x00f7, 10)
+#elif PACKETVER >= 20040107
+packetLen(0x00f7, 2)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20041129
+packetLen(0x0113, 110)
+#elif PACKETVER >= 20041025
+packetLen(0x0113, 9)
+#elif PACKETVER >= 20041005
+packetLen(0x0113, 10)
+#elif PACKETVER >= 20040920
+packetLen(0x0113, 14)
+#elif PACKETVER >= 20040906
+packetLen(0x0113, 11)
+#elif PACKETVER >= 20040809
+packetLen(0x0113, 23)
+#elif PACKETVER >= 20040726
+packetLen(0x0113, 16)
+#elif PACKETVER >= 20040713
+packetLen(0x0113, 19)
+#elif PACKETVER >= 20040705
+packetLen(0x0113, 15)
+#elif PACKETVER >= 20040107
+packetLen(0x0113, 10)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20041129
+packetLen(0x0116, 12)
+#elif PACKETVER >= 20041025
+packetLen(0x0116, 9)
+#elif PACKETVER >= 20041005
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20040920
+packetLen(0x0116, 14)
+#elif PACKETVER >= 20040906
+packetLen(0x0116, 11)
+#elif PACKETVER >= 20040726
+packetLen(0x0116, 2)
+#elif PACKETVER >= 20040713
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20040705
+packetLen(0x0116, 15)
+#elif PACKETVER >= 20040107
+packetLen(0x0116, 10)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20041129
+packetLen(0x0190, 15)
+#elif PACKETVER >= 20041025
+packetLen(0x0190, 26)
+#elif PACKETVER >= 20041005
+packetLen(0x0190, 20)
+#elif PACKETVER >= 20040920
+packetLen(0x0190, 14)
+#elif PACKETVER >= 20040906
+packetLen(0x0190, 22)
+#elif PACKETVER >= 20040726
+packetLen(0x0190, 26)
+#elif PACKETVER >= 20040713
+packetLen(0x0190, 99)
+#elif PACKETVER >= 20040705
+packetLen(0x0190, 95)
+#elif PACKETVER >= 20040107
+packetLen(0x0190, 90)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+#if PACKETVER >= 20041129
+packetLen(0x0193, 21)
+#elif PACKETVER >= 20041025
+packetLen(0x0193, 22)
+#elif PACKETVER >= 20041005
+packetLen(0x0193, 26)
+#elif PACKETVER >= 20040920
+packetLen(0x0193, 12)
+#elif PACKETVER >= 20040906
+packetLen(0x0193, 17)
+#elif PACKETVER >= 20040809
+packetLen(0x0193, 18)
+#elif PACKETVER >= 20040726
+packetLen(0x0193, 9)
+#elif PACKETVER >= 20040107
+packetLen(0x0193, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20041213
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20040107
+packetLen(0x019c, 4)
+#endif
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// Packet: 0x01ca
+#if PACKETVER >= 20041213
+packetLen(0x01ca, 3)
+#endif
+
+// 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
+#if PACKETVER >= 20041213
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20040107
+packetLen(0x01d5, 8)
+#endif
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20040216
+packetLen(0x01f3, 10)
+#endif
+
+// Packet: 0x01f4
+#if PACKETVER >= 20040302
+packetLen(0x01f4, 32)
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20040302
+packetLen(0x01f5, 9)
+#endif
+
+// Packet: 0x01f6
+#if PACKETVER >= 20040308
+packetLen(0x01f6, 34)
+#endif
+
+// Packet: 0x01f7
+#if PACKETVER >= 20040308
+packetLen(0x01f7, 14)
+#endif
+
+// Packet: 0x01f8
+#if PACKETVER >= 20040308
+packetLen(0x01f8, 2)
+#endif
+
+// Packet: 0x01f9
+#if PACKETVER >= 20040308
+packetLen(0x01f9, 6)
+#endif
+
+// Packet: 0x01fa
+#if PACKETVER >= 20040322
+packetLen(0x01fa, 48)
+#endif
+
+// Packet: 0x01fb
+#if PACKETVER >= 20040419
+packetLen(0x01fb, 56)
+#endif
+
+// Packet: 0x01fc
+#if PACKETVER >= 20040420
+packetLen(0x01fc, -1)
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20040423
+packetLen(0x01fd, 4)
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20040426
+packetLen(0x01fe, 5)
+#endif
+
+// Packet: 0x01ff
+#if PACKETVER >= 20040422
+packetLen(0x01ff, 10)
+#endif
+
+// Packet: 0x0200
+#if PACKETVER >= 20040517
+packetLen(0x0200, 26)
+#endif
+
+// Packet: 0x0201
+#if PACKETVER >= 20040628
+packetLen(0x0201, -1)
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20040628
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20040628
+packetLen(0x0203, 10)
+#endif
+
+// Packet: 0x0204
+#if PACKETVER >= 20040531
+packetLen(0x0204, 18)
+#endif
+
+// Packet: 0x0205
+#if PACKETVER >= 20040628
+packetLen(0x0205, 26)
+#endif
+
+// Packet: 0x0206
+#if PACKETVER >= 20040628
+packetLen(0x0206, 11)
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20040628
+packetLen(0x0207, 34)
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20040705
+packetLen(0x0208, 14)
+#elif PACKETVER >= 20040628
+packetLen(0x0208, 11)
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20040628
+packetLen(0x0209, 36)
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20040628
+packetLen(0x020a, 10)
+#endif
+
+// Packet: 0x020d
+#if PACKETVER >= 20040621
+packetLen(0x020d, -1)
+#endif
+
+// Packet: 0x020e
+#if PACKETVER >= 20040705
+packetLen(0x020e, 24)
+#endif
+
+// Packet: 0x020f
+#if PACKETVER >= 20040817
+packetLen(0x020f, 10)
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20040817
+packetLen(0x0210, 22)
+#endif
+
+// Packet: 0x0212
+#if PACKETVER >= 20040816
+packetLen(0x0212, 26)
+#endif
+
+// Packet: 0x0213
+#if PACKETVER >= 20040816
+packetLen(0x0213, 26)
+#endif
+
+// Packet: 0x0214
+#if PACKETVER >= 20040816
+packetLen(0x0214, 42)
+#endif
+
+// Packet: 0x0215
+#if PACKETVER >= 20041101
+packetLen(0x0215, 6)
+#endif
+
+// Packet: 0x0216
+#if PACKETVER >= 20041108
+packetLen(0x0216, 6)
+#endif
+
+// Packet: 0x0217
+#if PACKETVER >= 20041108
+packetLen(0x0217, 2)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20041108
+packetLen(0x0218, 2)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20041108
+packetLen(0x0219, 282)
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20041108
+packetLen(0x021a, 282)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20041108
+packetLen(0x021b, 10)
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20041108
+packetLen(0x021c, 10)
+#endif
+
+// Packet: 0x021d
+#if PACKETVER >= 20041115
+packetLen(0x021d, 6)
+#endif
+
+// Packet: 0x021e
+#if PACKETVER >= 20041213
+packetLen(0x021e, 6)
+#endif
+
+// Packet: 0x021f
+#if PACKETVER >= 20041213
+packetLen(0x021f, 66)
+#endif
+
+// Packet: 0x0220
+#if PACKETVER >= 20041213
+packetLen(0x0220, 10)
+#endif
+
+// Packet: 0x0221
+#if PACKETVER >= 20041129
+packetLen(0x0221, -1)
+#endif
+
+// Packet: 0x0222
+#if PACKETVER >= 20041129
+packetLen(0x0222, 6)
+#endif
+
+// Packet: 0x0223
+#if PACKETVER >= 20041129
+packetLen(0x0223, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2004_LEN_SAK_H */
diff --git a/src/common/packets/packets2005_len_ad.h b/src/common/packets/packets2005_len_ad.h
new file mode 100644
index 000000000..4113d7b91
--- /dev/null
+++ b/src/common/packets/packets2005_len_ad.h
@@ -0,0 +1,1927 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2005_LEN_AD_H
+#define COMMON_PACKETS2005_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20051010
+packetLen(0x0072, 20)
+#elif PACKETVER >= 20050719
+packetLen(0x0072, 30)
+#elif PACKETVER >= 20050718
+packetLen(0x0072, 20)
+#elif PACKETVER >= 20050628
+packetLen(0x0072, 30)
+#elif PACKETVER >= 20050509
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20050411
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20050104
+packetLen(0x0072, 26)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20051010
+packetLen(0x007e, 103)
+#elif PACKETVER >= 20050719
+packetLen(0x007e, 120)
+#elif PACKETVER >= 20050718
+packetLen(0x007e, 103)
+#elif PACKETVER >= 20050628
+packetLen(0x007e, 120)
+#elif PACKETVER >= 20050509
+packetLen(0x007e, 110)
+#elif PACKETVER >= 20050411
+packetLen(0x007e, 109)
+#elif PACKETVER >= 20050110
+packetLen(0x007e, 108)
+#elif PACKETVER >= 20050104
+packetLen(0x007e, 34)
+#endif
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x0085, 13)
+#elif PACKETVER >= 20050719
+packetLen(0x0085, 14)
+#elif PACKETVER >= 20050718
+packetLen(0x0085, 13)
+#elif PACKETVER >= 20050628
+packetLen(0x0085, 14)
+#elif PACKETVER >= 20050509
+packetLen(0x0085, 8)
+#elif PACKETVER >= 20050411
+packetLen(0x0085, 18)
+#elif PACKETVER >= 20050110
+packetLen(0x0085, 15)
+#elif PACKETVER >= 20050104
+packetLen(0x0085, -1)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20051010
+packetLen(0x0089, 10)
+#elif PACKETVER >= 20050719
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20050718
+packetLen(0x0089, 10)
+#elif PACKETVER >= 20050628
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20050509
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x0089, 14)
+#elif PACKETVER >= 20050104
+packetLen(0x0089, 9)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20051010
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050719
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050628
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x008c, 13)
+#elif PACKETVER >= 20050110
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20050104
+packetLen(0x008c, 8)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x0094, 16)
+#elif PACKETVER >= 20050719
+packetLen(0x0094, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x0094, 16)
+#elif PACKETVER >= 20050628
+packetLen(0x0094, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20050411
+packetLen(0x0094, 25)
+#elif PACKETVER >= 20050110
+packetLen(0x0094, 13)
+#elif PACKETVER >= 20050104
+packetLen(0x0094, 20)
+#endif
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x009b, 33)
+#elif PACKETVER >= 20050719
+packetLen(0x009b, 35)
+#elif PACKETVER >= 20050718
+packetLen(0x009b, 33)
+#elif PACKETVER >= 20050628
+packetLen(0x009b, 35)
+#elif PACKETVER >= 20050509
+packetLen(0x009b, 29)
+#elif PACKETVER >= 20050411
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20050110
+packetLen(0x009b, 29)
+#elif PACKETVER >= 20050104
+packetLen(0x009b, 2)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20051010
+packetLen(0x009f, 17)
+#elif PACKETVER >= 20050719
+packetLen(0x009f, 21)
+#elif PACKETVER >= 20050718
+packetLen(0x009f, 17)
+#elif PACKETVER >= 20050628
+packetLen(0x009f, 21)
+#elif PACKETVER >= 20050509
+packetLen(0x009f, 15)
+#elif PACKETVER >= 20050411
+packetLen(0x009f, 18)
+#elif PACKETVER >= 20050110
+packetLen(0x009f, 13)
+#elif PACKETVER >= 20050104
+packetLen(0x009f, 20)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20051010
+packetLen(0x00a2, 12)
+#elif PACKETVER >= 20050719
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20050718
+packetLen(0x00a2, 12)
+#elif PACKETVER >= 20050628
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20050509
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20050411
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20050110
+packetLen(0x00a2, 16)
+#elif PACKETVER >= 20050104
+packetLen(0x00a2, 9)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20051010
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050719
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050718
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050628
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050509
+packetLen(0x00a7, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050104
+packetLen(0x00a7, 13)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20050110
+packetLen(0x00f3, -1)
+#elif PACKETVER >= 20050104
+packetLen(0x00f3, 23)
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20051010
+packetLen(0x00f5, 10)
+#elif PACKETVER >= 20050719
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20050718
+packetLen(0x00f5, 10)
+#elif PACKETVER >= 20050628
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20050509
+packetLen(0x00f5, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x00f5, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x00f5, 9)
+#elif PACKETVER >= 20050104
+packetLen(0x00f5, 32)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20051010
+packetLen(0x00f7, 26)
+#elif PACKETVER >= 20050719
+packetLen(0x00f7, 15)
+#elif PACKETVER >= 20050718
+packetLen(0x00f7, 26)
+#elif PACKETVER >= 20050628
+packetLen(0x00f7, 15)
+#elif PACKETVER >= 20050509
+packetLen(0x00f7, 21)
+#elif PACKETVER >= 20050411
+packetLen(0x00f7, 12)
+#elif PACKETVER >= 20050110
+packetLen(0x00f7, 22)
+#elif PACKETVER >= 20050104
+packetLen(0x00f7, 11)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20051010
+packetLen(0x0113, 23)
+#elif PACKETVER >= 20050719
+packetLen(0x0113, 40)
+#elif PACKETVER >= 20050718
+packetLen(0x0113, 23)
+#elif PACKETVER >= 20050628
+packetLen(0x0113, 40)
+#elif PACKETVER >= 20050509
+packetLen(0x0113, 30)
+#elif PACKETVER >= 20050411
+packetLen(0x0113, 29)
+#elif PACKETVER >= 20050110
+packetLen(0x0113, 28)
+#elif PACKETVER >= 20050104
+packetLen(0x0113, 114)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20051010
+packetLen(0x0116, 14)
+#elif PACKETVER >= 20050719
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20050718
+packetLen(0x0116, 14)
+#elif PACKETVER >= 20050628
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20050509
+packetLen(0x0116, 12)
+#elif PACKETVER >= 20050411
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20050110
+packetLen(0x0116, 12)
+#elif PACKETVER >= 20050104
+packetLen(0x0116, 20)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20051010
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20050719
+packetLen(0x0190, 10)
+#elif PACKETVER >= 20050718
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20050628
+packetLen(0x0190, 10)
+#elif PACKETVER >= 20050509
+packetLen(0x0190, 18)
+#elif PACKETVER >= 20050411
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20050110
+packetLen(0x0190, 15)
+#elif PACKETVER >= 20050104
+packetLen(0x0190, 17)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+#if PACKETVER >= 20050110
+packetLen(0x0193, 2)
+#elif PACKETVER >= 20050104
+packetLen(0x0193, 21)
+#endif
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20050104
+packetLen(0x020e, 24)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20050328
+packetLen(0x0224, 10)
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20050328
+packetLen(0x0225, 2)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20050328
+packetLen(0x0226, 282)
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20050404
+packetLen(0x0227, 18)
+#endif
+
+// Packet: 0x0228
+#if PACKETVER >= 20050404
+packetLen(0x0228, 18)
+#endif
+
+// Packet: 0x0229
+#if PACKETVER >= 20050411
+packetLen(0x0229, 15)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20050411
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20050411
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20050411
+packetLen(0x022c, 64)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20050425
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20050624
+packetLen(0x022e, 71)
+#elif PACKETVER >= 20050530
+packetLen(0x022e, 69)
+#elif PACKETVER >= 20050523
+packetLen(0x022e, 67)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20050608
+packetLen(0x022f, 5)
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20050523
+packetLen(0x0230, 12)
+#endif
+
+// Packet: 0x0231
+#if PACKETVER >= 20050608
+packetLen(0x0231, 26)
+#endif
+
+// Packet: 0x0232
+#if PACKETVER >= 20050425
+packetLen(0x0232, 9)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20050425
+packetLen(0x0233, 11)
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20050425
+packetLen(0x0234, 6)
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20050530
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+#if PACKETVER >= 20050530
+packetLen(0x0236, 10)
+#endif
+
+// Packet: 0x0237
+#if PACKETVER >= 20050530
+packetLen(0x0237, 2)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20050530
+packetLen(0x0238, 282)
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20050530
+packetLen(0x0239, 11)
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20050608
+packetLen(0x023a, 4)
+#endif
+
+// Packet: 0x023b
+#if PACKETVER >= 20050608
+packetLen(0x023b, 36)
+#endif
+
+// Packet: 0x023c
+#if PACKETVER >= 20050608
+packetLen(0x023c, 6)
+#endif
+
+// Packet: 0x023d
+#if PACKETVER >= 20050628
+packetLen(0x023d, 6)
+#endif
+
+// Packet: 0x023e
+#if PACKETVER >= 20050628
+packetLen(0x023e, 4)
+#endif
+
+// Packet: 0x023f
+#if PACKETVER >= 20050718
+packetLen(0x023f, 2)
+#endif
+
+// Packet: 0x0240
+#if PACKETVER >= 20050829
+packetLen(0x0240, -1)
+#elif PACKETVER >= 20050718
+packetLen(0x0240, 8)
+#endif
+
+// Packet: 0x0241
+#if PACKETVER >= 20050718
+packetLen(0x0241, 6)
+#endif
+
+// Packet: 0x0242
+#if PACKETVER >= 20050718
+packetLen(0x0242, -1)
+#endif
+
+// Packet: 0x0243
+#if PACKETVER >= 20050718
+packetLen(0x0243, 6)
+#endif
+
+// Packet: 0x0244
+#if PACKETVER >= 20050718
+packetLen(0x0244, 6)
+#endif
+
+// Packet: 0x0245
+#if PACKETVER >= 20050801
+packetLen(0x0245, 3)
+#elif PACKETVER >= 20050718
+packetLen(0x0245, 7)
+#endif
+
+// Packet: 0x0246
+#if PACKETVER >= 20050718
+packetLen(0x0246, 4)
+#endif
+
+// Packet: 0x0247
+#if PACKETVER >= 20050718
+packetLen(0x0247, 8)
+#endif
+
+// Packet: 0x0248
+#if PACKETVER >= 20050829
+packetLen(0x0248, -1)
+#elif PACKETVER >= 20050718
+packetLen(0x0248, 68)
+#endif
+
+// Packet: 0x0249
+#if PACKETVER >= 20050718
+packetLen(0x0249, 3)
+#endif
+
+// Packet: 0x024a
+#if PACKETVER >= 20050718
+packetLen(0x024a, 70)
+#endif
+
+// Packet: 0x024b
+#if PACKETVER >= 20050718
+packetLen(0x024b, 4)
+#endif
+
+// Packet: 0x024c
+#if PACKETVER >= 20050718
+packetLen(0x024c, 8)
+#endif
+
+// Packet: 0x024d
+#if PACKETVER >= 20050808
+packetLen(0x024d, 12)
+#elif PACKETVER >= 20050718
+packetLen(0x024d, 14)
+#endif
+
+// Packet: 0x024e
+#if PACKETVER >= 20051107
+packetLen(0x024e, 6)
+#elif PACKETVER >= 20050808
+packetLen(0x024e, 4)
+#elif PACKETVER >= 20050718
+packetLen(0x024e, 6)
+#endif
+
+// Packet: 0x024f
+#if PACKETVER >= 20050718
+packetLen(0x024f, 10)
+#endif
+
+// Packet: 0x0250
+#if PACKETVER >= 20050718
+packetLen(0x0250, 3)
+#endif
+
+// Packet: 0x0251
+#if PACKETVER >= 20051107
+packetLen(0x0251, 34)
+#elif PACKETVER >= 20051013
+packetLen(0x0251, 32)
+#elif PACKETVER >= 20050801
+packetLen(0x0251, 4)
+#elif PACKETVER >= 20050718
+packetLen(0x0251, 2)
+#endif
+
+// Packet: 0x0252
+#if PACKETVER >= 20050718
+packetLen(0x0252, -1)
+#endif
+
+// Packet: 0x0253
+#if PACKETVER >= 20050822
+packetLen(0x0253, 3)
+#endif
+
+// Packet: 0x0254
+#if PACKETVER >= 20050822
+packetLen(0x0254, 3)
+#endif
+
+// Packet: 0x0255
+#if PACKETVER >= 20050829
+packetLen(0x0255, 5)
+#endif
+
+// Packet: 0x0256
+#if PACKETVER >= 20050829
+packetLen(0x0256, 5)
+#endif
+
+// Packet: 0x0257
+#if PACKETVER >= 20050829
+packetLen(0x0257, 8)
+#endif
+
+// Packet: 0x0258
+#if PACKETVER >= 20050912
+packetLen(0x0258, 2)
+#endif
+
+// Packet: 0x0259
+#if PACKETVER >= 20050912
+packetLen(0x0259, 3)
+#endif
+
+// Packet: 0x025a
+#if PACKETVER >= 20051010
+packetLen(0x025a, -1)
+#endif
+
+// Packet: 0x025b
+#if PACKETVER >= 20051010
+packetLen(0x025b, 6)
+#endif
+
+// Packet: 0x025c
+#if PACKETVER >= 20051013
+packetLen(0x025c, 4)
+#endif
+
+// Packet: 0x025d
+#if PACKETVER >= 20051017
+packetLen(0x025d, 6)
+#endif
+
+// Packet: 0x025e
+#if PACKETVER >= 20051017
+packetLen(0x025e, 4)
+#endif
+
+// Packet: 0x025f
+#if PACKETVER >= 20051024
+packetLen(0x025f, 6)
+#endif
+
+// Packet: 0x0260
+#if PACKETVER >= 20051024
+packetLen(0x0260, 6)
+#endif
+
+
+#endif /* COMMON_PACKETS2005_LEN_AD_H */
diff --git a/src/common/packets/packets2005_len_main.h b/src/common/packets/packets2005_len_main.h
new file mode 100644
index 000000000..c57b65693
--- /dev/null
+++ b/src/common/packets/packets2005_len_main.h
@@ -0,0 +1,1935 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2005_LEN_MAIN_H
+#define COMMON_PACKETS2005_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20051010
+packetLen(0x0072, 20)
+#elif PACKETVER >= 20050719
+packetLen(0x0072, 30)
+#elif PACKETVER >= 20050718
+packetLen(0x0072, 20)
+#elif PACKETVER >= 20050628
+packetLen(0x0072, 30)
+#elif PACKETVER >= 20050509
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20050411
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20050103
+packetLen(0x0072, 26)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20051010
+packetLen(0x007e, 103)
+#elif PACKETVER >= 20050719
+packetLen(0x007e, 120)
+#elif PACKETVER >= 20050718
+packetLen(0x007e, 103)
+#elif PACKETVER >= 20050628
+packetLen(0x007e, 120)
+#elif PACKETVER >= 20050509
+packetLen(0x007e, 110)
+#elif PACKETVER >= 20050411
+packetLen(0x007e, 109)
+#elif PACKETVER >= 20050110
+packetLen(0x007e, 108)
+#elif PACKETVER >= 20050103
+packetLen(0x007e, 34)
+#endif
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x0085, 13)
+#elif PACKETVER >= 20050719
+packetLen(0x0085, 14)
+#elif PACKETVER >= 20050718
+packetLen(0x0085, 13)
+#elif PACKETVER >= 20050628
+packetLen(0x0085, 14)
+#elif PACKETVER >= 20050509
+packetLen(0x0085, 8)
+#elif PACKETVER >= 20050411
+packetLen(0x0085, 18)
+#elif PACKETVER >= 20050110
+packetLen(0x0085, 15)
+#elif PACKETVER >= 20050103
+packetLen(0x0085, -1)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20051010
+packetLen(0x0089, 10)
+#elif PACKETVER >= 20050719
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20050718
+packetLen(0x0089, 10)
+#elif PACKETVER >= 20050628
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20050509
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x0089, 14)
+#elif PACKETVER >= 20050103
+packetLen(0x0089, 9)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20051010
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050719
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x008c, 15)
+#elif PACKETVER >= 20050628
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x008c, 13)
+#elif PACKETVER >= 20050110
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20050103
+packetLen(0x008c, 8)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x0094, 16)
+#elif PACKETVER >= 20050719
+packetLen(0x0094, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x0094, 16)
+#elif PACKETVER >= 20050628
+packetLen(0x0094, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20050411
+packetLen(0x0094, 25)
+#elif PACKETVER >= 20050110
+packetLen(0x0094, 13)
+#elif PACKETVER >= 20050103
+packetLen(0x0094, 20)
+#endif
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x009b, 33)
+#elif PACKETVER >= 20050719
+packetLen(0x009b, 35)
+#elif PACKETVER >= 20050718
+packetLen(0x009b, 33)
+#elif PACKETVER >= 20050628
+packetLen(0x009b, 35)
+#elif PACKETVER >= 20050509
+packetLen(0x009b, 29)
+#elif PACKETVER >= 20050411
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20050110
+packetLen(0x009b, 29)
+#elif PACKETVER >= 20050103
+packetLen(0x009b, 2)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20051010
+packetLen(0x009f, 17)
+#elif PACKETVER >= 20050719
+packetLen(0x009f, 21)
+#elif PACKETVER >= 20050718
+packetLen(0x009f, 17)
+#elif PACKETVER >= 20050628
+packetLen(0x009f, 21)
+#elif PACKETVER >= 20050509
+packetLen(0x009f, 15)
+#elif PACKETVER >= 20050411
+packetLen(0x009f, 18)
+#elif PACKETVER >= 20050110
+packetLen(0x009f, 13)
+#elif PACKETVER >= 20050103
+packetLen(0x009f, 20)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20051010
+packetLen(0x00a2, 12)
+#elif PACKETVER >= 20050719
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20050718
+packetLen(0x00a2, 12)
+#elif PACKETVER >= 20050628
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20050509
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20050411
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20050110
+packetLen(0x00a2, 16)
+#elif PACKETVER >= 20050103
+packetLen(0x00a2, 9)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20051010
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050719
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050718
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050628
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050509
+packetLen(0x00a7, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x00a7, 6)
+#elif PACKETVER >= 20050103
+packetLen(0x00a7, 13)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20050110
+packetLen(0x00f3, -1)
+#elif PACKETVER >= 20050103
+packetLen(0x00f3, 23)
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20051010
+packetLen(0x00f5, 10)
+#elif PACKETVER >= 20050719
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20050718
+packetLen(0x00f5, 10)
+#elif PACKETVER >= 20050628
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20050509
+packetLen(0x00f5, 7)
+#elif PACKETVER >= 20050411
+packetLen(0x00f5, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x00f5, 9)
+#elif PACKETVER >= 20050103
+packetLen(0x00f5, 32)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20051010
+packetLen(0x00f7, 26)
+#elif PACKETVER >= 20050719
+packetLen(0x00f7, 15)
+#elif PACKETVER >= 20050718
+packetLen(0x00f7, 26)
+#elif PACKETVER >= 20050628
+packetLen(0x00f7, 15)
+#elif PACKETVER >= 20050509
+packetLen(0x00f7, 21)
+#elif PACKETVER >= 20050411
+packetLen(0x00f7, 12)
+#elif PACKETVER >= 20050110
+packetLen(0x00f7, 22)
+#elif PACKETVER >= 20050103
+packetLen(0x00f7, 11)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20051010
+packetLen(0x0113, 23)
+#elif PACKETVER >= 20050719
+packetLen(0x0113, 40)
+#elif PACKETVER >= 20050718
+packetLen(0x0113, 23)
+#elif PACKETVER >= 20050628
+packetLen(0x0113, 40)
+#elif PACKETVER >= 20050509
+packetLen(0x0113, 30)
+#elif PACKETVER >= 20050411
+packetLen(0x0113, 29)
+#elif PACKETVER >= 20050110
+packetLen(0x0113, 28)
+#elif PACKETVER >= 20050103
+packetLen(0x0113, 114)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20051010
+packetLen(0x0116, 14)
+#elif PACKETVER >= 20050719
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20050718
+packetLen(0x0116, 14)
+#elif PACKETVER >= 20050628
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20050509
+packetLen(0x0116, 12)
+#elif PACKETVER >= 20050411
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20050110
+packetLen(0x0116, 12)
+#elif PACKETVER >= 20050103
+packetLen(0x0116, 20)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20051010
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20050719
+packetLen(0x0190, 10)
+#elif PACKETVER >= 20050718
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20050628
+packetLen(0x0190, 10)
+#elif PACKETVER >= 20050509
+packetLen(0x0190, 18)
+#elif PACKETVER >= 20050411
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20050110
+packetLen(0x0190, 15)
+#elif PACKETVER >= 20050103
+packetLen(0x0190, 17)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+#if PACKETVER >= 20050110
+packetLen(0x0193, 2)
+#elif PACKETVER >= 20050103
+packetLen(0x0193, 21)
+#endif
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20050103
+packetLen(0x020e, 24)
+#endif
+
+// Packet: 0x020f
+#if PACKETVER >= 20050221
+// removed
+#elif PACKETVER >= 20050103
+packetLen(0x020f, 10)
+#endif
+
+// Packet: 0x0210
+#if PACKETVER >= 20050221
+// removed
+#elif PACKETVER >= 20050103
+packetLen(0x0210, 22)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20050328
+packetLen(0x0224, 10)
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20050328
+packetLen(0x0225, 2)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20050328
+packetLen(0x0226, 282)
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20050404
+packetLen(0x0227, 18)
+#endif
+
+// Packet: 0x0228
+#if PACKETVER >= 20050404
+packetLen(0x0228, 18)
+#endif
+
+// Packet: 0x0229
+#if PACKETVER >= 20050411
+packetLen(0x0229, 15)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20050411
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20050411
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20050411
+packetLen(0x022c, 64)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20050425
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20050624
+packetLen(0x022e, 71)
+#elif PACKETVER >= 20050530
+packetLen(0x022e, 69)
+#elif PACKETVER >= 20050523
+packetLen(0x022e, 67)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20050608
+packetLen(0x022f, 5)
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20050523
+packetLen(0x0230, 12)
+#endif
+
+// Packet: 0x0231
+#if PACKETVER >= 20050608
+packetLen(0x0231, 26)
+#endif
+
+// Packet: 0x0232
+#if PACKETVER >= 20050425
+packetLen(0x0232, 9)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20050425
+packetLen(0x0233, 11)
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20050425
+packetLen(0x0234, 6)
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20050530
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+#if PACKETVER >= 20050530
+packetLen(0x0236, 10)
+#endif
+
+// Packet: 0x0237
+#if PACKETVER >= 20050530
+packetLen(0x0237, 2)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20050530
+packetLen(0x0238, 282)
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20050530
+packetLen(0x0239, 11)
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20050608
+packetLen(0x023a, 4)
+#endif
+
+// Packet: 0x023b
+#if PACKETVER >= 20050608
+packetLen(0x023b, 36)
+#endif
+
+// Packet: 0x023c
+#if PACKETVER >= 20050608
+packetLen(0x023c, 6)
+#endif
+
+// Packet: 0x023d
+#if PACKETVER >= 20050628
+packetLen(0x023d, 6)
+#endif
+
+// Packet: 0x023e
+#if PACKETVER >= 20050628
+packetLen(0x023e, 4)
+#endif
+
+// Packet: 0x023f
+#if PACKETVER >= 20050718
+packetLen(0x023f, 2)
+#endif
+
+// Packet: 0x0240
+#if PACKETVER >= 20050829
+packetLen(0x0240, -1)
+#elif PACKETVER >= 20050718
+packetLen(0x0240, 8)
+#endif
+
+// Packet: 0x0241
+#if PACKETVER >= 20050718
+packetLen(0x0241, 6)
+#endif
+
+// Packet: 0x0242
+#if PACKETVER >= 20050718
+packetLen(0x0242, -1)
+#endif
+
+// Packet: 0x0243
+#if PACKETVER >= 20050718
+packetLen(0x0243, 6)
+#endif
+
+// Packet: 0x0244
+#if PACKETVER >= 20050718
+packetLen(0x0244, 6)
+#endif
+
+// Packet: 0x0245
+#if PACKETVER >= 20050801
+packetLen(0x0245, 3)
+#elif PACKETVER >= 20050718
+packetLen(0x0245, 7)
+#endif
+
+// Packet: 0x0246
+#if PACKETVER >= 20050718
+packetLen(0x0246, 4)
+#endif
+
+// Packet: 0x0247
+#if PACKETVER >= 20050718
+packetLen(0x0247, 8)
+#endif
+
+// Packet: 0x0248
+#if PACKETVER >= 20050829
+packetLen(0x0248, -1)
+#elif PACKETVER >= 20050718
+packetLen(0x0248, 68)
+#endif
+
+// Packet: 0x0249
+#if PACKETVER >= 20050718
+packetLen(0x0249, 3)
+#endif
+
+// Packet: 0x024a
+#if PACKETVER >= 20050718
+packetLen(0x024a, 70)
+#endif
+
+// Packet: 0x024b
+#if PACKETVER >= 20050718
+packetLen(0x024b, 4)
+#endif
+
+// Packet: 0x024c
+#if PACKETVER >= 20050718
+packetLen(0x024c, 8)
+#endif
+
+// Packet: 0x024d
+#if PACKETVER >= 20050808
+packetLen(0x024d, 12)
+#elif PACKETVER >= 20050718
+packetLen(0x024d, 14)
+#endif
+
+// Packet: 0x024e
+#if PACKETVER >= 20051107
+packetLen(0x024e, 6)
+#elif PACKETVER >= 20050808
+packetLen(0x024e, 4)
+#elif PACKETVER >= 20050718
+packetLen(0x024e, 6)
+#endif
+
+// Packet: 0x024f
+#if PACKETVER >= 20050718
+packetLen(0x024f, 10)
+#endif
+
+// Packet: 0x0250
+#if PACKETVER >= 20050718
+packetLen(0x0250, 3)
+#endif
+
+// Packet: 0x0251
+#if PACKETVER >= 20051107
+packetLen(0x0251, 34)
+#elif PACKETVER >= 20051013
+packetLen(0x0251, 32)
+#elif PACKETVER >= 20050801
+packetLen(0x0251, 4)
+#elif PACKETVER >= 20050718
+packetLen(0x0251, 2)
+#endif
+
+// Packet: 0x0252
+#if PACKETVER >= 20050718
+packetLen(0x0252, -1)
+#endif
+
+// Packet: 0x0253
+#if PACKETVER >= 20050822
+packetLen(0x0253, 3)
+#endif
+
+// Packet: 0x0254
+#if PACKETVER >= 20050822
+packetLen(0x0254, 3)
+#endif
+
+// Packet: 0x0255
+#if PACKETVER >= 20050829
+packetLen(0x0255, 5)
+#endif
+
+// Packet: 0x0256
+#if PACKETVER >= 20050829
+packetLen(0x0256, 5)
+#endif
+
+// Packet: 0x0257
+#if PACKETVER >= 20050829
+packetLen(0x0257, 8)
+#endif
+
+// Packet: 0x0258
+#if PACKETVER >= 20050912
+packetLen(0x0258, 2)
+#endif
+
+// Packet: 0x0259
+#if PACKETVER >= 20050912
+packetLen(0x0259, 3)
+#endif
+
+// Packet: 0x025a
+#if PACKETVER >= 20051010
+packetLen(0x025a, -1)
+#endif
+
+// Packet: 0x025b
+#if PACKETVER >= 20051010
+packetLen(0x025b, 6)
+#endif
+
+// Packet: 0x025c
+#if PACKETVER >= 20051013
+packetLen(0x025c, 4)
+#endif
+
+// Packet: 0x025d
+#if PACKETVER >= 20051017
+packetLen(0x025d, 6)
+#endif
+
+// Packet: 0x025e
+#if PACKETVER >= 20051017
+packetLen(0x025e, 4)
+#endif
+
+// Packet: 0x025f
+#if PACKETVER >= 20051024
+packetLen(0x025f, 6)
+#endif
+
+// Packet: 0x0260
+#if PACKETVER >= 20051024
+packetLen(0x0260, 6)
+#endif
+
+
+#endif /* COMMON_PACKETS2005_LEN_MAIN_H */
diff --git a/src/common/packets/packets2005_len_sak.h b/src/common/packets/packets2005_len_sak.h
new file mode 100644
index 000000000..bf744b3d0
--- /dev/null
+++ b/src/common/packets/packets2005_len_sak.h
@@ -0,0 +1,1869 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2005_LEN_SAK_H
+#define COMMON_PACKETS2005_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 108)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20050719
+packetLen(0x0072, 34)
+#elif PACKETVER >= 20050718
+packetLen(0x0072, 19)
+#elif PACKETVER >= 20050628
+packetLen(0x0072, 34)
+#elif PACKETVER >= 20050509
+packetLen(0x0072, 25)
+#elif PACKETVER >= 20050110
+packetLen(0x0072, 26)
+#elif PACKETVER >= 20050103
+packetLen(0x0072, 22)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20050719
+packetLen(0x007e, 113)
+#elif PACKETVER >= 20050718
+packetLen(0x007e, 110)
+#elif PACKETVER >= 20050628
+packetLen(0x007e, 113)
+#elif PACKETVER >= 20050509
+packetLen(0x007e, 102)
+#elif PACKETVER >= 20050110
+packetLen(0x007e, 114)
+#elif PACKETVER >= 20050103
+packetLen(0x007e, 30)
+#endif
+
+// 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
+#if PACKETVER >= 20050719
+packetLen(0x0085, 17)
+#elif PACKETVER >= 20050718
+packetLen(0x0085, 11)
+#elif PACKETVER >= 20050628
+packetLen(0x0085, 17)
+#elif PACKETVER >= 20050509
+packetLen(0x0085, 11)
+#elif PACKETVER >= 20050110
+packetLen(0x0085, 23)
+#elif PACKETVER >= 20050103
+packetLen(0x0085, -1)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20050719
+packetLen(0x0089, 13)
+#elif PACKETVER >= 20050718
+packetLen(0x0089, 7)
+#elif PACKETVER >= 20050628
+packetLen(0x0089, 13)
+#elif PACKETVER >= 20050509
+packetLen(0x0089, 8)
+#elif PACKETVER >= 20050110
+packetLen(0x0089, 9)
+#elif PACKETVER >= 20050103
+packetLen(0x0089, 7)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20050719
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20050718
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20050628
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20050509
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20050110
+packetLen(0x008c, 8)
+#elif PACKETVER >= 20050103
+packetLen(0x008c, 13)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20050719
+packetLen(0x0094, 31)
+#elif PACKETVER >= 20050718
+packetLen(0x0094, 21)
+#elif PACKETVER >= 20050628
+packetLen(0x0094, 31)
+#elif PACKETVER >= 20050509
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x0094, 20)
+#elif PACKETVER >= 20050103
+packetLen(0x0094, 14)
+#endif
+
+// 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
+#if PACKETVER >= 20050719
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20050718
+packetLen(0x009b, 31)
+#elif PACKETVER >= 20050628
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20050509
+packetLen(0x009b, 26)
+#elif PACKETVER >= 20050110
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20050103
+packetLen(0x009b, 2)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20050719
+packetLen(0x009f, 19)
+#elif PACKETVER >= 20050718
+packetLen(0x009f, 12)
+#elif PACKETVER >= 20050628
+packetLen(0x009f, 19)
+#elif PACKETVER >= 20050509
+packetLen(0x009f, 14)
+#elif PACKETVER >= 20050110
+packetLen(0x009f, 17)
+#elif PACKETVER >= 20050103
+packetLen(0x009f, 18)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20050719
+packetLen(0x00a2, 9)
+#elif PACKETVER >= 20050718
+packetLen(0x00a2, 18)
+#elif PACKETVER >= 20050628
+packetLen(0x00a2, 9)
+#elif PACKETVER >= 20050509
+packetLen(0x00a2, 15)
+#elif PACKETVER >= 20050110
+packetLen(0x00a2, 11)
+#elif PACKETVER >= 20050103
+packetLen(0x00a2, 7)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20050719
+packetLen(0x00a7, 11)
+#elif PACKETVER >= 20050718
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20050628
+packetLen(0x00a7, 11)
+#elif PACKETVER >= 20050509
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20050110
+packetLen(0x00a7, 13)
+#elif PACKETVER >= 20050103
+packetLen(0x00a7, 7)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20050110
+packetLen(0x00f3, -1)
+#elif PACKETVER >= 20050103
+packetLen(0x00f3, 8)
+#endif
+
+// Packet: 0x00f4
+packetLen(0x00f4, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20050719
+packetLen(0x00f5, 13)
+#elif PACKETVER >= 20050718
+packetLen(0x00f5, 7)
+#elif PACKETVER >= 20050628
+packetLen(0x00f5, 13)
+#elif PACKETVER >= 20050509
+packetLen(0x00f5, 8)
+#elif PACKETVER >= 20050110
+packetLen(0x00f5, 9)
+#elif PACKETVER >= 20050103
+packetLen(0x00f5, 29)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20050719
+packetLen(0x00f7, 18)
+#elif PACKETVER >= 20050718
+packetLen(0x00f7, 13)
+#elif PACKETVER >= 20050628
+packetLen(0x00f7, 18)
+#elif PACKETVER >= 20050509
+packetLen(0x00f7, 22)
+#elif PACKETVER >= 20050110
+packetLen(0x00f7, 21)
+#elif PACKETVER >= 20050103
+packetLen(0x00f7, 14)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20050719
+packetLen(0x0113, 33)
+#elif PACKETVER >= 20050718
+packetLen(0x0113, 30)
+#elif PACKETVER >= 20050628
+packetLen(0x0113, 33)
+#elif PACKETVER >= 20050509
+packetLen(0x0113, 22)
+#elif PACKETVER >= 20050110
+packetLen(0x0113, 34)
+#elif PACKETVER >= 20050103
+packetLen(0x0113, 110)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20050628
+packetLen(0x0116, 12)
+#elif PACKETVER >= 20050509
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20050110
+packetLen(0x0116, 20)
+#elif PACKETVER >= 20050103
+packetLen(0x0116, 12)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20050719
+packetLen(0x0190, 24)
+#elif PACKETVER >= 20050718
+packetLen(0x0190, 21)
+#elif PACKETVER >= 20050628
+packetLen(0x0190, 24)
+#elif PACKETVER >= 20050509
+packetLen(0x0190, 19)
+#elif PACKETVER >= 20050110
+packetLen(0x0190, 20)
+#elif PACKETVER >= 20050103
+packetLen(0x0190, 15)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+#if PACKETVER >= 20050110
+packetLen(0x0193, 2)
+#elif PACKETVER >= 20050103
+packetLen(0x0193, 21)
+#endif
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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
+#if PACKETVER >= 20051010
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20050103
+packetLen(0x020e, 24)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20050328
+packetLen(0x0224, 10)
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20050328
+packetLen(0x0225, 2)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20050328
+packetLen(0x0226, 282)
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20050404
+packetLen(0x0227, 18)
+#endif
+
+// Packet: 0x0228
+#if PACKETVER >= 20050404
+packetLen(0x0228, 18)
+#endif
+
+// Packet: 0x0229
+#if PACKETVER >= 20050411
+packetLen(0x0229, 15)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20050411
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20050411
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20050411
+packetLen(0x022c, 64)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20050425
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20050622
+packetLen(0x022e, 71)
+#elif PACKETVER >= 20050530
+packetLen(0x022e, 69)
+#elif PACKETVER >= 20050523
+packetLen(0x022e, 67)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20050608
+packetLen(0x022f, 5)
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20050523
+packetLen(0x0230, 12)
+#endif
+
+// Packet: 0x0231
+#if PACKETVER >= 20050608
+packetLen(0x0231, 26)
+#endif
+
+// Packet: 0x0232
+#if PACKETVER >= 20050425
+packetLen(0x0232, 9)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20050425
+packetLen(0x0233, 11)
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20050425
+packetLen(0x0234, 6)
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20050530
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+#if PACKETVER >= 20050530
+packetLen(0x0236, 10)
+#endif
+
+// Packet: 0x0237
+#if PACKETVER >= 20050530
+packetLen(0x0237, 2)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20050530
+packetLen(0x0238, 282)
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20050531
+packetLen(0x0239, 11)
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20050608
+packetLen(0x023a, 4)
+#endif
+
+// Packet: 0x023b
+#if PACKETVER >= 20050608
+packetLen(0x023b, 36)
+#endif
+
+// Packet: 0x023c
+#if PACKETVER >= 20050608
+packetLen(0x023c, 6)
+#endif
+
+// Packet: 0x023d
+#if PACKETVER >= 20050628
+packetLen(0x023d, 6)
+#endif
+
+// Packet: 0x023e
+#if PACKETVER >= 20050628
+packetLen(0x023e, 4)
+#endif
+
+// Packet: 0x023f
+#if PACKETVER >= 20050718
+packetLen(0x023f, 2)
+#endif
+
+// Packet: 0x0240
+#if PACKETVER >= 20050829
+packetLen(0x0240, -1)
+#elif PACKETVER >= 20050718
+packetLen(0x0240, 8)
+#endif
+
+// Packet: 0x0241
+#if PACKETVER >= 20050718
+packetLen(0x0241, 6)
+#endif
+
+// Packet: 0x0242
+#if PACKETVER >= 20050718
+packetLen(0x0242, -1)
+#endif
+
+// Packet: 0x0243
+#if PACKETVER >= 20050718
+packetLen(0x0243, 6)
+#endif
+
+// Packet: 0x0244
+#if PACKETVER >= 20050718
+packetLen(0x0244, 6)
+#endif
+
+// Packet: 0x0245
+#if PACKETVER >= 20050801
+packetLen(0x0245, 3)
+#elif PACKETVER >= 20050718
+packetLen(0x0245, 7)
+#endif
+
+// Packet: 0x0246
+#if PACKETVER >= 20050718
+packetLen(0x0246, 4)
+#endif
+
+// Packet: 0x0247
+#if PACKETVER >= 20050718
+packetLen(0x0247, 8)
+#endif
+
+// Packet: 0x0248
+#if PACKETVER >= 20050829
+packetLen(0x0248, -1)
+#elif PACKETVER >= 20050718
+packetLen(0x0248, 68)
+#endif
+
+// Packet: 0x0249
+#if PACKETVER >= 20050718
+packetLen(0x0249, 3)
+#endif
+
+// Packet: 0x024a
+#if PACKETVER >= 20050718
+packetLen(0x024a, 70)
+#endif
+
+// Packet: 0x024b
+#if PACKETVER >= 20050718
+packetLen(0x024b, 4)
+#endif
+
+// Packet: 0x024c
+#if PACKETVER >= 20050718
+packetLen(0x024c, 8)
+#endif
+
+// Packet: 0x024d
+#if PACKETVER >= 20050808
+packetLen(0x024d, 12)
+#elif PACKETVER >= 20050718
+packetLen(0x024d, 14)
+#endif
+
+// Packet: 0x024e
+#if PACKETVER >= 20051107
+packetLen(0x024e, 6)
+#elif PACKETVER >= 20050808
+packetLen(0x024e, 4)
+#elif PACKETVER >= 20050718
+packetLen(0x024e, 6)
+#endif
+
+// Packet: 0x024f
+#if PACKETVER >= 20050718
+packetLen(0x024f, 10)
+#endif
+
+// Packet: 0x0250
+#if PACKETVER >= 20050718
+packetLen(0x0250, 3)
+#endif
+
+// Packet: 0x0251
+#if PACKETVER >= 20051107
+packetLen(0x0251, 34)
+#elif PACKETVER >= 20051013
+packetLen(0x0251, 32)
+#elif PACKETVER >= 20050801
+packetLen(0x0251, 4)
+#elif PACKETVER >= 20050718
+packetLen(0x0251, 2)
+#endif
+
+// Packet: 0x0252
+#if PACKETVER >= 20050718
+packetLen(0x0252, -1)
+#endif
+
+// Packet: 0x0253
+#if PACKETVER >= 20050817
+packetLen(0x0253, 3)
+#endif
+
+// Packet: 0x0254
+#if PACKETVER >= 20050817
+packetLen(0x0254, 3)
+#endif
+
+// Packet: 0x0255
+#if PACKETVER >= 20050829
+packetLen(0x0255, 5)
+#endif
+
+// Packet: 0x0256
+#if PACKETVER >= 20050829
+packetLen(0x0256, 5)
+#endif
+
+// Packet: 0x0257
+#if PACKETVER >= 20050829
+packetLen(0x0257, 8)
+#endif
+
+// Packet: 0x0258
+#if PACKETVER >= 20050912
+packetLen(0x0258, 2)
+#endif
+
+// Packet: 0x0259
+#if PACKETVER >= 20050912
+packetLen(0x0259, 3)
+#endif
+
+// Packet: 0x025a
+#if PACKETVER >= 20051010
+packetLen(0x025a, -1)
+#endif
+
+// Packet: 0x025b
+#if PACKETVER >= 20051010
+packetLen(0x025b, 6)
+#endif
+
+// Packet: 0x025c
+#if PACKETVER >= 20051013
+packetLen(0x025c, 4)
+#endif
+
+// Packet: 0x025d
+#if PACKETVER >= 20051017
+packetLen(0x025d, 6)
+#endif
+
+// Packet: 0x025e
+#if PACKETVER >= 20051017
+packetLen(0x025e, 4)
+#endif
+
+// Packet: 0x025f
+#if PACKETVER >= 20051024
+packetLen(0x025f, 6)
+#endif
+
+// Packet: 0x0260
+#if PACKETVER >= 20051024
+packetLen(0x0260, 6)
+#endif
+
+
+#endif /* COMMON_PACKETS2005_LEN_SAK_H */
diff --git a/src/common/packets/packets2006_len_ad.h b/src/common/packets/packets2006_len_ad.h
new file mode 100644
index 000000000..dc5cfe25e
--- /dev/null
+++ b/src/common/packets/packets2006_len_ad.h
@@ -0,0 +1,1925 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2006_LEN_AD_H
+#define COMMON_PACKETS2006_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20061030
+packetLen(0x006d, 110)
+#elif PACKETVER >= 20060102
+packetLen(0x006d, 108)
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20060327
+packetLen(0x0072, 25)
+#elif PACKETVER >= 20060102
+packetLen(0x0072, 20)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20060327
+packetLen(0x007e, 102)
+#elif PACKETVER >= 20060102
+packetLen(0x007e, 103)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x0085, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x0085, 13)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20060327
+packetLen(0x0089, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x0089, 10)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20060327
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x008c, 15)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20060102
+packetLen(0x0094, 16)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x009b, 26)
+#elif PACKETVER >= 20060102
+packetLen(0x009b, 33)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20060327
+packetLen(0x009f, 14)
+#elif PACKETVER >= 20060102
+packetLen(0x009f, 17)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20060327
+packetLen(0x00a2, 15)
+#elif PACKETVER >= 20060102
+packetLen(0x00a2, 12)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20060327
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x00a7, 6)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20060327
+packetLen(0x00f5, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x00f5, 10)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20060327
+packetLen(0x00f7, 22)
+#elif PACKETVER >= 20060102
+packetLen(0x00f7, 26)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20060327
+packetLen(0x0113, 22)
+#elif PACKETVER >= 20060102
+packetLen(0x0113, 23)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20060327
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20060102
+packetLen(0x0116, 14)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20060327
+packetLen(0x0190, 19)
+#elif PACKETVER >= 20060102
+packetLen(0x0190, 9)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 64)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20061207
+packetLen(0x023e, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x023e, 4)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20060109
+packetLen(0x0261, 11)
+#endif
+
+// Packet: 0x0262
+#if PACKETVER >= 20060109
+packetLen(0x0262, 11)
+#endif
+
+// Packet: 0x0263
+#if PACKETVER >= 20060109
+packetLen(0x0263, 11)
+#endif
+
+// Packet: 0x0264
+#if PACKETVER >= 20060109
+packetLen(0x0264, 20)
+#endif
+
+// Packet: 0x0265
+#if PACKETVER >= 20060109
+packetLen(0x0265, 20)
+#endif
+
+// Packet: 0x0266
+#if PACKETVER >= 20060109
+packetLen(0x0266, 30)
+#endif
+
+// Packet: 0x0267
+#if PACKETVER >= 20060109
+packetLen(0x0267, 4)
+#endif
+
+// Packet: 0x0268
+#if PACKETVER >= 20060109
+packetLen(0x0268, 4)
+#endif
+
+// Packet: 0x0269
+#if PACKETVER >= 20060109
+packetLen(0x0269, 4)
+#endif
+
+// Packet: 0x026a
+#if PACKETVER >= 20060109
+packetLen(0x026a, 4)
+#endif
+
+// Packet: 0x026b
+#if PACKETVER >= 20060109
+packetLen(0x026b, 4)
+#endif
+
+// Packet: 0x026c
+#if PACKETVER >= 20060109
+packetLen(0x026c, 4)
+#endif
+
+// Packet: 0x026d
+#if PACKETVER >= 20060109
+packetLen(0x026d, 4)
+#endif
+
+// Packet: 0x026f
+#if PACKETVER >= 20060109
+packetLen(0x026f, 2)
+#endif
+
+// Packet: 0x0270
+#if PACKETVER >= 20060109
+packetLen(0x0270, 2)
+#endif
+
+// Packet: 0x0271
+#if PACKETVER >= 20060126
+packetLen(0x0271, 40)
+#elif PACKETVER >= 20060109
+packetLen(0x0271, 38)
+#endif
+
+// Packet: 0x0272
+#if PACKETVER >= 20060109
+packetLen(0x0272, 44)
+#endif
+
+// Packet: 0x0273
+#if PACKETVER >= 20060313
+packetLen(0x0273, 30)
+#elif PACKETVER >= 20060306
+packetLen(0x0273, 6)
+#endif
+
+// Packet: 0x0274
+#if PACKETVER >= 20060306
+packetLen(0x0274, 8)
+#endif
+
+// Packet: 0x0277
+#if PACKETVER >= 20060424
+packetLen(0x0277, 84)
+#endif
+
+// Packet: 0x0278
+#if PACKETVER >= 20060607
+packetLen(0x0278, 2)
+#endif
+
+// Packet: 0x0279
+#if PACKETVER >= 20060607
+packetLen(0x0279, 2)
+#endif
+
+// Packet: 0x027a
+#if PACKETVER >= 20060607
+packetLen(0x027a, -1)
+#endif
+
+// Packet: 0x027b
+#if PACKETVER >= 20060626
+packetLen(0x027b, 14)
+#endif
+
+// Packet: 0x027c
+#if PACKETVER >= 20060626
+packetLen(0x027c, 60)
+#endif
+
+// Packet: 0x027d
+#if PACKETVER >= 20060703
+packetLen(0x027d, 62)
+#endif
+
+// Packet: 0x027e
+#if PACKETVER >= 20060710
+packetLen(0x027e, -1)
+#endif
+
+// Packet: 0x027f
+#if PACKETVER >= 20060821
+packetLen(0x027f, 8)
+#elif PACKETVER >= 20060731
+packetLen(0x027f, 4)
+#endif
+
+// Packet: 0x0280
+#if PACKETVER >= 20060918
+packetLen(0x0280, 12)
+#elif PACKETVER >= 20060904
+packetLen(0x0280, 10)
+#endif
+
+// Packet: 0x0281
+#if PACKETVER >= 20060918
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20060904
+packetLen(0x0281, 2)
+#endif
+
+// Packet: 0x0282
+#if PACKETVER >= 20060918
+packetLen(0x0282, 284)
+#elif PACKETVER >= 20060904
+packetLen(0x0282, 282)
+#endif
+
+// Packet: 0x0283
+#if PACKETVER >= 20060904
+packetLen(0x0283, 6)
+#endif
+
+// Packet: 0x0284
+#if PACKETVER >= 20060911
+packetLen(0x0284, 14)
+#endif
+
+// Packet: 0x0285
+#if PACKETVER >= 20060918
+packetLen(0x0285, 6)
+#endif
+
+// Packet: 0x0286
+#if PACKETVER >= 20060918
+packetLen(0x0286, 4)
+#endif
+
+// Packet: 0x028a
+#if PACKETVER >= 20060927
+packetLen(0x028a, 18)
+#endif
+
+// Packet: 0x028b
+#if PACKETVER >= 20061030
+packetLen(0x028b, -1)
+#endif
+
+// Packet: 0x028c
+#if PACKETVER >= 20061030
+packetLen(0x028c, 46)
+#endif
+
+// Packet: 0x028d
+#if PACKETVER >= 20061030
+packetLen(0x028d, 34)
+#endif
+
+// Packet: 0x028e
+#if PACKETVER >= 20061030
+packetLen(0x028e, 4)
+#endif
+
+// Packet: 0x028f
+#if PACKETVER >= 20061030
+packetLen(0x028f, 6)
+#endif
+
+// Packet: 0x0290
+#if PACKETVER >= 20061030
+packetLen(0x0290, 4)
+#endif
+
+// Packet: 0x0291
+#if PACKETVER >= 20061030
+packetLen(0x0291, 4)
+#endif
+
+// Packet: 0x0292
+#if PACKETVER >= 20061030
+packetLen(0x0292, 2)
+#endif
+
+// Packet: 0x0293
+#if PACKETVER >= 20061204
+packetLen(0x0293, 70)
+#elif PACKETVER >= 20061030
+packetLen(0x0293, 66)
+#endif
+
+// Packet: 0x0294
+#if PACKETVER >= 20061204
+packetLen(0x0294, 10)
+#endif
+
+// Packet: 0x0295
+#if PACKETVER >= 20061218
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0295, 4)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20061218
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0296, 4)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20061218
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0297, 4)
+#endif
+
+// Packet: 0x0298
+#if PACKETVER >= 20061211
+packetLen(0x0298, 8)
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20061211
+packetLen(0x0299, 6)
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20061218
+packetLen(0x029a, 27)
+#endif
+
+// Packet: 0x029b
+#if PACKETVER >= 20061226
+packetLen(0x029b, 70)
+#endif
+
+// Packet: 0x029c
+#if PACKETVER >= 20061226
+packetLen(0x029c, 66)
+#endif
+
+// Packet: 0x029d
+#if PACKETVER >= 20061226
+packetLen(0x029d, -1)
+#endif
+
+// Packet: 0x029e
+#if PACKETVER >= 20061226
+packetLen(0x029e, 11)
+#endif
+
+// Packet: 0x029f
+#if PACKETVER >= 20061226
+packetLen(0x029f, 3)
+#endif
+
+// Packet: 0x02a0
+#if PACKETVER >= 20061226
+packetLen(0x02a0, 10)
+#endif
+
+// Packet: 0x02a1
+#if PACKETVER >= 20061226
+packetLen(0x02a1, 4)
+#endif
+
+// Packet: 0x02a2
+#if PACKETVER >= 20061226
+packetLen(0x02a2, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2006_LEN_AD_H */
diff --git a/src/common/packets/packets2006_len_main.h b/src/common/packets/packets2006_len_main.h
new file mode 100644
index 000000000..ed15984cf
--- /dev/null
+++ b/src/common/packets/packets2006_len_main.h
@@ -0,0 +1,1919 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2006_LEN_MAIN_H
+#define COMMON_PACKETS2006_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20061030
+packetLen(0x006d, 110)
+#elif PACKETVER >= 20060102
+packetLen(0x006d, 108)
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20060327
+packetLen(0x0072, 25)
+#elif PACKETVER >= 20060102
+packetLen(0x0072, 20)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20060327
+packetLen(0x007e, 102)
+#elif PACKETVER >= 20060102
+packetLen(0x007e, 103)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x0085, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x0085, 13)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20060327
+packetLen(0x0089, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x0089, 10)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20060327
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x008c, 15)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20060102
+packetLen(0x0094, 16)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x009b, 26)
+#elif PACKETVER >= 20060102
+packetLen(0x009b, 33)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20060327
+packetLen(0x009f, 14)
+#elif PACKETVER >= 20060102
+packetLen(0x009f, 17)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20060327
+packetLen(0x00a2, 15)
+#elif PACKETVER >= 20060102
+packetLen(0x00a2, 12)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20060327
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x00a7, 6)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20060327
+packetLen(0x00f5, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x00f5, 10)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20060327
+packetLen(0x00f7, 22)
+#elif PACKETVER >= 20060102
+packetLen(0x00f7, 26)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20060327
+packetLen(0x0113, 22)
+#elif PACKETVER >= 20060102
+packetLen(0x0113, 23)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20060327
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20060102
+packetLen(0x0116, 14)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20060327
+packetLen(0x0190, 19)
+#elif PACKETVER >= 20060102
+packetLen(0x0190, 9)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 64)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20061207
+packetLen(0x023e, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x023e, 4)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20060109
+packetLen(0x0261, 11)
+#endif
+
+// Packet: 0x0262
+#if PACKETVER >= 20060109
+packetLen(0x0262, 11)
+#endif
+
+// Packet: 0x0263
+#if PACKETVER >= 20060109
+packetLen(0x0263, 11)
+#endif
+
+// Packet: 0x0264
+#if PACKETVER >= 20060109
+packetLen(0x0264, 20)
+#endif
+
+// Packet: 0x0265
+#if PACKETVER >= 20060109
+packetLen(0x0265, 20)
+#endif
+
+// Packet: 0x0266
+#if PACKETVER >= 20060109
+packetLen(0x0266, 30)
+#endif
+
+// Packet: 0x0267
+#if PACKETVER >= 20060109
+packetLen(0x0267, 4)
+#endif
+
+// Packet: 0x0268
+#if PACKETVER >= 20060109
+packetLen(0x0268, 4)
+#endif
+
+// Packet: 0x0269
+#if PACKETVER >= 20060109
+packetLen(0x0269, 4)
+#endif
+
+// Packet: 0x026a
+#if PACKETVER >= 20060109
+packetLen(0x026a, 4)
+#endif
+
+// Packet: 0x026b
+#if PACKETVER >= 20060109
+packetLen(0x026b, 4)
+#endif
+
+// Packet: 0x026c
+#if PACKETVER >= 20060109
+packetLen(0x026c, 4)
+#endif
+
+// Packet: 0x026d
+#if PACKETVER >= 20060109
+packetLen(0x026d, 4)
+#endif
+
+// Packet: 0x026f
+#if PACKETVER >= 20060109
+packetLen(0x026f, 2)
+#endif
+
+// Packet: 0x0270
+#if PACKETVER >= 20060109
+packetLen(0x0270, 2)
+#endif
+
+// Packet: 0x0271
+#if PACKETVER >= 20060126
+packetLen(0x0271, 40)
+#elif PACKETVER >= 20060109
+packetLen(0x0271, 38)
+#endif
+
+// Packet: 0x0272
+#if PACKETVER >= 20060109
+packetLen(0x0272, 44)
+#endif
+
+// Packet: 0x0273
+#if PACKETVER >= 20060313
+packetLen(0x0273, 30)
+#elif PACKETVER >= 20060306
+packetLen(0x0273, 6)
+#endif
+
+// Packet: 0x0274
+#if PACKETVER >= 20060306
+packetLen(0x0274, 8)
+#endif
+
+// Packet: 0x0277
+#if PACKETVER >= 20060424
+packetLen(0x0277, 84)
+#endif
+
+// Packet: 0x0278
+#if PACKETVER >= 20060607
+packetLen(0x0278, 2)
+#endif
+
+// Packet: 0x0279
+#if PACKETVER >= 20060607
+packetLen(0x0279, 2)
+#endif
+
+// Packet: 0x027a
+#if PACKETVER >= 20060607
+packetLen(0x027a, -1)
+#endif
+
+// Packet: 0x027b
+#if PACKETVER >= 20060626
+packetLen(0x027b, 14)
+#endif
+
+// Packet: 0x027c
+#if PACKETVER >= 20060626
+packetLen(0x027c, 60)
+#endif
+
+// Packet: 0x027d
+#if PACKETVER >= 20060703
+packetLen(0x027d, 62)
+#endif
+
+// Packet: 0x027e
+#if PACKETVER >= 20060710
+packetLen(0x027e, -1)
+#endif
+
+// Packet: 0x027f
+#if PACKETVER >= 20060821
+packetLen(0x027f, 8)
+#elif PACKETVER >= 20060731
+packetLen(0x027f, 4)
+#endif
+
+// Packet: 0x0280
+#if PACKETVER >= 20060918
+packetLen(0x0280, 12)
+#elif PACKETVER >= 20060904
+packetLen(0x0280, 10)
+#endif
+
+// Packet: 0x0281
+#if PACKETVER >= 20060918
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20060904
+packetLen(0x0281, 2)
+#endif
+
+// Packet: 0x0282
+#if PACKETVER >= 20060918
+packetLen(0x0282, 284)
+#elif PACKETVER >= 20060904
+packetLen(0x0282, 282)
+#endif
+
+// Packet: 0x0283
+#if PACKETVER >= 20060904
+packetLen(0x0283, 6)
+#endif
+
+// Packet: 0x0284
+#if PACKETVER >= 20060911
+packetLen(0x0284, 14)
+#endif
+
+// Packet: 0x0285
+#if PACKETVER >= 20060918
+packetLen(0x0285, 6)
+#endif
+
+// Packet: 0x0286
+#if PACKETVER >= 20060918
+packetLen(0x0286, 4)
+#endif
+
+// Packet: 0x028a
+#if PACKETVER >= 20060927
+packetLen(0x028a, 18)
+#endif
+
+// Packet: 0x028b
+#if PACKETVER >= 20061030
+packetLen(0x028b, -1)
+#endif
+
+// Packet: 0x028c
+#if PACKETVER >= 20061030
+packetLen(0x028c, 46)
+#endif
+
+// Packet: 0x028d
+#if PACKETVER >= 20061030
+packetLen(0x028d, 34)
+#endif
+
+// Packet: 0x028e
+#if PACKETVER >= 20061030
+packetLen(0x028e, 4)
+#endif
+
+// Packet: 0x028f
+#if PACKETVER >= 20061030
+packetLen(0x028f, 6)
+#endif
+
+// Packet: 0x0290
+#if PACKETVER >= 20061030
+packetLen(0x0290, 4)
+#endif
+
+// Packet: 0x0291
+#if PACKETVER >= 20061030
+packetLen(0x0291, 4)
+#endif
+
+// Packet: 0x0292
+#if PACKETVER >= 20061030
+packetLen(0x0292, 2)
+#endif
+
+// Packet: 0x0293
+#if PACKETVER >= 20061204
+packetLen(0x0293, 70)
+#elif PACKETVER >= 20061030
+packetLen(0x0293, 66)
+#endif
+
+// Packet: 0x0294
+#if PACKETVER >= 20061204
+packetLen(0x0294, 10)
+#endif
+
+// Packet: 0x0295
+#if PACKETVER >= 20061218
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0295, 4)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20061218
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0296, 4)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20061218
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0297, 4)
+#endif
+
+// Packet: 0x0298
+#if PACKETVER >= 20061211
+packetLen(0x0298, 8)
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20061211
+packetLen(0x0299, 6)
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20061218
+packetLen(0x029a, 27)
+#endif
+
+// Packet: 0x029b
+#if PACKETVER >= 20061226
+packetLen(0x029b, 70)
+#endif
+
+// Packet: 0x029c
+#if PACKETVER >= 20061226
+packetLen(0x029c, 66)
+#endif
+
+// Packet: 0x029d
+#if PACKETVER >= 20061226
+packetLen(0x029d, -1)
+#endif
+
+// Packet: 0x029e
+#if PACKETVER >= 20061226
+packetLen(0x029e, 11)
+#endif
+
+// Packet: 0x029f
+#if PACKETVER >= 20061226
+packetLen(0x029f, 3)
+#endif
+
+// Packet: 0x02a0
+#if PACKETVER >= 20061226
+packetLen(0x02a0, 10)
+#endif
+
+// Packet: 0x02a1
+#if PACKETVER >= 20061226
+packetLen(0x02a1, 4)
+#endif
+
+// Packet: 0x02a2
+#if PACKETVER >= 20061226
+packetLen(0x02a2, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2006_LEN_MAIN_H */
diff --git a/src/common/packets/packets2006_len_sak.h b/src/common/packets/packets2006_len_sak.h
new file mode 100644
index 000000000..1c3243cac
--- /dev/null
+++ b/src/common/packets/packets2006_len_sak.h
@@ -0,0 +1,1932 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2006_LEN_SAK_H
+#define COMMON_PACKETS2006_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20061023
+packetLen(0x006d, 110)
+#elif PACKETVER >= 20060102
+packetLen(0x006d, 108)
+#endif
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20060327
+packetLen(0x0072, 26)
+#elif PACKETVER >= 20060102
+packetLen(0x0072, 34)
+#endif
+
+// 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, 54)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 41)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20060327
+packetLen(0x007e, 120)
+#elif PACKETVER >= 20060102
+packetLen(0x007e, 113)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x0085, 12)
+#elif PACKETVER >= 20060102
+packetLen(0x0085, 17)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 13)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20060327
+packetLen(0x008c, 12)
+#elif PACKETVER >= 20060102
+packetLen(0x008c, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x0094, 23)
+#elif PACKETVER >= 20060102
+packetLen(0x0094, 31)
+#endif
+
+// 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
+#if PACKETVER >= 20060327
+packetLen(0x009b, 37)
+#elif PACKETVER >= 20060102
+packetLen(0x009b, 32)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20060327
+packetLen(0x009f, 24)
+#elif PACKETVER >= 20060102
+packetLen(0x009f, 19)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20060327
+packetLen(0x00a2, 11)
+#elif PACKETVER >= 20060102
+packetLen(0x00a2, 9)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20060327
+packetLen(0x00a7, 15)
+#elif PACKETVER >= 20060102
+packetLen(0x00a7, 11)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 13)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20060327
+packetLen(0x00f7, 26)
+#elif PACKETVER >= 20060102
+packetLen(0x00f7, 18)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20060327
+packetLen(0x0113, 40)
+#elif PACKETVER >= 20060102
+packetLen(0x0113, 33)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20060327
+packetLen(0x0116, 17)
+#elif PACKETVER >= 20060102
+packetLen(0x0116, 12)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20060327
+packetLen(0x0190, 18)
+#elif PACKETVER >= 20060102
+packetLen(0x0190, 24)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 4)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 64)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20061207
+packetLen(0x023e, 8)
+#elif PACKETVER >= 20060102
+packetLen(0x023e, 4)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20060109
+packetLen(0x0261, 11)
+#endif
+
+// Packet: 0x0262
+#if PACKETVER >= 20060109
+packetLen(0x0262, 11)
+#endif
+
+// Packet: 0x0263
+#if PACKETVER >= 20060109
+packetLen(0x0263, 11)
+#endif
+
+// Packet: 0x0264
+#if PACKETVER >= 20060109
+packetLen(0x0264, 20)
+#endif
+
+// Packet: 0x0265
+#if PACKETVER >= 20060109
+packetLen(0x0265, 20)
+#endif
+
+// Packet: 0x0266
+#if PACKETVER >= 20060109
+packetLen(0x0266, 30)
+#endif
+
+// Packet: 0x0267
+#if PACKETVER >= 20060109
+packetLen(0x0267, 4)
+#endif
+
+// Packet: 0x0268
+#if PACKETVER >= 20060109
+packetLen(0x0268, 4)
+#endif
+
+// Packet: 0x0269
+#if PACKETVER >= 20060109
+packetLen(0x0269, 4)
+#endif
+
+// Packet: 0x026a
+#if PACKETVER >= 20060109
+packetLen(0x026a, 4)
+#endif
+
+// Packet: 0x026b
+#if PACKETVER >= 20060109
+packetLen(0x026b, 4)
+#endif
+
+// Packet: 0x026c
+#if PACKETVER >= 20060109
+packetLen(0x026c, 4)
+#endif
+
+// Packet: 0x026d
+#if PACKETVER >= 20060109
+packetLen(0x026d, 4)
+#endif
+
+// Packet: 0x026f
+#if PACKETVER >= 20060109
+packetLen(0x026f, 2)
+#endif
+
+// Packet: 0x0270
+#if PACKETVER >= 20060109
+packetLen(0x0270, 2)
+#endif
+
+// Packet: 0x0271
+#if PACKETVER >= 20060126
+packetLen(0x0271, 40)
+#elif PACKETVER >= 20060109
+packetLen(0x0271, 38)
+#endif
+
+// Packet: 0x0272
+#if PACKETVER >= 20060109
+packetLen(0x0272, 44)
+#endif
+
+// Packet: 0x0273
+#if PACKETVER >= 20060313
+packetLen(0x0273, 30)
+#elif PACKETVER >= 20060306
+packetLen(0x0273, 6)
+#endif
+
+// Packet: 0x0274
+#if PACKETVER >= 20060306
+packetLen(0x0274, 8)
+#endif
+
+// Packet: 0x0277
+#if PACKETVER >= 20060424
+packetLen(0x0277, 84)
+#endif
+
+// Packet: 0x0278
+#if PACKETVER >= 20060607
+packetLen(0x0278, 2)
+#endif
+
+// Packet: 0x0279
+#if PACKETVER >= 20060607
+packetLen(0x0279, 2)
+#endif
+
+// Packet: 0x027a
+#if PACKETVER >= 20060607
+packetLen(0x027a, -1)
+#endif
+
+// Packet: 0x027b
+#if PACKETVER >= 20060626
+packetLen(0x027b, 14)
+#endif
+
+// Packet: 0x027c
+#if PACKETVER >= 20060626
+packetLen(0x027c, 60)
+#endif
+
+// Packet: 0x027d
+#if PACKETVER >= 20060703
+packetLen(0x027d, 62)
+#endif
+
+// Packet: 0x027e
+#if PACKETVER >= 20060710
+packetLen(0x027e, -1)
+#endif
+
+// Packet: 0x027f
+#if PACKETVER >= 20060821
+packetLen(0x027f, 8)
+#elif PACKETVER >= 20060731
+packetLen(0x027f, 4)
+#endif
+
+// Packet: 0x0280
+#if PACKETVER >= 20060918
+packetLen(0x0280, 12)
+#elif PACKETVER >= 20060904
+packetLen(0x0280, 10)
+#endif
+
+// Packet: 0x0281
+#if PACKETVER >= 20060918
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20060904
+packetLen(0x0281, 2)
+#endif
+
+// Packet: 0x0282
+#if PACKETVER >= 20060918
+packetLen(0x0282, 284)
+#elif PACKETVER >= 20060904
+packetLen(0x0282, 282)
+#endif
+
+// Packet: 0x0283
+#if PACKETVER >= 20060904
+packetLen(0x0283, 6)
+#endif
+
+// Packet: 0x0284
+#if PACKETVER >= 20060911
+packetLen(0x0284, 14)
+#endif
+
+// Packet: 0x0285
+#if PACKETVER >= 20060918
+packetLen(0x0285, 6)
+#endif
+
+// Packet: 0x0286
+#if PACKETVER >= 20060918
+packetLen(0x0286, 4)
+#endif
+
+// Packet: 0x0287
+#if PACKETVER >= 20061204
+packetLen(0x0287, -1)
+#endif
+
+// Packet: 0x0288
+#if PACKETVER >= 20061204
+packetLen(0x0288, 6)
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20061204
+packetLen(0x0289, 8)
+#endif
+
+// Packet: 0x028a
+#if PACKETVER >= 20060927
+packetLen(0x028a, 18)
+#endif
+
+// Packet: 0x028b
+#if PACKETVER >= 20061023
+packetLen(0x028b, -1)
+#endif
+
+// Packet: 0x028c
+#if PACKETVER >= 20061023
+packetLen(0x028c, 46)
+#endif
+
+// Packet: 0x028d
+#if PACKETVER >= 20061023
+packetLen(0x028d, 34)
+#endif
+
+// Packet: 0x028e
+#if PACKETVER >= 20061023
+packetLen(0x028e, 4)
+#endif
+
+// Packet: 0x028f
+#if PACKETVER >= 20061023
+packetLen(0x028f, 6)
+#endif
+
+// Packet: 0x0290
+#if PACKETVER >= 20061023
+packetLen(0x0290, 4)
+#endif
+
+// Packet: 0x0291
+#if PACKETVER >= 20061030
+packetLen(0x0291, 4)
+#endif
+
+// Packet: 0x0292
+#if PACKETVER >= 20061030
+packetLen(0x0292, 2)
+#endif
+
+// Packet: 0x0293
+#if PACKETVER >= 20061204
+packetLen(0x0293, 70)
+#elif PACKETVER >= 20061030
+packetLen(0x0293, 66)
+#endif
+
+// Packet: 0x0294
+#if PACKETVER >= 20061204
+packetLen(0x0294, 10)
+#endif
+
+// Packet: 0x0295
+#if PACKETVER >= 20061218
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0295, 4)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20061218
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0296, 4)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20061218
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20061211
+packetLen(0x0297, 4)
+#endif
+
+// Packet: 0x0298
+#if PACKETVER >= 20061211
+packetLen(0x0298, 8)
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20061211
+packetLen(0x0299, 6)
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20061218
+packetLen(0x029a, 27)
+#endif
+
+// Packet: 0x029b
+#if PACKETVER >= 20061226
+packetLen(0x029b, 70)
+#endif
+
+// Packet: 0x029c
+#if PACKETVER >= 20061226
+packetLen(0x029c, 66)
+#endif
+
+// Packet: 0x029d
+#if PACKETVER >= 20061226
+packetLen(0x029d, -1)
+#endif
+
+// Packet: 0x029e
+#if PACKETVER >= 20061226
+packetLen(0x029e, 11)
+#endif
+
+// Packet: 0x029f
+#if PACKETVER >= 20061226
+packetLen(0x029f, 3)
+#endif
+
+// Packet: 0x02a0
+#if PACKETVER >= 20061226
+packetLen(0x02a0, 10)
+#endif
+
+// Packet: 0x02a1
+#if PACKETVER >= 20061226
+packetLen(0x02a1, 4)
+#endif
+
+// Packet: 0x02a2
+#if PACKETVER >= 20061226
+packetLen(0x02a2, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2006_LEN_SAK_H */
diff --git a/src/common/packets/packets2007_len_ad.h b/src/common/packets/packets2007_len_ad.h
new file mode 100644
index 000000000..2eb90e88f
--- /dev/null
+++ b/src/common/packets/packets2007_len_ad.h
@@ -0,0 +1,2223 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2007_LEN_AD_H
+#define COMMON_PACKETS2007_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20070212
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20070108
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x0072, 25)
+#endif
+
+// 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
+#if PACKETVER >= 20071127
+packetLen(0x0078, 55)
+#elif PACKETVER >= 20070102
+packetLen(0x0078, 54)
+#endif
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+#if PACKETVER >= 20071127
+packetLen(0x007c, 42)
+#elif PACKETVER >= 20070102
+packetLen(0x007c, 41)
+#endif
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20070212
+packetLen(0x007e, 105)
+#elif PACKETVER >= 20070108
+packetLen(0x007e, 109)
+#elif PACKETVER >= 20070102
+packetLen(0x007e, 102)
+#endif
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x0085, 10)
+#elif PACKETVER >= 20070108
+packetLen(0x0085, 18)
+#elif PACKETVER >= 20070102
+packetLen(0x0085, 11)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20070212
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x0089, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x0089, 8)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20070212
+packetLen(0x008c, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x008c, 11)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x0094, 19)
+#elif PACKETVER >= 20070108
+packetLen(0x0094, 25)
+#elif PACKETVER >= 20070102
+packetLen(0x0094, 14)
+#endif
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x009b, 34)
+#elif PACKETVER >= 20070108
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20070102
+packetLen(0x009b, 26)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20070212
+packetLen(0x009f, 20)
+#elif PACKETVER >= 20070108
+packetLen(0x009f, 18)
+#elif PACKETVER >= 20070102
+packetLen(0x009f, 14)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20070212
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x00a2, 15)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20070212
+packetLen(0x00a7, 9)
+#elif PACKETVER >= 20070108
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x00a7, 8)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20070212
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x00f5, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x00f5, 8)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20070212
+packetLen(0x00f7, 17)
+#elif PACKETVER >= 20070108
+packetLen(0x00f7, 12)
+#elif PACKETVER >= 20070102
+packetLen(0x00f7, 22)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20070212
+packetLen(0x0113, 25)
+#elif PACKETVER >= 20070108
+packetLen(0x0113, 29)
+#elif PACKETVER >= 20070102
+packetLen(0x0113, 22)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20070212
+packetLen(0x0116, 17)
+#elif PACKETVER >= 20070108
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20070102
+packetLen(0x0116, 10)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20070212
+packetLen(0x0190, 23)
+#elif PACKETVER >= 20070108
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20070102
+packetLen(0x0190, 19)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20070528
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20070102
+packetLen(0x01fd, 4)
+#endif
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+#if PACKETVER >= 20071127
+packetLen(0x022c, 65)
+#elif PACKETVER >= 20070102
+packetLen(0x022c, 64)
+#endif
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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: 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
+#if PACKETVER >= 20070423
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0287, -1)
+#endif
+
+// Packet: 0x0288
+#if PACKETVER >= 20070711
+packetLen(0x0288, 10)
+#elif PACKETVER >= 20070423
+packetLen(0x0288, 6)
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0288, 6)
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20070711
+packetLen(0x0289, 12)
+#elif PACKETVER >= 20070423
+packetLen(0x0289, 8)
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0289, 8)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// Packet: 0x029b
+#if PACKETVER >= 20071127
+packetLen(0x029b, 80)
+#elif PACKETVER >= 20070122
+packetLen(0x029b, 72)
+#elif PACKETVER >= 20070102
+packetLen(0x029b, 70)
+#endif
+
+// 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: 0x02a3
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a3, 18)
+#endif
+
+// Packet: 0x02a4
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a4, 2)
+#endif
+
+// Packet: 0x02a5
+#if PACKETVER >= 20070129
+packetLen(0x02a5, 8)
+#endif
+
+// Packet: 0x02a6
+#if PACKETVER >= 20070611
+packetLen(0x02a6, 22)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20070611
+packetLen(0x02a7, 22)
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20070611
+packetLen(0x02a8, 162)
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20070611
+packetLen(0x02a9, 58)
+#endif
+
+// Packet: 0x02aa
+#if PACKETVER >= 20070205
+packetLen(0x02aa, 4)
+#endif
+
+// Packet: 0x02ab
+#if PACKETVER >= 20070205
+packetLen(0x02ab, 36)
+#endif
+
+// Packet: 0x02ac
+#if PACKETVER >= 20070205
+packetLen(0x02ac, 6)
+#endif
+
+// Packet: 0x02ad
+#if PACKETVER >= 20070227
+packetLen(0x02ad, 8)
+#endif
+
+// Packet: 0x02ae
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02ae, 10)
+#endif
+
+// Packet: 0x02af
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02af, 2)
+#endif
+
+// Packet: 0x02b0
+#if PACKETVER >= 20070514
+packetLen(0x02b0, 85)
+#endif
+
+// Packet: 0x02b1
+#if PACKETVER >= 20070724
+packetLen(0x02b1, -1)
+#endif
+
+// Packet: 0x02b2
+#if PACKETVER >= 20070807
+packetLen(0x02b2, -1)
+#endif
+
+// Packet: 0x02b3
+#if PACKETVER >= 20070821
+packetLen(0x02b3, 107)
+#elif PACKETVER >= 20070813
+packetLen(0x02b3, 103)
+#elif PACKETVER >= 20070731
+packetLen(0x02b3, 31)
+#elif PACKETVER >= 20070703
+packetLen(0x02b3, 7)
+#elif PACKETVER >= 20070622
+packetLen(0x02b3, 26)
+#endif
+
+// Packet: 0x02b4
+#if PACKETVER >= 20070622
+packetLen(0x02b4, 6)
+#endif
+
+// Packet: 0x02b5
+#if PACKETVER >= 20070813
+packetLen(0x02b5, -1)
+#elif PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070703
+packetLen(0x02b5, 12)
+#elif PACKETVER >= 20070622
+packetLen(0x02b5, 18)
+#endif
+
+// Packet: 0x02b6
+#if PACKETVER >= 20070622
+packetLen(0x02b6, 7)
+#endif
+
+// Packet: 0x02b7
+#if PACKETVER >= 20070807
+packetLen(0x02b7, 7)
+#elif PACKETVER >= 20070622
+packetLen(0x02b7, 10)
+#endif
+
+// Packet: 0x02b8
+#if PACKETVER >= 20070604
+packetLen(0x02b8, 22)
+#endif
+
+// Packet: 0x02b9
+#if PACKETVER >= 20070611
+packetLen(0x02b9, 191)
+#endif
+
+// Packet: 0x02ba
+#if PACKETVER >= 20070618
+packetLen(0x02ba, 11)
+#elif PACKETVER >= 20070611
+packetLen(0x02ba, 9)
+#endif
+
+// Packet: 0x02bb
+#if PACKETVER >= 20070622
+packetLen(0x02bb, 8)
+#elif PACKETVER >= 20070605
+packetLen(0x02bb, 4)
+#endif
+
+// Packet: 0x02bc
+#if PACKETVER >= 20070622
+packetLen(0x02bc, 6)
+#endif
+
+// Packet: 0x02bf
+#if PACKETVER >= 20070807
+packetLen(0x02bf, 10)
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20070807
+packetLen(0x02c0, 2)
+#endif
+
+// Packet: 0x02c1
+#if PACKETVER >= 20070813
+packetLen(0x02c1, -1)
+#endif
+
+// Packet: 0x02c2
+#if PACKETVER >= 20070821
+packetLen(0x02c2, -1)
+#endif
+
+// Packet: 0x02c3
+#if PACKETVER >= 20070828
+// removed
+#elif PACKETVER >= 20070821
+packetLen(0x02c3, 4)
+#endif
+
+// Packet: 0x02c4
+#if PACKETVER >= 20070821
+packetLen(0x02c4, 26)
+#endif
+
+// Packet: 0x02c5
+#if PACKETVER >= 20070821
+packetLen(0x02c5, 30)
+#endif
+
+// Packet: 0x02c6
+#if PACKETVER >= 20070821
+packetLen(0x02c6, 30)
+#endif
+
+// Packet: 0x02c7
+#if PACKETVER >= 20070821
+packetLen(0x02c7, 7)
+#endif
+
+// Packet: 0x02c8
+#if PACKETVER >= 20070821
+packetLen(0x02c8, 3)
+#endif
+
+// Packet: 0x02c9
+#if PACKETVER >= 20070821
+packetLen(0x02c9, 3)
+#endif
+
+// Packet: 0x02ca
+#if PACKETVER >= 20070821
+packetLen(0x02ca, 3)
+#endif
+
+// Packet: 0x02cb
+#if PACKETVER >= 20071023
+packetLen(0x02cb, 65)
+#elif PACKETVER >= 20070828
+packetLen(0x02cb, 20)
+#endif
+
+// Packet: 0x02cc
+#if PACKETVER >= 20070828
+packetLen(0x02cc, 4)
+#endif
+
+// Packet: 0x02cd
+#if PACKETVER >= 20071023
+packetLen(0x02cd, 71)
+#elif PACKETVER >= 20070828
+packetLen(0x02cd, 26)
+#endif
+
+// Packet: 0x02ce
+#if PACKETVER >= 20070828
+packetLen(0x02ce, 10)
+#endif
+
+// Packet: 0x02cf
+#if PACKETVER >= 20070828
+packetLen(0x02cf, 6)
+#endif
+
+// Packet: 0x02d0
+#if PACKETVER >= 20070904
+packetLen(0x02d0, -1)
+#endif
+
+// Packet: 0x02d1
+#if PACKETVER >= 20070904
+packetLen(0x02d1, -1)
+#endif
+
+// Packet: 0x02d2
+#if PACKETVER >= 20070904
+packetLen(0x02d2, -1)
+#endif
+
+// Packet: 0x02d3
+#if PACKETVER >= 20070904
+packetLen(0x02d3, 4)
+#endif
+
+// Packet: 0x02d4
+#if PACKETVER >= 20070904
+packetLen(0x02d4, 29)
+#endif
+
+// Packet: 0x02d5
+#if PACKETVER >= 20070911
+packetLen(0x02d5, 2)
+#endif
+
+// Packet: 0x02d6
+#if PACKETVER >= 20070918
+packetLen(0x02d6, 6)
+#endif
+
+// Packet: 0x02d7
+#if PACKETVER >= 20070918
+packetLen(0x02d7, -1)
+#endif
+
+// Packet: 0x02d8
+#if PACKETVER >= 20070918
+packetLen(0x02d8, 10)
+#endif
+
+// Packet: 0x02d9
+#if PACKETVER >= 20070918
+packetLen(0x02d9, 10)
+#endif
+
+// Packet: 0x02da
+#if PACKETVER >= 20070918
+packetLen(0x02da, 3)
+#endif
+
+// Packet: 0x02db
+#if PACKETVER >= 20071002
+packetLen(0x02db, -1)
+#endif
+
+// Packet: 0x02dc
+#if PACKETVER >= 20071002
+packetLen(0x02dc, -1)
+#endif
+
+// Packet: 0x02dd
+#if PACKETVER >= 20071002
+packetLen(0x02dd, 32)
+#endif
+
+// Packet: 0x02de
+#if PACKETVER >= 20071002
+packetLen(0x02de, 6)
+#endif
+
+// Packet: 0x02df
+#if PACKETVER >= 20071002
+packetLen(0x02df, 36)
+#endif
+
+// Packet: 0x02e0
+#if PACKETVER >= 20071002
+packetLen(0x02e0, 34)
+#endif
+
+// Packet: 0x02e1
+#if PACKETVER >= 20071113
+packetLen(0x02e1, 33)
+#endif
+
+// Packet: 0x02e2
+#if PACKETVER >= 20071120
+packetLen(0x02e2, 20)
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20071120
+packetLen(0x02e3, 22)
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20071120
+packetLen(0x02e4, 11)
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20071120
+packetLen(0x02e5, 9)
+#endif
+
+// Packet: 0x02e6
+#if PACKETVER >= 20071120
+packetLen(0x02e6, 6)
+#endif
+
+// Packet: 0x02e7
+#if PACKETVER >= 20071127
+packetLen(0x02e7, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2007_LEN_AD_H */
diff --git a/src/common/packets/packets2007_len_main.h b/src/common/packets/packets2007_len_main.h
new file mode 100644
index 000000000..5ddb540da
--- /dev/null
+++ b/src/common/packets/packets2007_len_main.h
@@ -0,0 +1,2217 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2007_LEN_MAIN_H
+#define COMMON_PACKETS2007_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20070212
+packetLen(0x0072, 22)
+#elif PACKETVER >= 20070108
+packetLen(0x0072, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x0072, 25)
+#endif
+
+// 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
+#if PACKETVER >= 20071127
+packetLen(0x0078, 55)
+#elif PACKETVER >= 20070102
+packetLen(0x0078, 54)
+#endif
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+#if PACKETVER >= 20071127
+packetLen(0x007c, 42)
+#elif PACKETVER >= 20070102
+packetLen(0x007c, 41)
+#endif
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20070212
+packetLen(0x007e, 105)
+#elif PACKETVER >= 20070108
+packetLen(0x007e, 109)
+#elif PACKETVER >= 20070102
+packetLen(0x007e, 102)
+#endif
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x0085, 10)
+#elif PACKETVER >= 20070108
+packetLen(0x0085, 18)
+#elif PACKETVER >= 20070102
+packetLen(0x0085, 11)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20070212
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x0089, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x0089, 8)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20070212
+packetLen(0x008c, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x008c, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x008c, 11)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x0094, 19)
+#elif PACKETVER >= 20070108
+packetLen(0x0094, 25)
+#elif PACKETVER >= 20070102
+packetLen(0x0094, 14)
+#endif
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x009b, 34)
+#elif PACKETVER >= 20070108
+packetLen(0x009b, 32)
+#elif PACKETVER >= 20070102
+packetLen(0x009b, 26)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20070212
+packetLen(0x009f, 20)
+#elif PACKETVER >= 20070108
+packetLen(0x009f, 18)
+#elif PACKETVER >= 20070102
+packetLen(0x009f, 14)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20070212
+packetLen(0x00a2, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x00a2, 15)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20070212
+packetLen(0x00a7, 9)
+#elif PACKETVER >= 20070108
+packetLen(0x00a7, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x00a7, 8)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20070212
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x00f5, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x00f5, 8)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20070212
+packetLen(0x00f7, 17)
+#elif PACKETVER >= 20070108
+packetLen(0x00f7, 12)
+#elif PACKETVER >= 20070102
+packetLen(0x00f7, 22)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20070212
+packetLen(0x0113, 25)
+#elif PACKETVER >= 20070108
+packetLen(0x0113, 29)
+#elif PACKETVER >= 20070102
+packetLen(0x0113, 22)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20070212
+packetLen(0x0116, 17)
+#elif PACKETVER >= 20070108
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20070102
+packetLen(0x0116, 10)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20070212
+packetLen(0x0190, 23)
+#elif PACKETVER >= 20070108
+packetLen(0x0190, 9)
+#elif PACKETVER >= 20070102
+packetLen(0x0190, 19)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20070528
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20070102
+packetLen(0x01fd, 4)
+#endif
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+#if PACKETVER >= 20071127
+packetLen(0x022c, 65)
+#elif PACKETVER >= 20070102
+packetLen(0x022c, 64)
+#endif
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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: 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
+#if PACKETVER >= 20070423
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0287, -1)
+#endif
+
+// Packet: 0x0288
+#if PACKETVER >= 20070711
+packetLen(0x0288, 10)
+#elif PACKETVER >= 20070423
+packetLen(0x0288, 6)
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0288, 6)
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20070711
+packetLen(0x0289, 12)
+#elif PACKETVER >= 20070423
+packetLen(0x0289, 8)
+#elif PACKETVER >= 20070416
+// removed
+#elif PACKETVER >= 20070227
+packetLen(0x0289, 8)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// Packet: 0x029b
+#if PACKETVER >= 20071127
+packetLen(0x029b, 80)
+#elif PACKETVER >= 20070122
+packetLen(0x029b, 72)
+#elif PACKETVER >= 20070102
+packetLen(0x029b, 70)
+#endif
+
+// 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: 0x02a3
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a3, 18)
+#endif
+
+// Packet: 0x02a4
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a4, 2)
+#endif
+
+// Packet: 0x02a5
+#if PACKETVER >= 20070129
+packetLen(0x02a5, 8)
+#endif
+
+// Packet: 0x02a6
+#if PACKETVER >= 20070611
+packetLen(0x02a6, 22)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20070611
+packetLen(0x02a7, 22)
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20070611
+packetLen(0x02a8, 162)
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20070611
+packetLen(0x02a9, 58)
+#endif
+
+// Packet: 0x02aa
+#if PACKETVER >= 20070205
+packetLen(0x02aa, 4)
+#endif
+
+// Packet: 0x02ab
+#if PACKETVER >= 20070205
+packetLen(0x02ab, 36)
+#endif
+
+// Packet: 0x02ac
+#if PACKETVER >= 20070205
+packetLen(0x02ac, 6)
+#endif
+
+// Packet: 0x02ad
+#if PACKETVER >= 20070227
+packetLen(0x02ad, 8)
+#endif
+
+// Packet: 0x02ae
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02ae, 10)
+#endif
+
+// Packet: 0x02af
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02af, 2)
+#endif
+
+// Packet: 0x02b0
+#if PACKETVER >= 20070514
+packetLen(0x02b0, 85)
+#endif
+
+// Packet: 0x02b1
+#if PACKETVER >= 20070724
+packetLen(0x02b1, -1)
+#endif
+
+// Packet: 0x02b2
+#if PACKETVER >= 20070807
+packetLen(0x02b2, -1)
+#endif
+
+// Packet: 0x02b3
+#if PACKETVER >= 20070821
+packetLen(0x02b3, 107)
+#elif PACKETVER >= 20070813
+packetLen(0x02b3, 103)
+#elif PACKETVER >= 20070731
+packetLen(0x02b3, 31)
+#elif PACKETVER >= 20070703
+packetLen(0x02b3, 7)
+#elif PACKETVER >= 20070622
+packetLen(0x02b3, 26)
+#endif
+
+// Packet: 0x02b4
+#if PACKETVER >= 20070622
+packetLen(0x02b4, 6)
+#endif
+
+// Packet: 0x02b5
+#if PACKETVER >= 20070813
+packetLen(0x02b5, -1)
+#elif PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070703
+packetLen(0x02b5, 12)
+#elif PACKETVER >= 20070622
+packetLen(0x02b5, 18)
+#endif
+
+// Packet: 0x02b6
+#if PACKETVER >= 20070622
+packetLen(0x02b6, 7)
+#endif
+
+// Packet: 0x02b7
+#if PACKETVER >= 20070807
+packetLen(0x02b7, 7)
+#elif PACKETVER >= 20070622
+packetLen(0x02b7, 10)
+#endif
+
+// Packet: 0x02b8
+#if PACKETVER >= 20070604
+packetLen(0x02b8, 22)
+#endif
+
+// Packet: 0x02b9
+#if PACKETVER >= 20070611
+packetLen(0x02b9, 191)
+#endif
+
+// Packet: 0x02ba
+#if PACKETVER >= 20070618
+packetLen(0x02ba, 11)
+#elif PACKETVER >= 20070611
+packetLen(0x02ba, 9)
+#endif
+
+// Packet: 0x02bb
+#if PACKETVER >= 20070622
+packetLen(0x02bb, 8)
+#elif PACKETVER >= 20070605
+packetLen(0x02bb, 4)
+#endif
+
+// Packet: 0x02bc
+#if PACKETVER >= 20070622
+packetLen(0x02bc, 6)
+#endif
+
+// Packet: 0x02bf
+#if PACKETVER >= 20070807
+packetLen(0x02bf, 10)
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20070807
+packetLen(0x02c0, 2)
+#endif
+
+// Packet: 0x02c1
+#if PACKETVER >= 20070813
+packetLen(0x02c1, -1)
+#endif
+
+// Packet: 0x02c2
+#if PACKETVER >= 20070821
+packetLen(0x02c2, -1)
+#endif
+
+// Packet: 0x02c3
+#if PACKETVER >= 20070828
+// removed
+#elif PACKETVER >= 20070821
+packetLen(0x02c3, 4)
+#endif
+
+// Packet: 0x02c4
+#if PACKETVER >= 20070821
+packetLen(0x02c4, 26)
+#endif
+
+// Packet: 0x02c5
+#if PACKETVER >= 20070821
+packetLen(0x02c5, 30)
+#endif
+
+// Packet: 0x02c6
+#if PACKETVER >= 20070821
+packetLen(0x02c6, 30)
+#endif
+
+// Packet: 0x02c7
+#if PACKETVER >= 20070821
+packetLen(0x02c7, 7)
+#endif
+
+// Packet: 0x02c8
+#if PACKETVER >= 20070821
+packetLen(0x02c8, 3)
+#endif
+
+// Packet: 0x02c9
+#if PACKETVER >= 20070821
+packetLen(0x02c9, 3)
+#endif
+
+// Packet: 0x02ca
+#if PACKETVER >= 20070821
+packetLen(0x02ca, 3)
+#endif
+
+// Packet: 0x02cb
+#if PACKETVER >= 20071023
+packetLen(0x02cb, 65)
+#elif PACKETVER >= 20070828
+packetLen(0x02cb, 20)
+#endif
+
+// Packet: 0x02cc
+#if PACKETVER >= 20070828
+packetLen(0x02cc, 4)
+#endif
+
+// Packet: 0x02cd
+#if PACKETVER >= 20071023
+packetLen(0x02cd, 71)
+#elif PACKETVER >= 20070828
+packetLen(0x02cd, 26)
+#endif
+
+// Packet: 0x02ce
+#if PACKETVER >= 20070828
+packetLen(0x02ce, 10)
+#endif
+
+// Packet: 0x02cf
+#if PACKETVER >= 20070828
+packetLen(0x02cf, 6)
+#endif
+
+// Packet: 0x02d0
+#if PACKETVER >= 20070904
+packetLen(0x02d0, -1)
+#endif
+
+// Packet: 0x02d1
+#if PACKETVER >= 20070904
+packetLen(0x02d1, -1)
+#endif
+
+// Packet: 0x02d2
+#if PACKETVER >= 20070904
+packetLen(0x02d2, -1)
+#endif
+
+// Packet: 0x02d3
+#if PACKETVER >= 20070904
+packetLen(0x02d3, 4)
+#endif
+
+// Packet: 0x02d4
+#if PACKETVER >= 20070904
+packetLen(0x02d4, 29)
+#endif
+
+// Packet: 0x02d5
+#if PACKETVER >= 20070911
+packetLen(0x02d5, 2)
+#endif
+
+// Packet: 0x02d6
+#if PACKETVER >= 20070918
+packetLen(0x02d6, 6)
+#endif
+
+// Packet: 0x02d7
+#if PACKETVER >= 20070918
+packetLen(0x02d7, -1)
+#endif
+
+// Packet: 0x02d8
+#if PACKETVER >= 20070918
+packetLen(0x02d8, 10)
+#endif
+
+// Packet: 0x02d9
+#if PACKETVER >= 20070918
+packetLen(0x02d9, 10)
+#endif
+
+// Packet: 0x02da
+#if PACKETVER >= 20070918
+packetLen(0x02da, 3)
+#endif
+
+// Packet: 0x02db
+#if PACKETVER >= 20071002
+packetLen(0x02db, -1)
+#endif
+
+// Packet: 0x02dc
+#if PACKETVER >= 20071002
+packetLen(0x02dc, -1)
+#endif
+
+// Packet: 0x02dd
+#if PACKETVER >= 20071002
+packetLen(0x02dd, 32)
+#endif
+
+// Packet: 0x02de
+#if PACKETVER >= 20071002
+packetLen(0x02de, 6)
+#endif
+
+// Packet: 0x02df
+#if PACKETVER >= 20071002
+packetLen(0x02df, 36)
+#endif
+
+// Packet: 0x02e0
+#if PACKETVER >= 20071002
+packetLen(0x02e0, 34)
+#endif
+
+// Packet: 0x02e1
+#if PACKETVER >= 20071113
+packetLen(0x02e1, 33)
+#endif
+
+// Packet: 0x02e2
+#if PACKETVER >= 20071120
+packetLen(0x02e2, 20)
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20071120
+packetLen(0x02e3, 22)
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20071120
+packetLen(0x02e4, 11)
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20071120
+packetLen(0x02e5, 9)
+#endif
+
+// Packet: 0x02e6
+#if PACKETVER >= 20071120
+packetLen(0x02e6, 6)
+#endif
+
+// Packet: 0x02e7
+#if PACKETVER >= 20071127
+packetLen(0x02e7, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2007_LEN_MAIN_H */
diff --git a/src/common/packets/packets2007_len_sak.h b/src/common/packets/packets2007_len_sak.h
new file mode 100644
index 000000000..38d339306
--- /dev/null
+++ b/src/common/packets/packets2007_len_sak.h
@@ -0,0 +1,2203 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2007_LEN_SAK_H
+#define COMMON_PACKETS2007_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20070212
+packetLen(0x0072, 25)
+#elif PACKETVER >= 20070108
+packetLen(0x0072, 30)
+#elif PACKETVER >= 20070102
+packetLen(0x0072, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20071106
+packetLen(0x0078, 55)
+#elif PACKETVER >= 20070102
+packetLen(0x0078, 54)
+#endif
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+#if PACKETVER >= 20071106
+packetLen(0x007c, 42)
+#elif PACKETVER >= 20070102
+packetLen(0x007c, 41)
+#endif
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+#if PACKETVER >= 20070212
+packetLen(0x007e, 102)
+#elif PACKETVER >= 20070102
+packetLen(0x007e, 120)
+#endif
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x0085, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x0085, 14)
+#elif PACKETVER >= 20070102
+packetLen(0x0085, 12)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20070212
+packetLen(0x0089, 8)
+#elif PACKETVER >= 20070108
+packetLen(0x0089, 11)
+#elif PACKETVER >= 20070102
+packetLen(0x0089, 13)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20070212
+packetLen(0x008c, 11)
+#elif PACKETVER >= 20070108
+packetLen(0x008c, 17)
+#elif PACKETVER >= 20070102
+packetLen(0x008c, 12)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x0094, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x0094, 17)
+#elif PACKETVER >= 20070102
+packetLen(0x0094, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20070212
+packetLen(0x009b, 26)
+#elif PACKETVER >= 20070108
+packetLen(0x009b, 35)
+#elif PACKETVER >= 20070102
+packetLen(0x009b, 37)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20070212
+packetLen(0x009f, 14)
+#elif PACKETVER >= 20070108
+packetLen(0x009f, 21)
+#elif PACKETVER >= 20070102
+packetLen(0x009f, 24)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20070212
+packetLen(0x00a2, 15)
+#elif PACKETVER >= 20070108
+packetLen(0x00a2, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x00a2, 11)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20070108
+packetLen(0x00a7, 8)
+#elif PACKETVER >= 20070102
+packetLen(0x00a7, 15)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20070212
+packetLen(0x00f5, 8)
+#elif PACKETVER >= 20070108
+packetLen(0x00f5, 11)
+#elif PACKETVER >= 20070102
+packetLen(0x00f5, 13)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20070212
+packetLen(0x00f7, 22)
+#elif PACKETVER >= 20070108
+packetLen(0x00f7, 15)
+#elif PACKETVER >= 20070102
+packetLen(0x00f7, 26)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20070212
+packetLen(0x0113, 22)
+#elif PACKETVER >= 20070102
+packetLen(0x0113, 40)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20070212
+packetLen(0x0116, 10)
+#elif PACKETVER >= 20070108
+packetLen(0x0116, 19)
+#elif PACKETVER >= 20070102
+packetLen(0x0116, 17)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20070212
+packetLen(0x0190, 19)
+#elif PACKETVER >= 20070108
+packetLen(0x0190, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x0190, 18)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 35)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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
+#if PACKETVER >= 20070507
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20070102
+packetLen(0x01fd, 4)
+#endif
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+#if PACKETVER >= 20071106
+packetLen(0x022c, 65)
+#elif PACKETVER >= 20070102
+packetLen(0x022c, 64)
+#endif
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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: 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
+#if PACKETVER >= 20070711
+packetLen(0x0288, 10)
+#elif PACKETVER >= 20070102
+packetLen(0x0288, 6)
+#endif
+
+// Packet: 0x0289
+#if PACKETVER >= 20070711
+packetLen(0x0289, 12)
+#elif PACKETVER >= 20070102
+packetLen(0x0289, 8)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// Packet: 0x029b
+#if PACKETVER >= 20071106
+packetLen(0x029b, 80)
+#elif PACKETVER >= 20070122
+packetLen(0x029b, 72)
+#elif PACKETVER >= 20070102
+packetLen(0x029b, 70)
+#endif
+
+// 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: 0x02a3
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a3, 18)
+#endif
+
+// Packet: 0x02a4
+#if PACKETVER >= 20070129
+// removed
+#elif PACKETVER >= 20070122
+packetLen(0x02a4, 2)
+#endif
+
+// Packet: 0x02a5
+#if PACKETVER >= 20070129
+packetLen(0x02a5, 8)
+#endif
+
+// Packet: 0x02a6
+#if PACKETVER >= 20070611
+packetLen(0x02a6, 22)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20070611
+packetLen(0x02a7, 22)
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20070611
+packetLen(0x02a8, 162)
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20070611
+packetLen(0x02a9, 58)
+#endif
+
+// Packet: 0x02aa
+#if PACKETVER >= 20070205
+packetLen(0x02aa, 4)
+#endif
+
+// Packet: 0x02ab
+#if PACKETVER >= 20070205
+packetLen(0x02ab, 36)
+#endif
+
+// Packet: 0x02ac
+#if PACKETVER >= 20070205
+packetLen(0x02ac, 6)
+#endif
+
+// Packet: 0x02ad
+#if PACKETVER >= 20070227
+packetLen(0x02ad, 8)
+#endif
+
+// Packet: 0x02ae
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02ae, 10)
+#endif
+
+// Packet: 0x02af
+#if PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070711
+packetLen(0x02af, 2)
+#endif
+
+// Packet: 0x02b0
+#if PACKETVER >= 20070514
+packetLen(0x02b0, 85)
+#endif
+
+// Packet: 0x02b1
+#if PACKETVER >= 20070724
+packetLen(0x02b1, -1)
+#endif
+
+// Packet: 0x02b2
+#if PACKETVER >= 20070807
+packetLen(0x02b2, -1)
+#endif
+
+// Packet: 0x02b3
+#if PACKETVER >= 20070821
+packetLen(0x02b3, 107)
+#elif PACKETVER >= 20070813
+packetLen(0x02b3, 103)
+#elif PACKETVER >= 20070731
+packetLen(0x02b3, 31)
+#elif PACKETVER >= 20070628
+packetLen(0x02b3, 7)
+#elif PACKETVER >= 20070622
+packetLen(0x02b3, 26)
+#endif
+
+// Packet: 0x02b4
+#if PACKETVER >= 20070622
+packetLen(0x02b4, 6)
+#endif
+
+// Packet: 0x02b5
+#if PACKETVER >= 20070813
+packetLen(0x02b5, -1)
+#elif PACKETVER >= 20070807
+// removed
+#elif PACKETVER >= 20070628
+packetLen(0x02b5, 12)
+#elif PACKETVER >= 20070622
+packetLen(0x02b5, 18)
+#endif
+
+// Packet: 0x02b6
+#if PACKETVER >= 20070622
+packetLen(0x02b6, 7)
+#endif
+
+// Packet: 0x02b7
+#if PACKETVER >= 20070807
+packetLen(0x02b7, 7)
+#elif PACKETVER >= 20070622
+packetLen(0x02b7, 10)
+#endif
+
+// Packet: 0x02b8
+#if PACKETVER >= 20070604
+packetLen(0x02b8, 22)
+#endif
+
+// Packet: 0x02b9
+#if PACKETVER >= 20070611
+packetLen(0x02b9, 191)
+#endif
+
+// Packet: 0x02ba
+#if PACKETVER >= 20070618
+packetLen(0x02ba, 11)
+#elif PACKETVER >= 20070611
+packetLen(0x02ba, 9)
+#endif
+
+// Packet: 0x02bb
+#if PACKETVER >= 20070622
+packetLen(0x02bb, 8)
+#elif PACKETVER >= 20070605
+packetLen(0x02bb, 4)
+#endif
+
+// Packet: 0x02bc
+#if PACKETVER >= 20070622
+packetLen(0x02bc, 6)
+#endif
+
+// Packet: 0x02bf
+#if PACKETVER >= 20070807
+packetLen(0x02bf, 10)
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20070807
+packetLen(0x02c0, 2)
+#endif
+
+// Packet: 0x02c1
+#if PACKETVER >= 20070813
+packetLen(0x02c1, -1)
+#endif
+
+// Packet: 0x02c2
+#if PACKETVER >= 20070821
+packetLen(0x02c2, -1)
+#endif
+
+// Packet: 0x02c3
+#if PACKETVER >= 20070828
+// removed
+#elif PACKETVER >= 20070821
+packetLen(0x02c3, 4)
+#endif
+
+// Packet: 0x02c4
+#if PACKETVER >= 20070821
+packetLen(0x02c4, 26)
+#endif
+
+// Packet: 0x02c5
+#if PACKETVER >= 20070821
+packetLen(0x02c5, 30)
+#endif
+
+// Packet: 0x02c6
+#if PACKETVER >= 20070821
+packetLen(0x02c6, 30)
+#endif
+
+// Packet: 0x02c7
+#if PACKETVER >= 20070821
+packetLen(0x02c7, 7)
+#endif
+
+// Packet: 0x02c8
+#if PACKETVER >= 20070821
+packetLen(0x02c8, 3)
+#endif
+
+// Packet: 0x02c9
+#if PACKETVER >= 20070821
+packetLen(0x02c9, 3)
+#endif
+
+// Packet: 0x02ca
+#if PACKETVER >= 20070821
+packetLen(0x02ca, 3)
+#endif
+
+// Packet: 0x02cb
+#if PACKETVER >= 20071023
+packetLen(0x02cb, 65)
+#elif PACKETVER >= 20070828
+packetLen(0x02cb, 20)
+#endif
+
+// Packet: 0x02cc
+#if PACKETVER >= 20070828
+packetLen(0x02cc, 4)
+#endif
+
+// Packet: 0x02cd
+#if PACKETVER >= 20071023
+packetLen(0x02cd, 71)
+#elif PACKETVER >= 20070828
+packetLen(0x02cd, 26)
+#endif
+
+// Packet: 0x02ce
+#if PACKETVER >= 20070828
+packetLen(0x02ce, 10)
+#endif
+
+// Packet: 0x02cf
+#if PACKETVER >= 20070828
+packetLen(0x02cf, 6)
+#endif
+
+// Packet: 0x02d0
+#if PACKETVER >= 20070904
+packetLen(0x02d0, -1)
+#endif
+
+// Packet: 0x02d1
+#if PACKETVER >= 20070904
+packetLen(0x02d1, -1)
+#endif
+
+// Packet: 0x02d2
+#if PACKETVER >= 20070904
+packetLen(0x02d2, -1)
+#endif
+
+// Packet: 0x02d3
+#if PACKETVER >= 20070904
+packetLen(0x02d3, 4)
+#endif
+
+// Packet: 0x02d4
+#if PACKETVER >= 20070904
+packetLen(0x02d4, 29)
+#endif
+
+// Packet: 0x02d5
+#if PACKETVER >= 20070911
+packetLen(0x02d5, 2)
+#endif
+
+// Packet: 0x02d6
+#if PACKETVER >= 20070918
+packetLen(0x02d6, 6)
+#endif
+
+// Packet: 0x02d7
+#if PACKETVER >= 20070918
+packetLen(0x02d7, -1)
+#endif
+
+// Packet: 0x02d8
+#if PACKETVER >= 20070918
+packetLen(0x02d8, 10)
+#endif
+
+// Packet: 0x02d9
+#if PACKETVER >= 20070918
+packetLen(0x02d9, 10)
+#endif
+
+// Packet: 0x02da
+#if PACKETVER >= 20070918
+packetLen(0x02da, 3)
+#endif
+
+// Packet: 0x02db
+#if PACKETVER >= 20071002
+packetLen(0x02db, -1)
+#endif
+
+// Packet: 0x02dc
+#if PACKETVER >= 20071002
+packetLen(0x02dc, -1)
+#endif
+
+// Packet: 0x02dd
+#if PACKETVER >= 20071002
+packetLen(0x02dd, 32)
+#endif
+
+// Packet: 0x02de
+#if PACKETVER >= 20071002
+packetLen(0x02de, 6)
+#endif
+
+// Packet: 0x02df
+#if PACKETVER >= 20071002
+packetLen(0x02df, 36)
+#endif
+
+// Packet: 0x02e0
+#if PACKETVER >= 20071002
+packetLen(0x02e0, 34)
+#endif
+
+// Packet: 0x02e1
+#if PACKETVER >= 20071113
+packetLen(0x02e1, 33)
+#endif
+
+// Packet: 0x02e2
+#if PACKETVER >= 20071120
+packetLen(0x02e2, 14)
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20071120
+packetLen(0x02e3, 25)
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20071120
+packetLen(0x02e4, 8)
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20071120
+packetLen(0x02e5, 8)
+#endif
+
+// Packet: 0x02e6
+#if PACKETVER >= 20071120
+packetLen(0x02e6, 6)
+#endif
+
+// Packet: 0x02e7
+#if PACKETVER >= 20071127
+packetLen(0x02e7, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2007_LEN_SAK_H */
diff --git a/src/common/packets/packets2008_len_ad.h b/src/common/packets/packets2008_len_ad.h
new file mode 100644
index 000000000..ceb4181eb
--- /dev/null
+++ b/src/common/packets/packets2008_len_ad.h
@@ -0,0 +1,18487 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2008_LEN_AD_H
+#define COMMON_PACKETS2008_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// 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
+#if PACKETVER >= 20080701
+packetLen(0x0073, 71)
+#elif PACKETVER >= 20080624
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0073, 32)
+#elif PACKETVER >= 20080603
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0073, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0073, 97)
+#elif PACKETVER >= 20080429
+packetLen(0x0073, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0073, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0073, 24)
+#elif PACKETVER >= 20080401
+packetLen(0x0073, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0073, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0073, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0073, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0073, 53)
+#elif PACKETVER >= 20080219
+packetLen(0x0073, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x0073, 66)
+#elif PACKETVER >= 20080102
+packetLen(0x0073, 11)
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+#if PACKETVER >= 20080701
+packetLen(0x0075, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0075, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0075, 12)
+#elif PACKETVER >= 20080513
+packetLen(0x0075, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0075, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0075, 39)
+#elif PACKETVER >= 20080325
+packetLen(0x0075, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0075, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0075, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0075, 28)
+#elif PACKETVER >= 20080124
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0075, -1)
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+#if PACKETVER >= 20080701
+packetLen(0x0077, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0077, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0077, 86)
+#elif PACKETVER >= 20080528
+packetLen(0x0077, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x0077, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0077, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0077, 13)
+#elif PACKETVER >= 20080401
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0077, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0077, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0077, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0077, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x0077, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0077, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0077, 5)
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20080701
+packetLen(0x0078, 20)
+#elif PACKETVER >= 20080617
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0078, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0078, 22)
+#elif PACKETVER >= 20080520
+packetLen(0x0078, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0078, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0078, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x0078, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0078, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0078, 53)
+#elif PACKETVER >= 20080304
+packetLen(0x0078, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0078, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0078, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x0078, 55)
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20080701
+packetLen(0x0079, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0079, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0079, 54)
+#elif PACKETVER >= 20080513
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0079, 57)
+#elif PACKETVER >= 20080429
+packetLen(0x0079, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0079, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0079, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0079, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0079, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0079, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0079, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0079, 27)
+#elif PACKETVER >= 20080124
+packetLen(0x0079, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0079, 53)
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20080701
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x007a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x007a, 53)
+#elif PACKETVER >= 20080513
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x007a, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x007a, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x007a, 114)
+#elif PACKETVER >= 20080325
+packetLen(0x007a, 22)
+#elif PACKETVER >= 20080318
+packetLen(0x007a, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x007a, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x007a, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x007a, 58)
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20080603
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x007b, 42)
+#elif PACKETVER >= 20080520
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x007b, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x007b, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x007b, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x007b, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x007b, 186)
+#elif PACKETVER >= 20080304
+packetLen(0x007b, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x007b, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x007b, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x007b, 60)
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20080701
+packetLen(0x007c, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x007c, 16)
+#elif PACKETVER >= 20080528
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x007c, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x007c, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x007c, 65)
+#elif PACKETVER >= 20080415
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x007c, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x007c, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x007c, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x007c, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x007c, 186)
+#elif PACKETVER >= 20080124
+packetLen(0x007c, 31)
+#elif PACKETVER >= 20080102
+packetLen(0x007c, 42)
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20080617
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x007d, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x007d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x007d, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x007d, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x007d, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x007d, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x007d, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x007d, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x007d, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x007d, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x007d, 2)
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 105)
+
+// Packet: 0x007f
+#if PACKETVER >= 20080624
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x007f, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x007f, 13)
+#elif PACKETVER >= 20080520
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x007f, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x007f, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x007f, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x007f, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x007f, 182)
+#elif PACKETVER >= 20080325
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x007f, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x007f, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x007f, 6)
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20080624
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0080, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0080, 22)
+#elif PACKETVER >= 20080520
+packetLen(0x0080, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0080, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0080, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0080, 60)
+#elif PACKETVER >= 20080311
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0080, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x0080, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0080, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0080, 7)
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+#if PACKETVER >= 20080624
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0083, 34)
+#elif PACKETVER >= 20080610
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0083, 13)
+#elif PACKETVER >= 20080528
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0083, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0083, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0083, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0083, 282)
+#elif PACKETVER >= 20080422
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0083, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0083, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x0083, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0083, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0083, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0083, 2)
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 10)
+
+// Packet: 0x0086
+#if PACKETVER >= 20080701
+packetLen(0x0086, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0086, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0086, 17)
+#elif PACKETVER >= 20080520
+packetLen(0x0086, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0086, 32)
+#elif PACKETVER >= 20080429
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0086, 24)
+#elif PACKETVER >= 20080415
+packetLen(0x0086, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0086, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0086, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x0086, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0086, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x0086, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0086, 79)
+#elif PACKETVER >= 20080226
+packetLen(0x0086, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x0086, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0086, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0086, 16)
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20080701
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0087, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0087, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0087, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0087, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0087, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0087, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0087, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0087, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0087, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x0087, 31)
+#elif PACKETVER >= 20080102
+packetLen(0x0087, 12)
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20080701
+packetLen(0x0088, 19)
+#elif PACKETVER >= 20080624
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0088, 19)
+#elif PACKETVER >= 20080603
+packetLen(0x0088, 60)
+#elif PACKETVER >= 20080528
+packetLen(0x0088, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x0088, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0088, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0088, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0088, 86)
+#elif PACKETVER >= 20080408
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0088, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x0088, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0088, 97)
+#elif PACKETVER >= 20080219
+packetLen(0x0088, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x0088, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0088, 10)
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 11)
+
+// Packet: 0x008a
+#if PACKETVER >= 20080624
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x008a, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x008a, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x008a, 68)
+#elif PACKETVER >= 20080528
+packetLen(0x008a, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x008a, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x008a, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x008a, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x008a, 23)
+#elif PACKETVER >= 20080422
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x008a, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x008a, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x008a, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x008a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x008a, 29)
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+#if PACKETVER >= 20080701
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x008d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x008d, 282)
+#elif PACKETVER >= 20080610
+packetLen(0x008d, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x008d, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x008d, 66)
+#elif PACKETVER >= 20080429
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x008d, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x008d, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x008d, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x008d, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x008d, 79)
+#elif PACKETVER >= 20080124
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x008d, -1)
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20080701
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x008e, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x008e, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x008e, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x008e, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x008e, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x008e, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x008e, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x008e, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x008e, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x008e, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x008e, 186)
+#elif PACKETVER >= 20080311
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x008e, 33)
+#elif PACKETVER >= 20080102
+packetLen(0x008e, -1)
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20080701
+packetLen(0x0090, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0090, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0090, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x0090, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0090, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0090, 19)
+#elif PACKETVER >= 20080422
+packetLen(0x0090, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0090, 36)
+#elif PACKETVER >= 20080408
+packetLen(0x0090, 20)
+#elif PACKETVER >= 20080401
+packetLen(0x0090, 53)
+#elif PACKETVER >= 20080325
+packetLen(0x0090, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0090, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0090, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x0090, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0090, 24)
+#elif PACKETVER >= 20080102
+packetLen(0x0090, 7)
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20080701
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0091, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0091, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0091, 21)
+#elif PACKETVER >= 20080603
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0091, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0091, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0091, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0091, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0091, 182)
+#elif PACKETVER >= 20080408
+packetLen(0x0091, 58)
+#elif PACKETVER >= 20080401
+packetLen(0x0091, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x0091, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0091, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0091, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0091, 57)
+#elif PACKETVER >= 20080226
+packetLen(0x0091, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0091, 79)
+#elif PACKETVER >= 20080102
+packetLen(0x0091, 22)
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20080701
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0092, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0092, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x0092, 20)
+#elif PACKETVER >= 20080603
+packetLen(0x0092, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0092, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0092, 32)
+#elif PACKETVER >= 20080422
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0092, 21)
+#elif PACKETVER >= 20080401
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0092, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0092, 81)
+#elif PACKETVER >= 20080311
+packetLen(0x0092, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0092, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0092, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0092, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0092, 28)
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20080701
+packetLen(0x0093, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0093, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0093, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0093, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x0093, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0093, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0093, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0093, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0093, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0093, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0093, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0093, 67)
+#elif PACKETVER >= 20080124
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0093, 2)
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 19)
+
+// Packet: 0x0095
+#if PACKETVER >= 20080701
+packetLen(0x0095, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0095, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0095, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x0095, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0095, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0095, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0095, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0095, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0095, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0095, 59)
+#elif PACKETVER >= 20080304
+packetLen(0x0095, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0095, 39)
+#elif PACKETVER >= 20080219
+packetLen(0x0095, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0095, 30)
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20080701
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0096, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0096, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0096, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0096, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0096, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0096, -1)
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20080701
+packetLen(0x0097, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0097, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0097, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0097, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0097, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0097, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0097, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0097, 29)
+#elif PACKETVER >= 20080415
+packetLen(0x0097, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x0097, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0097, 53)
+#elif PACKETVER >= 20080325
+packetLen(0x0097, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0097, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0097, 33)
+#elif PACKETVER >= 20080304
+packetLen(0x0097, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0097, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x0097, -1)
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20080701
+packetLen(0x0098, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0098, 24)
+#elif PACKETVER >= 20080610
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0098, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0098, 13)
+#elif PACKETVER >= 20080429
+packetLen(0x0098, 58)
+#elif PACKETVER >= 20080408
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0098, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x0098, 182)
+#elif PACKETVER >= 20080226
+packetLen(0x0098, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0098, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0098, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0098, 3)
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20080701
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0099, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0099, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x0099, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0099, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0099, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0099, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0099, 66)
+#elif PACKETVER >= 20080304
+packetLen(0x0099, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0099, 34)
+#elif PACKETVER >= 20080219
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0099, -1)
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20080701
+packetLen(0x009a, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x009a, 90)
+#elif PACKETVER >= 20080603
+packetLen(0x009a, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x009a, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x009a, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x009a, 33)
+#elif PACKETVER >= 20080408
+packetLen(0x009a, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x009a, 59)
+#elif PACKETVER >= 20080311
+packetLen(0x009a, 57)
+#elif PACKETVER >= 20080304
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x009a, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x009a, -1)
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 34)
+
+// Packet: 0x009c
+#if PACKETVER >= 20080701
+packetLen(0x009c, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x009c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x009c, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x009c, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x009c, 67)
+#elif PACKETVER >= 20080513
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x009c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x009c, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x009c, 66)
+#elif PACKETVER >= 20080408
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x009c, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x009c, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x009c, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x009c, 71)
+#elif PACKETVER >= 20080226
+packetLen(0x009c, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x009c, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x009c, 9)
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20080701
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x009d, 13)
+#elif PACKETVER >= 20080610
+packetLen(0x009d, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x009d, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x009d, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x009d, 59)
+#elif PACKETVER >= 20080429
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x009d, 32)
+#elif PACKETVER >= 20080408
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x009d, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x009d, 57)
+#elif PACKETVER >= 20080318
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x009d, 13)
+#elif PACKETVER >= 20080304
+packetLen(0x009d, 19)
+#elif PACKETVER >= 20080226
+packetLen(0x009d, 57)
+#elif PACKETVER >= 20080219
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x009d, 17)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20080701
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x009e, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x009e, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x009e, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x009e, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x009e, 186)
+#elif PACKETVER >= 20080513
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x009e, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x009e, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x009e, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x009e, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x009e, 39)
+#elif PACKETVER >= 20080401
+packetLen(0x009e, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x009e, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x009e, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x009e, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x009e, 97)
+#elif PACKETVER >= 20080102
+packetLen(0x009e, 17)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20080701
+packetLen(0x00a0, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00a0, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00a0, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x00a0, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00a0, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00a0, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x00a0, 23)
+#elif PACKETVER >= 20080429
+packetLen(0x00a0, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x00a0, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00a0, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00a0, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00a0, 13)
+#elif PACKETVER >= 20080311
+packetLen(0x00a0, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00a0, 27)
+#elif PACKETVER >= 20080219
+packetLen(0x00a0, 39)
+#elif PACKETVER >= 20080124
+packetLen(0x00a0, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x00a0, 23)
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20080701
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00a1, 44)
+#elif PACKETVER >= 20080617
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080528
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080513
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00a1, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00a1, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x00a1, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00a1, 53)
+#elif PACKETVER >= 20080311
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00a1, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080124
+packetLen(0x00a1, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x00a1, 6)
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14)
+
+// Packet: 0x00a3
+#if PACKETVER >= 20080701
+packetLen(0x00a3, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00a3, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00a3, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00a3, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00a3, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00a3, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00a3, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a3, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00a3, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x00a3, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x00a3, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00a3, 65)
+#elif PACKETVER >= 20080304
+packetLen(0x00a3, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00a3, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00a3, 44)
+#elif PACKETVER >= 20080102
+packetLen(0x00a3, -1)
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20080701
+packetLen(0x00a4, 86)
+#elif PACKETVER >= 20080617
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a4, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00a4, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00a4, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x00a4, 33)
+#elif PACKETVER >= 20080429
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00a4, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x00a4, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x00a4, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00a4, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x00a4, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00a4, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x00a4, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00a4, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x00a4, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00a4, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00a4, -1)
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20080617
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a5, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00a5, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x00a5, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x00a5, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00a5, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00a5, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00a5, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x00a5, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00a5, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00a5, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00a5, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00a5, -1)
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20080701
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00a6, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00a6, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00a6, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x00a6, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a6, 59)
+#elif PACKETVER >= 20080401
+packetLen(0x00a6, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00a6, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00a6, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00a6, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00a6, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00a6, -1)
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20080701
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x00a8, 90)
+#elif PACKETVER >= 20080507
+packetLen(0x00a8, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00a8, 13)
+#elif PACKETVER >= 20080408
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00a8, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00a8, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00a8, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00a8, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00a8, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x00a8, 7)
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20080701
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a9, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x00a9, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00a9, 79)
+#elif PACKETVER >= 20080513
+packetLen(0x00a9, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x00a9, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x00a9, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a9, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00a9, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00a9, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x00a9, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00a9, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00a9, 6)
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20080624
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x00aa, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00aa, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x00aa, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00aa, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x00aa, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00aa, 31)
+#elif PACKETVER >= 20080401
+packetLen(0x00aa, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x00aa, 55)
+#elif PACKETVER >= 20080318
+packetLen(0x00aa, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00aa, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00aa, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00aa, 7)
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20080701
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00ab, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00ab, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00ab, 53)
+#elif PACKETVER >= 20080520
+packetLen(0x00ab, 36)
+#elif PACKETVER >= 20080513
+packetLen(0x00ab, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00ab, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00ab, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00ab, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x00ab, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00ab, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00ab, 57)
+#elif PACKETVER >= 20080124
+packetLen(0x00ab, 86)
+#elif PACKETVER >= 20080102
+packetLen(0x00ab, 4)
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20080701
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ac, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00ac, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00ac, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x00ac, 67)
+#elif PACKETVER >= 20080429
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00ac, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00ac, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ac, 7)
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+#if PACKETVER >= 20080701
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00af, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00af, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00af, 29)
+#elif PACKETVER >= 20080520
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00af, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00af, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00af, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00af, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00af, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00af, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00af, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00af, 6)
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20080701
+packetLen(0x00b0, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x00b0, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00b0, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00b0, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b0, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00b0, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b0, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x00b0, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00b0, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00b0, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b0, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00b0, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x00b0, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x00b0, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00b0, 8)
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20080701
+packetLen(0x00b1, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b1, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x00b1, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00b1, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00b1, 97)
+#elif PACKETVER >= 20080422
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00b1, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00b1, 58)
+#elif PACKETVER >= 20080318
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00b1, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00b1, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x00b1, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x00b1, 8)
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20080624
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00b2, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x00b2, 13)
+#elif PACKETVER >= 20080603
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00b2, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x00b2, 58)
+#elif PACKETVER >= 20080507
+packetLen(0x00b2, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00b2, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x00b2, 67)
+#elif PACKETVER >= 20080401
+packetLen(0x00b2, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00b2, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00b2, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x00b2, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00b2, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00b2, 3)
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20080701
+packetLen(0x00b3, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00b3, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00b3, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00b3, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00b3, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00b3, 35)
+#elif PACKETVER >= 20080311
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00b3, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00b3, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x00b3, 55)
+#elif PACKETVER >= 20080124
+packetLen(0x00b3, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x00b3, 3)
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20080617
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00b4, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x00b4, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00b4, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x00b4, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00b4, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x00b4, 34)
+#elif PACKETVER >= 20080325
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00b4, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00b4, 36)
+#elif PACKETVER >= 20080304
+packetLen(0x00b4, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00b4, 43)
+#elif PACKETVER >= 20080219
+packetLen(0x00b4, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00b4, -1)
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20080701
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00b5, 12)
+#elif PACKETVER >= 20080617
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b5, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b5, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00b5, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b5, 19)
+#elif PACKETVER >= 20080415
+packetLen(0x00b5, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x00b5, 90)
+#elif PACKETVER >= 20080401
+packetLen(0x00b5, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00b5, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00b5, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00b5, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x00b5, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00b5, 6)
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20080701
+packetLen(0x00b6, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x00b6, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x00b6, 39)
+#elif PACKETVER >= 20080528
+packetLen(0x00b6, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00b6, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00b6, 16)
+#elif PACKETVER >= 20080318
+packetLen(0x00b6, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00b6, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00b6, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00b6, 6)
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20080701
+packetLen(0x00b7, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b7, 58)
+#elif PACKETVER >= 20080513
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00b7, 20)
+#elif PACKETVER >= 20080429
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00b7, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x00b7, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x00b7, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b7, 42)
+#elif PACKETVER >= 20080304
+packetLen(0x00b7, 13)
+#elif PACKETVER >= 20080226
+packetLen(0x00b7, 32)
+#elif PACKETVER >= 20080219
+packetLen(0x00b7, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00b7, 21)
+#elif PACKETVER >= 20080102
+packetLen(0x00b7, -1)
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20080701
+packetLen(0x00b8, 20)
+#elif PACKETVER >= 20080624
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00b8, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00b8, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b8, 53)
+#elif PACKETVER >= 20080513
+packetLen(0x00b8, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00b8, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x00b8, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x00b8, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x00b8, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x00b8, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x00b8, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00b8, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00b8, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x00b8, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00b8, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00b8, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00b8, 7)
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20080701
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00b9, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x00b9, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00b9, 66)
+#elif PACKETVER >= 20080513
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00b9, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x00b9, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00b9, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x00b9, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x00b9, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x00b9, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x00b9, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00b9, 58)
+#elif PACKETVER >= 20080219
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00b9, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00b9, 6)
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+#if PACKETVER >= 20080701
+packetLen(0x00bb, 60)
+#elif PACKETVER >= 20080624
+packetLen(0x00bb, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00bb, 36)
+#elif PACKETVER >= 20080603
+packetLen(0x00bb, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00bb, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00bb, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00bb, 55)
+#elif PACKETVER >= 20080422
+packetLen(0x00bb, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x00bb, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00bb, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00bb, 20)
+#elif PACKETVER >= 20080318
+packetLen(0x00bb, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00bb, 182)
+#elif PACKETVER >= 20080124
+packetLen(0x00bb, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00bb, 5)
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20080701
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00bc, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00bc, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x00bc, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00bc, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x00bc, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00bc, 44)
+#elif PACKETVER >= 20080408
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00bc, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x00bc, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00bc, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00bc, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00bc, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00bc, 6)
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20080701
+packetLen(0x00bd, 60)
+#elif PACKETVER >= 20080624
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00bd, 79)
+#elif PACKETVER >= 20080610
+packetLen(0x00bd, 18)
+#elif PACKETVER >= 20080603
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00bd, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00bd, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00bd, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00bd, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00bd, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x00bd, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00bd, 58)
+#elif PACKETVER >= 20080219
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00bd, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00bd, 44)
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20080701
+packetLen(0x00be, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00be, 57)
+#elif PACKETVER >= 20080617
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00be, 44)
+#elif PACKETVER >= 20080603
+packetLen(0x00be, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x00be, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x00be, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00be, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x00be, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00be, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00be, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x00be, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x00be, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00be, 5)
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20080610
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x00bf, 65)
+#elif PACKETVER >= 20080520
+packetLen(0x00bf, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00bf, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00bf, 32)
+#elif PACKETVER >= 20080325
+packetLen(0x00bf, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00bf, 29)
+#elif PACKETVER >= 20080219
+packetLen(0x00bf, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x00bf, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00bf, 3)
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20080701
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c0, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x00c0, 60)
+#elif PACKETVER >= 20080610
+packetLen(0x00c0, 39)
+#elif PACKETVER >= 20080603
+packetLen(0x00c0, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x00c0, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00c0, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00c0, 186)
+#elif PACKETVER >= 20080507
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c0, 13)
+#elif PACKETVER >= 20080422
+packetLen(0x00c0, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00c0, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x00c0, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00c0, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00c0, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00c0, 21)
+#elif PACKETVER >= 20080219
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00c0, 7)
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20080701
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00c1, 81)
+#elif PACKETVER >= 20080507
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00c1, 57)
+#elif PACKETVER >= 20080401
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00c1, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00c1, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x00c1, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00c1, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x00c1, 2)
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20080701
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c2, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c2, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00c2, 90)
+#elif PACKETVER >= 20080507
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c2, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00c2, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x00c2, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00c2, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00c2, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00c2, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00c2, 39)
+#elif PACKETVER >= 20080226
+packetLen(0x00c2, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x00c2, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00c2, 6)
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20080701
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c3, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c3, 42)
+#elif PACKETVER >= 20080603
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00c3, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00c3, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00c3, 66)
+#elif PACKETVER >= 20080325
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c3, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00c3, 68)
+#elif PACKETVER >= 20080304
+packetLen(0x00c3, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x00c3, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00c3, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x00c3, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00c3, 8)
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20080701
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c4, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00c4, 29)
+#elif PACKETVER >= 20080429
+packetLen(0x00c4, 71)
+#elif PACKETVER >= 20080422
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00c4, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00c4, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c4, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00c4, 114)
+#elif PACKETVER >= 20080219
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00c4, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00c4, 6)
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20080624
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00c5, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00c5, 114)
+#elif PACKETVER >= 20080603
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00c5, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00c5, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00c5, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00c5, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00c5, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00c5, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x00c5, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00c5, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00c5, 7)
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20080617
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c6, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00c6, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c6, 21)
+#elif PACKETVER >= 20080422
+packetLen(0x00c6, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c6, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c6, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x00c6, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x00c6, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00c6, -1)
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20080701
+packetLen(0x00c7, 182)
+#elif PACKETVER >= 20080624
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00c7, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00c7, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x00c7, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00c7, 53)
+#elif PACKETVER >= 20080415
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00c7, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c7, 58)
+#elif PACKETVER >= 20080311
+packetLen(0x00c7, 90)
+#elif PACKETVER >= 20080304
+packetLen(0x00c7, 67)
+#elif PACKETVER >= 20080226
+packetLen(0x00c7, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00c7, 90)
+#elif PACKETVER >= 20080124
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00c7, -1)
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20080701
+packetLen(0x00c8, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x00c8, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00c8, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00c8, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c8, 66)
+#elif PACKETVER >= 20080325
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c8, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00c8, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00c8, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00c8, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00c8, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00c8, -1)
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20080701
+packetLen(0x00c9, 39)
+#elif PACKETVER >= 20080624
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00c9, 36)
+#elif PACKETVER >= 20080610
+packetLen(0x00c9, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x00c9, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00c9, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00c9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00c9, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00c9, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00c9, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x00c9, -1)
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20080610
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00ca, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00ca, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x00ca, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00ca, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x00ca, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x00ca, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00ca, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00ca, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x00ca, 23)
+#elif PACKETVER >= 20080219
+packetLen(0x00ca, 86)
+#elif PACKETVER >= 20080124
+packetLen(0x00ca, 36)
+#elif PACKETVER >= 20080102
+packetLen(0x00ca, 3)
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+#if PACKETVER >= 20080701
+packetLen(0x00cc, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00cc, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x00cc, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00cc, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00cc, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00cc, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00cc, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00cc, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00cc, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00cc, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00cc, 6)
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+#if PACKETVER >= 20080701
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ce, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00ce, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x00ce, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x00ce, 102)
+#elif PACKETVER >= 20080528
+packetLen(0x00ce, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x00ce, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00ce, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00ce, 114)
+#elif PACKETVER >= 20080422
+packetLen(0x00ce, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00ce, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ce, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x00ce, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00ce, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00ce, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00ce, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ce, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00ce, 2)
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20080624
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00cf, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00cf, 57)
+#elif PACKETVER >= 20080603
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00cf, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x00cf, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00cf, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x00cf, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00cf, 60)
+#elif PACKETVER >= 20080325
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00cf, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00cf, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x00cf, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x00cf, 27)
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20080610
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00d0, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00d0, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x00d0, 114)
+#elif PACKETVER >= 20080507
+packetLen(0x00d0, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00d0, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00d0, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00d0, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x00d0, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00d0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00d0, 182)
+#elif PACKETVER >= 20080102
+packetLen(0x00d0, 3)
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20080701
+packetLen(0x00d1, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00d1, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x00d1, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00d1, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00d1, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00d1, 43)
+#elif PACKETVER >= 20080408
+packetLen(0x00d1, 67)
+#elif PACKETVER >= 20080401
+packetLen(0x00d1, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00d1, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x00d1, 13)
+#elif PACKETVER >= 20080124
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00d1, 4)
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20080701
+packetLen(0x00d2, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00d2, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x00d2, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x00d2, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00d2, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x00d2, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00d2, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00d2, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x00d2, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x00d2, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00d2, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x00d2, 4)
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20080701
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00d3, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00d3, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x00d3, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00d3, 20)
+#elif PACKETVER >= 20080408
+packetLen(0x00d3, 19)
+#elif PACKETVER >= 20080401
+packetLen(0x00d3, 33)
+#elif PACKETVER >= 20080325
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00d3, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x00d3, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00d3, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00d3, 2)
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+#if PACKETVER >= 20080701
+packetLen(0x00d5, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d5, 81)
+#elif PACKETVER >= 20080513
+packetLen(0x00d5, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00d5, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00d5, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x00d5, 21)
+#elif PACKETVER >= 20080325
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00d5, 114)
+#elif PACKETVER >= 20080311
+packetLen(0x00d5, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00d5, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00d5, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00d5, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00d5, -1)
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20080701
+packetLen(0x00d6, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d6, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00d6, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x00d6, 16)
+#elif PACKETVER >= 20080429
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00d6, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x00d6, 21)
+#elif PACKETVER >= 20080408
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00d6, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x00d6, 58)
+#elif PACKETVER >= 20080318
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00d6, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00d6, 68)
+#elif PACKETVER >= 20080226
+packetLen(0x00d6, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00d6, 3)
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20080701
+packetLen(0x00d7, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x00d7, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d7, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x00d7, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00d7, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00d7, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00d7, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00d7, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00d7, 67)
+#elif PACKETVER >= 20080304
+packetLen(0x00d7, 24)
+#elif PACKETVER >= 20080226
+packetLen(0x00d7, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00d7, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00d7, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00d7, -1)
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20080617
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d8, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d8, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x00d8, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x00d8, 53)
+#elif PACKETVER >= 20080507
+packetLen(0x00d8, 17)
+#elif PACKETVER >= 20080422
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00d8, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x00d8, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00d8, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00d8, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00d8, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00d8, 6)
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20080603
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d9, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00d9, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x00d9, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00d9, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00d9, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x00d9, 14)
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20080701
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00da, 53)
+#elif PACKETVER >= 20080610
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00da, 24)
+#elif PACKETVER >= 20080513
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00da, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00da, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00da, 31)
+#elif PACKETVER >= 20080401
+packetLen(0x00da, 13)
+#elif PACKETVER >= 20080325
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00da, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00da, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00da, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00da, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x00da, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x00da, 3)
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20080701
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00db, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00db, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00db, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00db, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x00db, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00db, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x00db, 33)
+#elif PACKETVER >= 20080408
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00db, 18)
+#elif PACKETVER >= 20080325
+packetLen(0x00db, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00db, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00db, 31)
+#elif PACKETVER >= 20080226
+packetLen(0x00db, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00db, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00db, -1)
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20080701
+packetLen(0x00dc, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00dc, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00dc, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x00dc, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x00dc, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x00dc, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00dc, 32)
+#elif PACKETVER >= 20080415
+packetLen(0x00dc, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00dc, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00dc, 29)
+#elif PACKETVER >= 20080311
+packetLen(0x00dc, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00dc, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00dc, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x00dc, 13)
+#elif PACKETVER >= 20080102
+packetLen(0x00dc, 28)
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20080701
+packetLen(0x00dd, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00dd, 20)
+#elif PACKETVER >= 20080528
+packetLen(0x00dd, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x00dd, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00dd, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00dd, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00dd, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x00dd, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00dd, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00dd, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00dd, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00dd, 29)
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20080701
+packetLen(0x00de, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x00de, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00de, 57)
+#elif PACKETVER >= 20080520
+packetLen(0x00de, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00de, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x00de, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00de, 18)
+#elif PACKETVER >= 20080401
+packetLen(0x00de, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00de, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00de, 34)
+#elif PACKETVER >= 20080124
+packetLen(0x00de, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00de, -1)
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20080701
+packetLen(0x00df, 34)
+#elif PACKETVER >= 20080624
+packetLen(0x00df, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x00df, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00df, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x00df, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x00df, 90)
+#elif PACKETVER >= 20080520
+packetLen(0x00df, 23)
+#elif PACKETVER >= 20080513
+packetLen(0x00df, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00df, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x00df, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00df, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00df, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00df, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00df, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x00df, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x00df, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x00df, -1)
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20080701
+packetLen(0x00e0, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00e0, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e0, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00e0, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x00e0, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00e0, 21)
+#elif PACKETVER >= 20080325
+packetLen(0x00e0, 71)
+#elif PACKETVER >= 20080318
+packetLen(0x00e0, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e0, 43)
+#elif PACKETVER >= 20080226
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00e0, 31)
+#elif PACKETVER >= 20080124
+packetLen(0x00e0, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x00e0, 30)
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20080610
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00e1, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00e1, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00e1, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00e1, 43)
+#elif PACKETVER >= 20080415
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00e1, 60)
+#elif PACKETVER >= 20080325
+packetLen(0x00e1, 22)
+#elif PACKETVER >= 20080318
+packetLen(0x00e1, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e1, 60)
+#elif PACKETVER >= 20080226
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00e1, 81)
+#elif PACKETVER >= 20080124
+packetLen(0x00e1, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00e1, 30)
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20080624
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00e2, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e2, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00e2, 282)
+#elif PACKETVER >= 20080408
+packetLen(0x00e2, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x00e2, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00e2, 79)
+#elif PACKETVER >= 20080311
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00e2, 31)
+#elif PACKETVER >= 20080226
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00e2, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00e2, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00e2, 26)
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20080701
+packetLen(0x00e3, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x00e3, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00e3, 58)
+#elif PACKETVER >= 20080610
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00e3, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x00e3, 35)
+#elif PACKETVER >= 20080429
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00e3, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00e3, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00e3, 58)
+#elif PACKETVER >= 20080325
+packetLen(0x00e3, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00e3, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00e3, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00e3, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x00e3, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00e3, 2)
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20080701
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e4, 36)
+#elif PACKETVER >= 20080617
+packetLen(0x00e4, 86)
+#elif PACKETVER >= 20080520
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e4, 33)
+#elif PACKETVER >= 20080507
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00e4, 58)
+#elif PACKETVER >= 20080422
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00e4, 13)
+#elif PACKETVER >= 20080408
+packetLen(0x00e4, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x00e4, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00e4, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00e4, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e4, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x00e4, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00e4, 6)
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20080701
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e5, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00e5, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00e5, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00e5, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x00e5, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x00e5, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00e5, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00e5, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00e5, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x00e5, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e5, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x00e5, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x00e5, 26)
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20080701
+packetLen(0x00e6, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00e6, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x00e6, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00e6, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00e6, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00e6, 43)
+#elif PACKETVER >= 20080513
+packetLen(0x00e6, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x00e6, 79)
+#elif PACKETVER >= 20080429
+packetLen(0x00e6, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x00e6, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00e6, 67)
+#elif PACKETVER >= 20080325
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00e6, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x00e6, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e6, 53)
+#elif PACKETVER >= 20080219
+packetLen(0x00e6, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00e6, 114)
+#elif PACKETVER >= 20080102
+packetLen(0x00e6, 3)
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20080701
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e7, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00e7, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00e7, 182)
+#elif PACKETVER >= 20080520
+packetLen(0x00e7, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00e7, 90)
+#elif PACKETVER >= 20080429
+packetLen(0x00e7, 182)
+#elif PACKETVER >= 20080422
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00e7, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00e7, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00e7, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00e7, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00e7, 68)
+#elif PACKETVER >= 20080124
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00e7, 3)
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20080701
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e8, 114)
+#elif PACKETVER >= 20080610
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x00e8, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x00e8, 66)
+#elif PACKETVER >= 20080513
+packetLen(0x00e8, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x00e8, 86)
+#elif PACKETVER >= 20080429
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00e8, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00e8, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x00e8, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e8, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00e8, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x00e8, 8)
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20080617
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00e9, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x00e9, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00e9, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x00e9, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00e9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00e9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e9, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00e9, 21)
+#elif PACKETVER >= 20080102
+packetLen(0x00e9, 19)
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20080701
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ea, 39)
+#elif PACKETVER >= 20080617
+packetLen(0x00ea, 90)
+#elif PACKETVER >= 20080603
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00ea, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00ea, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00ea, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00ea, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ea, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x00ea, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x00ea, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00ea, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ea, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00ea, 5)
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20080624
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00eb, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00eb, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00eb, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00eb, 36)
+#elif PACKETVER >= 20080429
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00eb, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00eb, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x00eb, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00eb, 86)
+#elif PACKETVER >= 20080311
+packetLen(0x00eb, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00eb, 19)
+#elif PACKETVER >= 20080219
+packetLen(0x00eb, 17)
+#elif PACKETVER >= 20080124
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00eb, 2)
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20080701
+packetLen(0x00ec, 55)
+#elif PACKETVER >= 20080624
+packetLen(0x00ec, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x00ec, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00ec, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x00ec, 81)
+#elif PACKETVER >= 20080513
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x00ec, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00ec, 34)
+#elif PACKETVER >= 20080422
+packetLen(0x00ec, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x00ec, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x00ec, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x00ec, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00ec, 20)
+#elif PACKETVER >= 20080304
+packetLen(0x00ec, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ec, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x00ec, 3)
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20080701
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ed, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00ed, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00ed, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00ed, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00ed, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00ed, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00ed, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00ed, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00ed, 86)
+#elif PACKETVER >= 20080226
+packetLen(0x00ed, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ed, 2)
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20080701
+packetLen(0x00ee, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00ee, 81)
+#elif PACKETVER >= 20080610
+packetLen(0x00ee, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00ee, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00ee, 18)
+#elif PACKETVER >= 20080520
+packetLen(0x00ee, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00ee, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00ee, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x00ee, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00ee, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00ee, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x00ee, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x00ee, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00ee, 90)
+#elif PACKETVER >= 20080219
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ee, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00ee, 2)
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20080701
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ef, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00ef, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x00ef, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00ef, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x00ef, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x00ef, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00ef, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ef, 57)
+#elif PACKETVER >= 20080325
+packetLen(0x00ef, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00ef, 90)
+#elif PACKETVER >= 20080311
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00ef, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ef, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00ef, 2)
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20080701
+packetLen(0x00f0, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00f0, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00f0, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x00f0, 43)
+#elif PACKETVER >= 20080429
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00f0, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x00f0, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00f0, 90)
+#elif PACKETVER >= 20080325
+packetLen(0x00f0, 24)
+#elif PACKETVER >= 20080318
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00f0, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00f0, 27)
+#elif PACKETVER >= 20080124
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00f0, 3)
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+#if PACKETVER >= 20080701
+packetLen(0x00f2, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x00f2, 39)
+#elif PACKETVER >= 20080603
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00f2, 39)
+#elif PACKETVER >= 20080507
+packetLen(0x00f2, 54)
+#elif PACKETVER >= 20080429
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00f2, 31)
+#elif PACKETVER >= 20080415
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00f2, 86)
+#elif PACKETVER >= 20080325
+packetLen(0x00f2, 60)
+#elif PACKETVER >= 20080318
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f2, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00f2, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00f2, 13)
+#elif PACKETVER >= 20080102
+packetLen(0x00f2, 6)
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+#if PACKETVER >= 20080624
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00f4, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00f4, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00f4, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00f4, 35)
+#elif PACKETVER >= 20080401
+packetLen(0x00f4, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x00f4, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00f4, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00f4, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00f4, 21)
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11)
+
+// Packet: 0x00f6
+#if PACKETVER >= 20080701
+packetLen(0x00f6, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00f6, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00f6, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00f6, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00f6, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x00f6, 65)
+#elif PACKETVER >= 20080401
+packetLen(0x00f6, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00f6, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00f6, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00f6, 65)
+#elif PACKETVER >= 20080226
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00f6, 23)
+#elif PACKETVER >= 20080124
+packetLen(0x00f6, 39)
+#elif PACKETVER >= 20080102
+packetLen(0x00f6, 8)
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17)
+
+// Packet: 0x00f8
+#if PACKETVER >= 20080701
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00f8, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x00f8, 17)
+#elif PACKETVER >= 20080610
+packetLen(0x00f8, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x00f8, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00f8, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f8, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00f8, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x00f8, 43)
+#elif PACKETVER >= 20080102
+packetLen(0x00f8, 2)
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20080701
+packetLen(0x00f9, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00f9, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00f9, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00f9, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00f9, 13)
+#elif PACKETVER >= 20080408
+packetLen(0x00f9, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00f9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00f9, 114)
+#elif PACKETVER >= 20080304
+packetLen(0x00f9, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x00f9, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x00f9, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00f9, 26)
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20080603
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00fa, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00fa, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x00fa, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x00fa, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00fa, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x00fa, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x00fa, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x00fa, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00fa, 20)
+#elif PACKETVER >= 20080226
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00fa, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00fa, 3)
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20080701
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00fb, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x00fb, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00fb, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00fb, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x00fb, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x00fb, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x00fb, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00fb, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00fb, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00fb, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x00fb, -1)
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20080701
+packetLen(0x00fc, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00fc, 18)
+#elif PACKETVER >= 20080528
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00fc, 53)
+#elif PACKETVER >= 20080422
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00fc, 17)
+#elif PACKETVER >= 20080318
+packetLen(0x00fc, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x00fc, 24)
+#elif PACKETVER >= 20080304
+packetLen(0x00fc, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00fc, 19)
+#elif PACKETVER >= 20080124
+packetLen(0x00fc, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00fc, 6)
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20080617
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00fd, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00fd, 97)
+#elif PACKETVER >= 20080528
+packetLen(0x00fd, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00fd, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00fd, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00fd, 18)
+#elif PACKETVER >= 20080311
+packetLen(0x00fd, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00fd, 20)
+#elif PACKETVER >= 20080219
+packetLen(0x00fd, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x00fd, 42)
+#elif PACKETVER >= 20080102
+packetLen(0x00fd, 27)
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20080617
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00fe, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00fe, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00fe, 186)
+#elif PACKETVER >= 20080325
+packetLen(0x00fe, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x00fe, 32)
+#elif PACKETVER >= 20080311
+packetLen(0x00fe, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00fe, 186)
+#elif PACKETVER >= 20080226
+packetLen(0x00fe, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00fe, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00fe, 30)
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20080701
+packetLen(0x00ff, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00ff, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00ff, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00ff, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x00ff, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ff, 79)
+#elif PACKETVER >= 20080325
+packetLen(0x00ff, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00ff, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00ff, 59)
+#elif PACKETVER >= 20080226
+packetLen(0x00ff, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00ff, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x00ff, 10)
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20080617
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0100, 186)
+#elif PACKETVER >= 20080520
+packetLen(0x0100, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0100, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0100, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x0100, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0100, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0100, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x0100, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x0100, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x0100, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0100, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x0100, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0100, 2)
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20080701
+packetLen(0x0101, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0101, 24)
+#elif PACKETVER >= 20080617
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0101, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0101, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0101, 58)
+#elif PACKETVER >= 20080429
+packetLen(0x0101, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0101, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0101, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x0101, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0101, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0101, 97)
+#elif PACKETVER >= 20080304
+packetLen(0x0101, 23)
+#elif PACKETVER >= 20080226
+packetLen(0x0101, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0101, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0101, 6)
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20080610
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0102, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0102, 17)
+#elif PACKETVER >= 20080520
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0102, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0102, 81)
+#elif PACKETVER >= 20080408
+packetLen(0x0102, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0102, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x0102, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0102, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0102, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0102, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0102, 68)
+#elif PACKETVER >= 20080124
+packetLen(0x0102, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0102, 6)
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20080701
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0103, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0103, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0103, 79)
+#elif PACKETVER >= 20080520
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0103, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0103, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0103, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0103, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0103, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0103, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0103, 30)
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20080701
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0104, 60)
+#elif PACKETVER >= 20080610
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0104, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0104, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0104, 17)
+#elif PACKETVER >= 20080513
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0104, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x0104, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x0104, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0104, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0104, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0104, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0104, 21)
+#elif PACKETVER >= 20080124
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0104, 79)
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20080617
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0105, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0105, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0105, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x0105, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0105, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0105, 23)
+#elif PACKETVER >= 20080318
+packetLen(0x0105, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0105, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0105, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0105, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0105, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0105, 31)
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20080701
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0106, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0106, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0106, 27)
+#elif PACKETVER >= 20080422
+packetLen(0x0106, 29)
+#elif PACKETVER >= 20080415
+packetLen(0x0106, 282)
+#elif PACKETVER >= 20080408
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0106, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0106, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0106, 21)
+#elif PACKETVER >= 20080124
+packetLen(0x0106, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0106, 10)
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20080624
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0107, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0107, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0107, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0107, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0107, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0107, 10)
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20080624
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0108, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x0108, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0108, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0108, 97)
+#elif PACKETVER >= 20080513
+packetLen(0x0108, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x0108, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0108, 32)
+#elif PACKETVER >= 20080415
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0108, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0108, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x0108, 182)
+#elif PACKETVER >= 20080311
+packetLen(0x0108, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0108, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0108, 97)
+#elif PACKETVER >= 20080124
+packetLen(0x0108, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0108, -1)
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20080701
+packetLen(0x0109, 31)
+#elif PACKETVER >= 20080624
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0109, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0109, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0109, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0109, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0109, 67)
+#elif PACKETVER >= 20080422
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0109, 102)
+#elif PACKETVER >= 20080408
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0109, 33)
+#elif PACKETVER >= 20080325
+packetLen(0x0109, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0109, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0109, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0109, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0109, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x0109, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x0109, -1)
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20080610
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x010a, 34)
+#elif PACKETVER >= 20080528
+packetLen(0x010a, 102)
+#elif PACKETVER >= 20080520
+packetLen(0x010a, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x010a, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x010a, 31)
+#elif PACKETVER >= 20080429
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x010a, 114)
+#elif PACKETVER >= 20080401
+packetLen(0x010a, 27)
+#elif PACKETVER >= 20080325
+packetLen(0x010a, 12)
+#elif PACKETVER >= 20080318
+packetLen(0x010a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x010a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x010a, 4)
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20080701
+packetLen(0x010b, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x010b, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x010b, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x010b, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x010b, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x010b, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x010b, 17)
+#elif PACKETVER >= 20080311
+packetLen(0x010b, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x010b, 114)
+#elif PACKETVER >= 20080226
+packetLen(0x010b, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x010b, 24)
+#elif PACKETVER >= 20080102
+packetLen(0x010b, 6)
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20080701
+packetLen(0x010c, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x010c, 23)
+#elif PACKETVER >= 20080610
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x010c, 31)
+#elif PACKETVER >= 20080528
+packetLen(0x010c, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x010c, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x010c, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x010c, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x010c, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x010c, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x010c, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x010c, 6)
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+#if PACKETVER >= 20080701
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x010e, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x010e, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x010e, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x010e, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x010e, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x010e, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x010e, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x010e, 12)
+#elif PACKETVER >= 20080401
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x010e, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x010e, 53)
+#elif PACKETVER >= 20080311
+packetLen(0x010e, 71)
+#elif PACKETVER >= 20080304
+packetLen(0x010e, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x010e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x010e, 11)
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20080701
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x010f, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x010f, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x010f, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x010f, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x010f, 17)
+#elif PACKETVER >= 20080507
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x010f, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x010f, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x010f, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x010f, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x010f, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x010f, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x010f, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x010f, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x010f, -1)
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20080617
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0110, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0110, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0110, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0110, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0110, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0110, 35)
+#elif PACKETVER >= 20080318
+packetLen(0x0110, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0110, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0110, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0110, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0110, 10)
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20080701
+packetLen(0x0111, 17)
+#elif PACKETVER >= 20080624
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0111, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0111, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0111, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0111, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0111, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0111, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0111, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0111, 23)
+#elif PACKETVER >= 20080311
+packetLen(0x0111, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0111, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0111, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x0111, 32)
+#elif PACKETVER >= 20080124
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0111, 39)
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20080701
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0112, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0112, 59)
+#elif PACKETVER >= 20080610
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0112, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0112, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0112, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0112, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0112, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0112, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0112, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0112, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x0112, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0112, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0112, 4)
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 25)
+
+// Packet: 0x0114
+#if PACKETVER >= 20080701
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0114, 15)
+#elif PACKETVER >= 20080610
+packetLen(0x0114, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0114, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0114, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0114, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0114, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0114, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0114, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0114, 182)
+#elif PACKETVER >= 20080318
+packetLen(0x0114, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0114, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0114, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0114, 31)
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 17)
+
+// Packet: 0x0117
+#if PACKETVER >= 20080603
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0117, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0117, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0117, 28)
+#elif PACKETVER >= 20080401
+packetLen(0x0117, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0117, 29)
+#elif PACKETVER >= 20080318
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0117, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0117, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0117, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0117, 18)
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20080701
+packetLen(0x0118, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0118, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0118, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x0118, 90)
+#elif PACKETVER >= 20080513
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0118, 29)
+#elif PACKETVER >= 20080422
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0118, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x0118, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0118, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x0118, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x0118, 2)
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20080603
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0119, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0119, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0119, 23)
+#elif PACKETVER >= 20080415
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0119, 17)
+#elif PACKETVER >= 20080325
+packetLen(0x0119, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0119, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0119, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0119, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0119, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0119, 58)
+#elif PACKETVER >= 20080124
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0119, 13)
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20080701
+packetLen(0x011a, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x011a, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x011a, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x011a, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x011a, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x011a, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x011a, 36)
+#elif PACKETVER >= 20080318
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x011a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x011a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x011a, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x011a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x011a, 15)
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20080528
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x011b, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x011b, 58)
+#elif PACKETVER >= 20080507
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x011b, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x011b, 20)
+#elif PACKETVER >= 20080415
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x011b, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x011b, 39)
+#elif PACKETVER >= 20080311
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x011b, 58)
+#elif PACKETVER >= 20080226
+packetLen(0x011b, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x011b, 20)
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20080617
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x011c, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x011c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x011c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x011c, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x011c, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x011c, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x011c, 31)
+#elif PACKETVER >= 20080408
+packetLen(0x011c, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x011c, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x011c, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x011c, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x011c, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x011c, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x011c, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x011c, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x011c, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x011c, 68)
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20080624
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x011d, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x011d, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x011d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x011d, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x011d, 23)
+#elif PACKETVER >= 20080513
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x011d, 81)
+#elif PACKETVER >= 20080422
+packetLen(0x011d, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x011d, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x011d, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x011d, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x011d, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x011d, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x011d, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x011d, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x011d, 2)
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20080624
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x011e, 33)
+#elif PACKETVER >= 20080610
+packetLen(0x011e, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x011e, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x011e, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x011e, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x011e, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x011e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x011e, 32)
+#elif PACKETVER >= 20080401
+packetLen(0x011e, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x011e, 18)
+#elif PACKETVER >= 20080318
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x011e, 18)
+#elif PACKETVER >= 20080219
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x011e, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x011e, 3)
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20080701
+packetLen(0x011f, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x011f, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x011f, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x011f, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x011f, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x011f, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x011f, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x011f, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x011f, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x011f, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011f, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x011f, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x011f, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x011f, 16)
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20080701
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0120, 27)
+#elif PACKETVER >= 20080617
+packetLen(0x0120, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0120, 79)
+#elif PACKETVER >= 20080603
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0120, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0120, 54)
+#elif PACKETVER >= 20080429
+packetLen(0x0120, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0120, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0120, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0120, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x0120, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0120, 39)
+#elif PACKETVER >= 20080102
+packetLen(0x0120, 6)
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20080701
+packetLen(0x0121, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0121, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0121, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0121, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0121, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0121, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0121, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0121, 29)
+#elif PACKETVER >= 20080311
+packetLen(0x0121, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0121, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0121, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0121, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x0121, 14)
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20080701
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0122, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0122, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x0122, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0122, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0122, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0122, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0122, 186)
+#elif PACKETVER >= 20080408
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0122, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0122, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x0122, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0122, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0122, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0122, -1)
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20080701
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0123, 23)
+#elif PACKETVER >= 20080603
+packetLen(0x0123, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0123, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0123, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0123, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0123, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0123, 35)
+#elif PACKETVER >= 20080325
+packetLen(0x0123, 33)
+#elif PACKETVER >= 20080318
+packetLen(0x0123, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0123, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0123, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0123, 16)
+#elif PACKETVER >= 20080124
+packetLen(0x0123, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0123, -1)
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20080701
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0124, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0124, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0124, 58)
+#elif PACKETVER >= 20080603
+packetLen(0x0124, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x0124, 32)
+#elif PACKETVER >= 20080520
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0124, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x0124, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0124, 31)
+#elif PACKETVER >= 20080422
+packetLen(0x0124, 71)
+#elif PACKETVER >= 20080415
+packetLen(0x0124, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0124, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0124, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0124, 36)
+#elif PACKETVER >= 20080219
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0124, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x0124, 21)
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20080701
+packetLen(0x0125, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0125, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0125, 86)
+#elif PACKETVER >= 20080603
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0125, 44)
+#elif PACKETVER >= 20080513
+packetLen(0x0125, 57)
+#elif PACKETVER >= 20080507
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0125, 32)
+#elif PACKETVER >= 20080415
+packetLen(0x0125, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0125, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x0125, 53)
+#elif PACKETVER >= 20080318
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0125, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0125, 8)
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20080701
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0126, 43)
+#elif PACKETVER >= 20080610
+packetLen(0x0126, 97)
+#elif PACKETVER >= 20080603
+packetLen(0x0126, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0126, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0126, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0126, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0126, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0126, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0126, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0126, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0126, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0126, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x0126, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0126, 8)
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20080701
+packetLen(0x0127, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0127, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0127, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0127, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0127, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0127, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0127, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0127, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0127, 67)
+#elif PACKETVER >= 20080311
+packetLen(0x0127, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0127, 18)
+#elif PACKETVER >= 20080226
+packetLen(0x0127, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x0127, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0127, 8)
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20080701
+packetLen(0x0128, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0128, 31)
+#elif PACKETVER >= 20080603
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0128, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0128, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0128, 13)
+#elif PACKETVER >= 20080422
+packetLen(0x0128, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0128, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0128, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0128, 58)
+#elif PACKETVER >= 20080304
+packetLen(0x0128, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0128, 17)
+#elif PACKETVER >= 20080124
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0128, 8)
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20080701
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0129, 182)
+#elif PACKETVER >= 20080617
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0129, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0129, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0129, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0129, 60)
+#elif PACKETVER >= 20080408
+packetLen(0x0129, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0129, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0129, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0129, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0129, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0129, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x0129, 8)
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20080624
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x012a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x012a, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x012a, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x012a, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x012a, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x012a, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x012a, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x012a, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x012a, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x012a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x012a, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x012a, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x012a, 2)
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+#if PACKETVER >= 20080610
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x012c, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x012c, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x012c, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x012c, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x012c, 39)
+#elif PACKETVER >= 20080422
+packetLen(0x012c, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x012c, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x012c, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x012c, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x012c, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x012c, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x012c, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x012c, 20)
+#elif PACKETVER >= 20080219
+packetLen(0x012c, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x012c, 19)
+#elif PACKETVER >= 20080102
+packetLen(0x012c, 3)
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20080701
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x012d, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x012d, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x012d, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x012d, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x012d, 34)
+#elif PACKETVER >= 20080507
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x012d, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x012d, 81)
+#elif PACKETVER >= 20080415
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x012d, 33)
+#elif PACKETVER >= 20080401
+packetLen(0x012d, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x012d, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x012d, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x012d, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x012d, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x012d, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x012d, 4)
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20080701
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x012e, 31)
+#elif PACKETVER >= 20080520
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x012e, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x012e, 102)
+#elif PACKETVER >= 20080429
+packetLen(0x012e, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x012e, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x012e, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x012e, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x012e, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x012e, 2)
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+#if PACKETVER >= 20080617
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0130, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0130, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0130, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0130, 81)
+#elif PACKETVER >= 20080325
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0130, 66)
+#elif PACKETVER >= 20080311
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0130, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x0130, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0130, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0130, 6)
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20080624
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0131, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x0131, 35)
+#elif PACKETVER >= 20080528
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0131, 35)
+#elif PACKETVER >= 20080429
+packetLen(0x0131, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x0131, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0131, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x0131, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0131, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0131, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0131, 29)
+#elif PACKETVER >= 20080219
+packetLen(0x0131, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0131, 86)
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20080701
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0132, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0132, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0132, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0132, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0132, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0132, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0132, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0132, 36)
+#elif PACKETVER >= 20080219
+packetLen(0x0132, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0132, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0132, 6)
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20080701
+packetLen(0x0133, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0133, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0133, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x0133, 57)
+#elif PACKETVER >= 20080513
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0133, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0133, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0133, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0133, 24)
+#elif PACKETVER >= 20080311
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0133, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0133, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0133, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0133, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0133, -1)
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20080701
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0134, 29)
+#elif PACKETVER >= 20080617
+packetLen(0x0134, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0134, 67)
+#elif PACKETVER >= 20080603
+packetLen(0x0134, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0134, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0134, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x0134, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0134, 71)
+#elif PACKETVER >= 20080408
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0134, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x0134, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x0134, 20)
+#elif PACKETVER >= 20080311
+packetLen(0x0134, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0134, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0134, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0134, -1)
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20080624
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0135, 13)
+#elif PACKETVER >= 20080610
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0135, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0135, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0135, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0135, 29)
+#elif PACKETVER >= 20080422
+packetLen(0x0135, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0135, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0135, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0135, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0135, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0135, 65)
+#elif PACKETVER >= 20080124
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0135, 7)
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20080701
+packetLen(0x0136, 54)
+#elif PACKETVER >= 20080624
+packetLen(0x0136, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0136, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0136, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0136, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x0136, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x0136, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0136, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0136, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0136, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0136, -1)
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20080701
+packetLen(0x0137, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0137, 71)
+#elif PACKETVER >= 20080610
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0137, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0137, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x0137, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x0137, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0137, 32)
+#elif PACKETVER >= 20080318
+packetLen(0x0137, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x0137, 86)
+#elif PACKETVER >= 20080226
+packetLen(0x0137, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0137, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0137, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0137, 6)
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+#if PACKETVER >= 20080701
+packetLen(0x0139, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0139, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0139, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0139, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0139, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x0139, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x0139, 29)
+#elif PACKETVER >= 20080415
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0139, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0139, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0139, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0139, 31)
+#elif PACKETVER >= 20080304
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0139, 81)
+#elif PACKETVER >= 20080219
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0139, 16)
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20080701
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x013a, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x013a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x013a, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x013a, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x013a, 182)
+#elif PACKETVER >= 20080429
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x013a, 55)
+#elif PACKETVER >= 20080401
+packetLen(0x013a, 12)
+#elif PACKETVER >= 20080325
+packetLen(0x013a, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013a, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x013a, 58)
+#elif PACKETVER >= 20080124
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013a, 4)
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20080701
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x013b, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x013b, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x013b, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x013b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x013b, 18)
+#elif PACKETVER >= 20080507
+packetLen(0x013b, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x013b, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x013b, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x013b, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x013b, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x013b, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x013b, 16)
+#elif PACKETVER >= 20080124
+packetLen(0x013b, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x013b, 4)
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20080701
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x013c, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x013c, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x013c, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x013c, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x013c, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x013c, 33)
+#elif PACKETVER >= 20080415
+packetLen(0x013c, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x013c, 12)
+#elif PACKETVER >= 20080325
+packetLen(0x013c, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013c, 66)
+#elif PACKETVER >= 20080226
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x013c, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x013c, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x013c, 4)
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20080701
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x013d, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x013d, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x013d, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x013d, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x013d, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x013d, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x013d, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x013d, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013d, 6)
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20080701
+packetLen(0x013e, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x013e, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x013e, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x013e, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x013e, 21)
+#elif PACKETVER >= 20080429
+packetLen(0x013e, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x013e, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x013e, 15)
+#elif PACKETVER >= 20080318
+packetLen(0x013e, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x013e, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x013e, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x013e, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013e, 24)
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20080701
+packetLen(0x013f, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x013f, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x013f, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x013f, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x013f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x013f, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x013f, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x013f, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x013f, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x013f, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x013f, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x013f, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x013f, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x013f, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x013f, 58)
+#elif PACKETVER >= 20080124
+packetLen(0x013f, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x013f, 26)
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20080701
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0140, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0140, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0140, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0140, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0140, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0140, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x0140, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0140, 53)
+#elif PACKETVER >= 20080401
+packetLen(0x0140, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0140, 27)
+#elif PACKETVER >= 20080318
+packetLen(0x0140, 33)
+#elif PACKETVER >= 20080311
+packetLen(0x0140, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0140, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0140, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0140, 22)
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20080624
+packetLen(0x0141, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0141, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0141, 18)
+#elif PACKETVER >= 20080520
+packetLen(0x0141, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0141, 60)
+#elif PACKETVER >= 20080422
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0141, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0141, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0141, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0141, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x0141, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0141, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0141, 35)
+#elif PACKETVER >= 20080102
+packetLen(0x0141, 14)
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20080701
+packetLen(0x0142, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0142, 32)
+#elif PACKETVER >= 20080603
+packetLen(0x0142, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0142, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0142, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0142, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0142, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x0142, 67)
+#elif PACKETVER >= 20080318
+packetLen(0x0142, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0142, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0142, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0142, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0142, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0142, 6)
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20080617
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0143, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0143, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0143, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0143, 97)
+#elif PACKETVER >= 20080507
+packetLen(0x0143, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0143, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0143, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0143, 53)
+#elif PACKETVER >= 20080401
+packetLen(0x0143, 27)
+#elif PACKETVER >= 20080325
+packetLen(0x0143, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0143, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0143, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0143, 67)
+#elif PACKETVER >= 20080102
+packetLen(0x0143, 10)
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20080701
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0144, 81)
+#elif PACKETVER >= 20080603
+packetLen(0x0144, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0144, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0144, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0144, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0144, 65)
+#elif PACKETVER >= 20080325
+packetLen(0x0144, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0144, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0144, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0144, 23)
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+#if PACKETVER >= 20080624
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0146, 23)
+#elif PACKETVER >= 20080610
+packetLen(0x0146, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0146, 65)
+#elif PACKETVER >= 20080422
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0146, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0146, 42)
+#elif PACKETVER >= 20080311
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0146, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0146, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0146, 6)
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20080701
+packetLen(0x0147, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0147, 18)
+#elif PACKETVER >= 20080610
+packetLen(0x0147, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0147, 114)
+#elif PACKETVER >= 20080513
+packetLen(0x0147, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x0147, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0147, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0147, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0147, 90)
+#elif PACKETVER >= 20080311
+packetLen(0x0147, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0147, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x0147, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0147, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0147, 39)
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20080617
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0148, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0148, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0148, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0148, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x0148, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0148, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0148, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0148, 8)
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20080701
+packetLen(0x0149, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0149, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0149, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0149, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0149, 71)
+#elif PACKETVER >= 20080429
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0149, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x0149, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0149, 17)
+#elif PACKETVER >= 20080401
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0149, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0149, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0149, 53)
+#elif PACKETVER >= 20080124
+packetLen(0x0149, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0149, 9)
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+#if PACKETVER >= 20080701
+packetLen(0x014c, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x014c, 17)
+#elif PACKETVER >= 20080610
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x014c, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x014c, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x014c, 55)
+#elif PACKETVER >= 20080325
+packetLen(0x014c, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x014c, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x014c, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x014c, -1)
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20080701
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x014d, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x014d, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x014d, 282)
+#elif PACKETVER >= 20080513
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x014d, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x014d, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x014d, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x014d, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x014d, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x014d, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x014d, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x014d, 2)
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+#if PACKETVER >= 20080617
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x014f, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x014f, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x014f, 23)
+#elif PACKETVER >= 20080422
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x014f, 58)
+#elif PACKETVER >= 20080325
+packetLen(0x014f, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x014f, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x014f, 97)
+#elif PACKETVER >= 20080219
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x014f, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x014f, 6)
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+#if PACKETVER >= 20080701
+packetLen(0x0154, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0154, 13)
+#elif PACKETVER >= 20080603
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0154, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0154, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0154, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0154, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0154, 39)
+#elif PACKETVER >= 20080325
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0154, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0154, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0154, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0154, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0154, -1)
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20080624
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0155, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0155, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0155, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x0155, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0155, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0155, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0155, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0155, 66)
+#elif PACKETVER >= 20080219
+packetLen(0x0155, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0155, -1)
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0158
+packetLen(0x0158, -1)
+
+// Packet: 0x0159
+#if PACKETVER >= 20080701
+packetLen(0x0159, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x0159, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0159, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0159, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0159, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x0159, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0159, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0159, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0159, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0159, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x0159, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0159, 186)
+#elif PACKETVER >= 20080219
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0159, 33)
+#elif PACKETVER >= 20080102
+packetLen(0x0159, 54)
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20080617
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x015a, 24)
+#elif PACKETVER >= 20080603
+packetLen(0x015a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x015a, 31)
+#elif PACKETVER >= 20080520
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x015a, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x015a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x015a, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x015a, 23)
+#elif PACKETVER >= 20080325
+packetLen(0x015a, 33)
+#elif PACKETVER >= 20080318
+packetLen(0x015a, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x015a, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x015a, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x015a, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x015a, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x015a, 66)
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20080701
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x015b, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x015b, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x015b, 59)
+#elif PACKETVER >= 20080513
+packetLen(0x015b, 79)
+#elif PACKETVER >= 20080507
+packetLen(0x015b, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x015b, 97)
+#elif PACKETVER >= 20080408
+packetLen(0x015b, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x015b, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x015b, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x015b, 24)
+#elif PACKETVER >= 20080311
+packetLen(0x015b, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x015b, 33)
+#elif PACKETVER >= 20080226
+packetLen(0x015b, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x015b, 54)
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20080624
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x015c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x015c, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x015c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x015c, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x015c, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x015c, 18)
+#elif PACKETVER >= 20080318
+packetLen(0x015c, 57)
+#elif PACKETVER >= 20080311
+packetLen(0x015c, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x015c, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x015c, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x015c, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x015c, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x015c, 90)
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+#if PACKETVER >= 20080701
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x015e, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x015e, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x015e, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x015e, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x015e, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x015e, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x015e, 32)
+#elif PACKETVER >= 20080408
+packetLen(0x015e, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x015e, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x015e, 15)
+#elif PACKETVER >= 20080318
+packetLen(0x015e, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x015e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x015e, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x015e, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x015e, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x015e, 6)
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+#if PACKETVER >= 20080701
+packetLen(0x0160, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0160, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x0160, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0160, 186)
+#elif PACKETVER >= 20080528
+packetLen(0x0160, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x0160, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0160, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0160, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0160, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0160, 102)
+#elif PACKETVER >= 20080124
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0160, -1)
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20080701
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0161, 16)
+#elif PACKETVER >= 20080617
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0161, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0161, 16)
+#elif PACKETVER >= 20080528
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0161, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0161, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0161, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0161, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0161, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x0161, 21)
+#elif PACKETVER >= 20080219
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0161, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0161, -1)
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20080701
+packetLen(0x0162, 81)
+#elif PACKETVER >= 20080624
+packetLen(0x0162, 23)
+#elif PACKETVER >= 20080617
+packetLen(0x0162, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x0162, 18)
+#elif PACKETVER >= 20080603
+packetLen(0x0162, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0162, 66)
+#elif PACKETVER >= 20080520
+packetLen(0x0162, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0162, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0162, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0162, 13)
+#elif PACKETVER >= 20080415
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0162, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0162, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0162, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0162, -1)
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20080610
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0163, 44)
+#elif PACKETVER >= 20080528
+packetLen(0x0163, 68)
+#elif PACKETVER >= 20080520
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0163, 42)
+#elif PACKETVER >= 20080507
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0163, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0163, 86)
+#elif PACKETVER >= 20080415
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0163, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0163, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0163, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0163, -1)
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+#if PACKETVER >= 20080701
+packetLen(0x0165, 54)
+#elif PACKETVER >= 20080617
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0165, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0165, 114)
+#elif PACKETVER >= 20080507
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0165, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0165, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x0165, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0165, 182)
+#elif PACKETVER >= 20080401
+packetLen(0x0165, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0165, 97)
+#elif PACKETVER >= 20080318
+packetLen(0x0165, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0165, 102)
+#elif PACKETVER >= 20080304
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0165, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0165, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x0165, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0165, 30)
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20080701
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0166, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x0166, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0166, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0166, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0166, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0166, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0166, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0166, 68)
+#elif PACKETVER >= 20080311
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0166, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0166, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x0166, -1)
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20080617
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0167, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x0167, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0167, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0167, 86)
+#elif PACKETVER >= 20080513
+packetLen(0x0167, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0167, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0167, 42)
+#elif PACKETVER >= 20080415
+packetLen(0x0167, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0167, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0167, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0167, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0167, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0167, 71)
+#elif PACKETVER >= 20080219
+packetLen(0x0167, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0167, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0167, 3)
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20080701
+packetLen(0x0168, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0168, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0168, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0168, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0168, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0168, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0168, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0168, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0168, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0168, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0168, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0168, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0168, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0168, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0168, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0168, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0168, 14)
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20080701
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0169, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0169, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0169, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0169, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0169, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0169, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0169, 3)
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20080701
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x016a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x016a, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x016a, 24)
+#elif PACKETVER >= 20080513
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x016a, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x016a, 97)
+#elif PACKETVER >= 20080401
+packetLen(0x016a, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x016a, 44)
+#elif PACKETVER >= 20080311
+packetLen(0x016a, 32)
+#elif PACKETVER >= 20080304
+packetLen(0x016a, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x016a, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x016a, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x016a, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x016a, 30)
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20080624
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x016b, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x016b, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x016b, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x016b, 27)
+#elif PACKETVER >= 20080318
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x016b, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x016b, 20)
+#elif PACKETVER >= 20080226
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x016b, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x016b, 10)
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20080701
+packetLen(0x016c, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x016c, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x016c, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x016c, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x016c, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x016c, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x016c, 57)
+#elif PACKETVER >= 20080422
+packetLen(0x016c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x016c, 32)
+#elif PACKETVER >= 20080318
+packetLen(0x016c, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x016c, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x016c, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x016c, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x016c, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x016c, 43)
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20080701
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x016d, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x016d, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x016d, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x016d, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x016d, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x016d, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x016d, 19)
+#elif PACKETVER >= 20080311
+packetLen(0x016d, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x016d, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x016d, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x016d, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x016d, 14)
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20080701
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x016e, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x016e, 39)
+#elif PACKETVER >= 20080520
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x016e, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x016e, 186)
+#elif PACKETVER >= 20080415
+packetLen(0x016e, 42)
+#elif PACKETVER >= 20080401
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x016e, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x016e, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x016e, 186)
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20080701
+packetLen(0x016f, 44)
+#elif PACKETVER >= 20080624
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x016f, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x016f, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x016f, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x016f, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x016f, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x016f, 22)
+#elif PACKETVER >= 20080318
+packetLen(0x016f, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x016f, 182)
+#elif PACKETVER >= 20080304
+packetLen(0x016f, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x016f, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x016f, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x016f, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x016f, 182)
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20080701
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0170, 20)
+#elif PACKETVER >= 20080528
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0170, 102)
+#elif PACKETVER >= 20080429
+packetLen(0x0170, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0170, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0170, 22)
+#elif PACKETVER >= 20080401
+packetLen(0x0170, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0170, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0170, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0170, 81)
+#elif PACKETVER >= 20080226
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x0170, 60)
+#elif PACKETVER >= 20080124
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0170, 14)
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20080701
+packetLen(0x0171, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0171, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0171, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0171, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0171, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0171, 23)
+#elif PACKETVER >= 20080325
+packetLen(0x0171, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0171, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0171, 67)
+#elif PACKETVER >= 20080219
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0171, 30)
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20080624
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0172, 102)
+#elif PACKETVER >= 20080610
+packetLen(0x0172, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0172, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0172, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0172, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0172, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0172, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0172, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0172, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0172, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0172, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x0172, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x0172, 10)
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+#if PACKETVER >= 20080701
+packetLen(0x0177, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0177, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0177, 31)
+#elif PACKETVER >= 20080603
+packetLen(0x0177, 58)
+#elif PACKETVER >= 20080528
+packetLen(0x0177, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0177, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0177, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0177, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x0177, 114)
+#elif PACKETVER >= 20080408
+packetLen(0x0177, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0177, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0177, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0177, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x0177, 34)
+#elif PACKETVER >= 20080226
+packetLen(0x0177, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0177, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0177, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0177, -1)
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20080624
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0178, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0178, 33)
+#elif PACKETVER >= 20080520
+packetLen(0x0178, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0178, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0178, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0178, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0178, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0178, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x0178, 68)
+#elif PACKETVER >= 20080102
+packetLen(0x0178, 4)
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20080701
+packetLen(0x0179, 59)
+#elif PACKETVER >= 20080624
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0179, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0179, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x0179, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0179, 43)
+#elif PACKETVER >= 20080429
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0179, 55)
+#elif PACKETVER >= 20080415
+packetLen(0x0179, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0179, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0179, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0179, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0179, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0179, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0179, 5)
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20080701
+packetLen(0x017a, 29)
+#elif PACKETVER >= 20080610
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x017a, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x017a, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x017a, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x017a, 31)
+#elif PACKETVER >= 20080325
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x017a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x017a, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x017a, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x017a, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x017a, 4)
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20080701
+packetLen(0x017b, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x017b, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x017b, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x017b, 68)
+#elif PACKETVER >= 20080513
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x017b, 53)
+#elif PACKETVER >= 20080429
+packetLen(0x017b, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x017b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x017b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x017b, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x017b, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x017b, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x017b, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x017b, 18)
+#elif PACKETVER >= 20080124
+packetLen(0x017b, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x017b, -1)
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20080701
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x017c, 55)
+#elif PACKETVER >= 20080617
+packetLen(0x017c, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x017c, 21)
+#elif PACKETVER >= 20080520
+packetLen(0x017c, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x017c, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x017c, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x017c, 6)
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20080701
+packetLen(0x017d, 33)
+#elif PACKETVER >= 20080610
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x017d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x017d, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x017d, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x017d, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x017d, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x017d, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x017d, 34)
+#elif PACKETVER >= 20080304
+packetLen(0x017d, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x017d, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x017d, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x017d, 7)
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20080701
+packetLen(0x017e, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x017e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x017e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x017e, 29)
+#elif PACKETVER >= 20080520
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x017e, 32)
+#elif PACKETVER >= 20080429
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x017e, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x017e, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x017e, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x017e, 31)
+#elif PACKETVER >= 20080304
+packetLen(0x017e, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x017e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x017e, 28)
+#elif PACKETVER >= 20080124
+packetLen(0x017e, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x017e, -1)
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20080624
+packetLen(0x017f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x017f, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x017f, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x017f, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x017f, 20)
+#elif PACKETVER >= 20080401
+packetLen(0x017f, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x017f, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x017f, 35)
+#elif PACKETVER >= 20080304
+packetLen(0x017f, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x017f, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20080617
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0188, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x0188, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0188, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0188, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0188, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0188, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x0188, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0188, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0188, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0188, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0188, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x0188, 27)
+#elif PACKETVER >= 20080124
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0188, 8)
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20080624
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0189, 55)
+#elif PACKETVER >= 20080610
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0189, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0189, 24)
+#elif PACKETVER >= 20080520
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0189, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0189, 58)
+#elif PACKETVER >= 20080401
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0189, 31)
+#elif PACKETVER >= 20080318
+packetLen(0x0189, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0189, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0189, 17)
+#elif PACKETVER >= 20080219
+packetLen(0x0189, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0189, 4)
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20080701
+packetLen(0x018a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x018a, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x018a, 18)
+#elif PACKETVER >= 20080610
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x018a, 32)
+#elif PACKETVER >= 20080325
+packetLen(0x018a, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x018a, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x018a, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x018a, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x018a, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x018a, 4)
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20080701
+packetLen(0x018b, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x018b, 182)
+#elif PACKETVER >= 20080528
+packetLen(0x018b, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x018b, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x018b, 102)
+#elif PACKETVER >= 20080408
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x018b, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x018b, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x018b, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x018b, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x018b, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x018b, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x018b, 4)
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20080701
+packetLen(0x018c, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x018c, 31)
+#elif PACKETVER >= 20080610
+packetLen(0x018c, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x018c, 102)
+#elif PACKETVER >= 20080513
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x018c, 21)
+#elif PACKETVER >= 20080401
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x018c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x018c, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x018c, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x018c, 29)
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20080701
+packetLen(0x018d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x018d, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x018d, 65)
+#elif PACKETVER >= 20080603
+packetLen(0x018d, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x018d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x018d, 59)
+#elif PACKETVER >= 20080415
+packetLen(0x018d, 79)
+#elif PACKETVER >= 20080408
+packetLen(0x018d, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x018d, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x018d, 39)
+#elif PACKETVER >= 20080226
+packetLen(0x018d, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x018d, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x018d, -1)
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20080701
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x018e, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x018e, 59)
+#elif PACKETVER >= 20080603
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x018e, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x018e, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x018e, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x018e, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x018e, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x018e, 65)
+#elif PACKETVER >= 20080311
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x018e, 58)
+#elif PACKETVER >= 20080226
+packetLen(0x018e, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x018e, 39)
+#elif PACKETVER >= 20080124
+packetLen(0x018e, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x018e, 10)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20080617
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x018f, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x018f, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x018f, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x018f, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x018f, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x018f, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x018f, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x018f, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x018f, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x018f, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x018f, 6)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+#if PACKETVER >= 20080701
+packetLen(0x0194, 42)
+#elif PACKETVER >= 20080624
+packetLen(0x0194, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0194, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0194, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0194, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0194, 53)
+#elif PACKETVER >= 20080429
+packetLen(0x0194, 59)
+#elif PACKETVER >= 20080422
+packetLen(0x0194, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0194, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x0194, 21)
+#elif PACKETVER >= 20080401
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0194, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x0194, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0194, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0194, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x0194, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x0194, 30)
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20080701
+packetLen(0x0195, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0195, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0195, 31)
+#elif PACKETVER >= 20080422
+packetLen(0x0195, 66)
+#elif PACKETVER >= 20080415
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0195, 60)
+#elif PACKETVER >= 20080318
+packetLen(0x0195, 29)
+#elif PACKETVER >= 20080311
+packetLen(0x0195, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x0195, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x0195, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0195, 43)
+#elif PACKETVER >= 20080124
+packetLen(0x0195, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0195, 102)
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20080701
+packetLen(0x0196, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0196, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0196, 67)
+#elif PACKETVER >= 20080520
+packetLen(0x0196, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x0196, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0196, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0196, 31)
+#elif PACKETVER >= 20080415
+packetLen(0x0196, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x0196, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0196, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0196, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0196, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0196, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0196, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0196, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0196, 9)
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+#if PACKETVER >= 20080701
+packetLen(0x0199, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x0199, 29)
+#elif PACKETVER >= 20080617
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0199, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0199, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x0199, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0199, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0199, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x0199, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0199, 44)
+#elif PACKETVER >= 20080318
+packetLen(0x0199, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0199, 17)
+#elif PACKETVER >= 20080304
+packetLen(0x0199, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0199, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0199, 4)
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20080701
+packetLen(0x019a, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x019a, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x019a, 17)
+#elif PACKETVER >= 20080513
+packetLen(0x019a, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x019a, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x019a, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x019a, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x019a, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x019a, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x019a, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x019a, 35)
+#elif PACKETVER >= 20080226
+packetLen(0x019a, 42)
+#elif PACKETVER >= 20080219
+packetLen(0x019a, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x019a, 57)
+#elif PACKETVER >= 20080102
+packetLen(0x019a, 14)
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20080624
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x019b, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x019b, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x019b, 18)
+#elif PACKETVER >= 20080513
+packetLen(0x019b, 68)
+#elif PACKETVER >= 20080507
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x019b, 17)
+#elif PACKETVER >= 20080415
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x019b, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x019b, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x019b, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x019b, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x019b, 65)
+#elif PACKETVER >= 20080219
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x019b, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x019b, 10)
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20080701
+packetLen(0x019c, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x019c, 29)
+#elif PACKETVER >= 20080617
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x019c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x019c, 55)
+#elif PACKETVER >= 20080520
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x019c, 81)
+#elif PACKETVER >= 20080507
+packetLen(0x019c, 18)
+#elif PACKETVER >= 20080429
+packetLen(0x019c, 79)
+#elif PACKETVER >= 20080422
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x019c, 54)
+#elif PACKETVER >= 20080325
+packetLen(0x019c, 23)
+#elif PACKETVER >= 20080318
+packetLen(0x019c, 43)
+#elif PACKETVER >= 20080311
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x019c, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x019c, 186)
+#elif PACKETVER >= 20080102
+packetLen(0x019c, -1)
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20080701
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x019d, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x019d, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x019d, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x019d, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x019d, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x019d, 18)
+#elif PACKETVER >= 20080408
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x019d, 68)
+#elif PACKETVER >= 20080325
+packetLen(0x019d, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x019d, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x019d, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x019d, 18)
+#elif PACKETVER >= 20080124
+packetLen(0x019d, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x019d, 6)
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+#if PACKETVER >= 20080701
+packetLen(0x019f, 36)
+#elif PACKETVER >= 20080610
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x019f, 20)
+#elif PACKETVER >= 20080520
+packetLen(0x019f, 18)
+#elif PACKETVER >= 20080513
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x019f, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x019f, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x019f, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x019f, 34)
+#elif PACKETVER >= 20080318
+packetLen(0x019f, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x019f, 23)
+#elif PACKETVER >= 20080226
+packetLen(0x019f, 79)
+#elif PACKETVER >= 20080124
+packetLen(0x019f, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x019f, 6)
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20080701
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01a0, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a0, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x01a0, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x01a0, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01a0, 42)
+#elif PACKETVER >= 20080513
+packetLen(0x01a0, 24)
+#elif PACKETVER >= 20080507
+packetLen(0x01a0, 23)
+#elif PACKETVER >= 20080429
+packetLen(0x01a0, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01a0, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01a0, 17)
+#elif PACKETVER >= 20080311
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01a0, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x01a0, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01a0, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01a0, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x01a0, 3)
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20080701
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a1, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01a1, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x01a1, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01a1, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01a1, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x01a1, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x01a1, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x01a1, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x01a1, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01a1, 53)
+#elif PACKETVER >= 20080304
+packetLen(0x01a1, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01a1, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01a1, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01a1, 3)
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20080701
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x01a2, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01a2, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01a2, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x01a2, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01a2, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x01a2, 68)
+#elif PACKETVER >= 20080408
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01a2, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a2, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x01a2, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01a2, 35)
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20080701
+packetLen(0x01a3, 31)
+#elif PACKETVER >= 20080624
+packetLen(0x01a3, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01a3, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01a3, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01a3, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x01a3, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x01a3, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x01a3, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01a3, 32)
+#elif PACKETVER >= 20080304
+packetLen(0x01a3, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a3, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01a3, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01a3, 5)
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20080617
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a4, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01a4, 34)
+#elif PACKETVER >= 20080513
+packetLen(0x01a4, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x01a4, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01a4, 102)
+#elif PACKETVER >= 20080415
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01a4, 16)
+#elif PACKETVER >= 20080401
+packetLen(0x01a4, 36)
+#elif PACKETVER >= 20080325
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x01a4, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01a4, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01a4, 11)
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+#if PACKETVER >= 20080701
+packetLen(0x01a6, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a6, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x01a6, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x01a6, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01a6, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01a6, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01a6, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01a6, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x01a6, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01a6, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01a6, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x01a6, -1)
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20080701
+packetLen(0x01a7, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01a7, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01a7, 18)
+#elif PACKETVER >= 20080507
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01a7, 18)
+#elif PACKETVER >= 20080408
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01a7, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x01a7, 16)
+#elif PACKETVER >= 20080318
+packetLen(0x01a7, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a7, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01a7, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01a7, 4)
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+#if PACKETVER >= 20080624
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01aa, 43)
+#elif PACKETVER >= 20080528
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01aa, 28)
+#elif PACKETVER >= 20080513
+packetLen(0x01aa, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01aa, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x01aa, 28)
+#elif PACKETVER >= 20080401
+packetLen(0x01aa, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01aa, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x01aa, 67)
+#elif PACKETVER >= 20080219
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01aa, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x01aa, 10)
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20080701
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x01ab, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ab, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x01ab, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01ab, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01ab, 35)
+#elif PACKETVER >= 20080408
+packetLen(0x01ab, 79)
+#elif PACKETVER >= 20080401
+packetLen(0x01ab, 18)
+#elif PACKETVER >= 20080325
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ab, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01ab, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01ab, 12)
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20080610
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01ac, 59)
+#elif PACKETVER >= 20080528
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x01ac, 44)
+#elif PACKETVER >= 20080507
+packetLen(0x01ac, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01ac, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x01ac, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01ac, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01ac, 97)
+#elif PACKETVER >= 20080311
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ac, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01ac, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01ac, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01ac, 17)
+#elif PACKETVER >= 20080102
+packetLen(0x01ac, 6)
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20080624
+packetLen(0x01ad, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ad, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x01ad, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01ad, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x01ad, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01ad, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x01ad, 39)
+#elif PACKETVER >= 20080318
+packetLen(0x01ad, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ad, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01ad, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x01ad, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01ad, -1)
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20080701
+packetLen(0x01ae, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x01ae, 43)
+#elif PACKETVER >= 20080528
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ae, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01ae, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ae, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x01ae, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01ae, 4)
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+#if PACKETVER >= 20080701
+packetLen(0x01b0, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01b0, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01b0, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01b0, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x01b0, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01b0, 16)
+#elif PACKETVER >= 20080318
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01b0, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01b0, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01b0, 11)
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+#if PACKETVER >= 20080624
+packetLen(0x01b2, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01b2, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01b2, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x01b2, 57)
+#elif PACKETVER >= 20080528
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01b2, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01b2, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01b2, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01b2, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01b2, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01b2, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x01b2, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01b2, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x01b2, -1)
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20080610
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x01b3, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x01b3, 71)
+#elif PACKETVER >= 20080513
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01b3, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x01b3, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01b3, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01b3, 33)
+#elif PACKETVER >= 20080311
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01b3, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01b3, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x01b3, 67)
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+#if PACKETVER >= 20080701
+packetLen(0x01b6, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x01b6, 31)
+#elif PACKETVER >= 20080617
+packetLen(0x01b6, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x01b6, 55)
+#elif PACKETVER >= 20080603
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01b6, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01b6, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x01b6, 86)
+#elif PACKETVER >= 20080422
+packetLen(0x01b6, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01b6, 60)
+#elif PACKETVER >= 20080325
+packetLen(0x01b6, 12)
+#elif PACKETVER >= 20080318
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01b6, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x01b6, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01b6, 18)
+#elif PACKETVER >= 20080219
+packetLen(0x01b6, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x01b6, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01b6, 114)
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+#if PACKETVER >= 20080701
+packetLen(0x01b9, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01b9, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01b9, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01b9, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01b9, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x01b9, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x01b9, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x01b9, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x01b9, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x01b9, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x01b9, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01b9, 6)
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20080701
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01ba, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ba, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x01ba, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01ba, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01ba, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01ba, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01ba, 81)
+#elif PACKETVER >= 20080311
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ba, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01ba, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x01ba, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x01ba, 26)
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20080603
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01bb, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01bb, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01bb, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01bb, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x01bb, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01bb, 43)
+#elif PACKETVER >= 20080318
+packetLen(0x01bb, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x01bb, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01bb, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01bb, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01bb, 81)
+#elif PACKETVER >= 20080102
+packetLen(0x01bb, 26)
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20080617
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01bc, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x01bc, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x01bc, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x01bc, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x01bc, 20)
+#elif PACKETVER >= 20080507
+packetLen(0x01bc, 39)
+#elif PACKETVER >= 20080429
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01bc, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01bc, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x01bc, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01bc, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x01bc, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01bc, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x01bc, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01bc, 86)
+#elif PACKETVER >= 20080219
+packetLen(0x01bc, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x01bc, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01bc, 26)
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20080701
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x01bd, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x01bd, 44)
+#elif PACKETVER >= 20080610
+packetLen(0x01bd, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01bd, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x01bd, 35)
+#elif PACKETVER >= 20080507
+packetLen(0x01bd, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01bd, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01bd, 102)
+#elif PACKETVER >= 20080401
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01bd, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01bd, 102)
+#elif PACKETVER >= 20080226
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01bd, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01bd, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20080701
+packetLen(0x01c3, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01c3, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01c3, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01c3, 66)
+#elif PACKETVER >= 20080507
+packetLen(0x01c3, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x01c3, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01c3, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x01c3, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01c3, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x01c3, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x01c3, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x01c3, 58)
+#elif PACKETVER >= 20080304
+packetLen(0x01c3, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01c3, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x01c3, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01c3, -1)
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20080617
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01c4, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x01c4, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01c4, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x01c4, 31)
+#elif PACKETVER >= 20080429
+packetLen(0x01c4, 53)
+#elif PACKETVER >= 20080422
+packetLen(0x01c4, 34)
+#elif PACKETVER >= 20080415
+packetLen(0x01c4, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01c4, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01c4, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x01c4, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01c4, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20080624
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01c5, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x01c5, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x01c5, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01c5, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x01c5, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01c5, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01c5, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01c5, 31)
+#elif PACKETVER >= 20080318
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01c5, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01c5, 28)
+#elif PACKETVER >= 20080124
+packetLen(0x01c5, 90)
+#elif PACKETVER >= 20080102
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20080624
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01c8, 65)
+#elif PACKETVER >= 20080610
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01c8, 29)
+#elif PACKETVER >= 20080429
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01c8, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x01c8, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01c8, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01c8, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01c8, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01c8, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01c8, 13)
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20080701
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01c9, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x01c9, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01c9, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x01c9, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01c9, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01c9, 58)
+#elif PACKETVER >= 20080408
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01c9, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x01c9, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01c9, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01c9, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x01c9, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01c9, 97)
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+#if PACKETVER >= 20080701
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01cd, 102)
+#elif PACKETVER >= 20080603
+packetLen(0x01cd, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01cd, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01cd, 12)
+#elif PACKETVER >= 20080401
+packetLen(0x01cd, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01cd, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01cd, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01cd, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01cd, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01cd, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01cd, 30)
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20080624
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01ce, 27)
+#elif PACKETVER >= 20080610
+packetLen(0x01ce, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01ce, 22)
+#elif PACKETVER >= 20080520
+packetLen(0x01ce, 53)
+#elif PACKETVER >= 20080513
+packetLen(0x01ce, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x01ce, 65)
+#elif PACKETVER >= 20080429
+packetLen(0x01ce, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01ce, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x01ce, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01ce, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01ce, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01ce, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x01ce, 6)
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20080701
+packetLen(0x01cf, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x01cf, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01cf, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01cf, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x01cf, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01cf, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01cf, 39)
+#elif PACKETVER >= 20080401
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01cf, 186)
+#elif PACKETVER >= 20080318
+packetLen(0x01cf, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01cf, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01cf, 102)
+#elif PACKETVER >= 20080124
+packetLen(0x01cf, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01cf, 28)
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20080701
+packetLen(0x01d0, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x01d0, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x01d0, 53)
+#elif PACKETVER >= 20080610
+packetLen(0x01d0, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x01d0, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01d0, 65)
+#elif PACKETVER >= 20080318
+packetLen(0x01d0, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01d0, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01d0, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01d0, 8)
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+#if PACKETVER >= 20080701
+packetLen(0x01d2, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01d2, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x01d2, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01d2, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x01d2, 58)
+#elif PACKETVER >= 20080415
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01d2, 18)
+#elif PACKETVER >= 20080401
+packetLen(0x01d2, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01d2, 12)
+#elif PACKETVER >= 20080318
+packetLen(0x01d2, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x01d2, 19)
+#elif PACKETVER >= 20080304
+packetLen(0x01d2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01d2, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01d2, 53)
+#elif PACKETVER >= 20080102
+packetLen(0x01d2, 10)
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+#if PACKETVER >= 20080701
+packetLen(0x01d4, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x01d4, 54)
+#elif PACKETVER >= 20080617
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01d4, 20)
+#elif PACKETVER >= 20080520
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01d4, 19)
+#elif PACKETVER >= 20080318
+packetLen(0x01d4, 60)
+#elif PACKETVER >= 20080311
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01d4, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01d4, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x01d4, 6)
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20080701
+packetLen(0x01d5, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x01d5, 27)
+#elif PACKETVER >= 20080610
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01d5, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01d5, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01d5, 97)
+#elif PACKETVER >= 20080325
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01d5, 34)
+#elif PACKETVER >= 20080311
+packetLen(0x01d5, 13)
+#elif PACKETVER >= 20080304
+packetLen(0x01d5, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01d5, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01d5, -1)
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20080701
+packetLen(0x01d6, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x01d6, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01d6, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x01d6, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x01d6, 35)
+#elif PACKETVER >= 20080507
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01d6, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x01d6, 54)
+#elif PACKETVER >= 20080401
+packetLen(0x01d6, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x01d6, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x01d6, 58)
+#elif PACKETVER >= 20080311
+packetLen(0x01d6, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01d6, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01d6, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01d6, 4)
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20080701
+packetLen(0x01d7, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01d7, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01d7, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x01d7, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x01d7, 282)
+#elif PACKETVER >= 20080513
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01d7, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01d7, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01d7, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01d7, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01d7, 35)
+#elif PACKETVER >= 20080124
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01d7, 11)
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20080701
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01d8, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x01d8, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01d8, 186)
+#elif PACKETVER >= 20080415
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01d8, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01d8, 27)
+#elif PACKETVER >= 20080325
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01d8, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x01d8, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01d8, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01d8, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01d8, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01d8, 54)
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20080701
+packetLen(0x01d9, 39)
+#elif PACKETVER >= 20080624
+packetLen(0x01d9, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x01d9, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01d9, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01d9, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01d9, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x01d9, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x01d9, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01d9, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x01d9, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01d9, 42)
+#elif PACKETVER >= 20080226
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01d9, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01d9, 53)
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20080701
+packetLen(0x01da, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x01da, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x01da, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01da, 60)
+#elif PACKETVER >= 20080513
+packetLen(0x01da, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x01da, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01da, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x01da, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01da, 79)
+#elif PACKETVER >= 20080226
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01da, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x01da, 60)
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+#if PACKETVER >= 20080701
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01de, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x01de, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x01de, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x01de, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01de, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01de, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x01de, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01de, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01de, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01de, 33)
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+#if PACKETVER >= 20080701
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01e1, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01e1, 43)
+#elif PACKETVER >= 20080520
+packetLen(0x01e1, 32)
+#elif PACKETVER >= 20080513
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01e1, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01e1, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x01e1, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x01e1, 71)
+#elif PACKETVER >= 20080401
+packetLen(0x01e1, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01e1, 17)
+#elif PACKETVER >= 20080318
+packetLen(0x01e1, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01e1, 32)
+#elif PACKETVER >= 20080219
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01e1, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x01e1, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20080624
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01e7, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01e7, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x01e7, 39)
+#elif PACKETVER >= 20080520
+packetLen(0x01e7, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x01e7, 54)
+#elif PACKETVER >= 20080429
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01e7, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x01e7, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x01e7, 20)
+#elif PACKETVER >= 20080318
+packetLen(0x01e7, 18)
+#elif PACKETVER >= 20080311
+packetLen(0x01e7, 55)
+#elif PACKETVER >= 20080304
+packetLen(0x01e7, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01e7, 2)
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20080701
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01e8, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x01e8, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x01e8, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01e8, 53)
+#elif PACKETVER >= 20080520
+packetLen(0x01e8, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x01e8, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01e8, 16)
+#elif PACKETVER >= 20080401
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x01e8, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01e8, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01e8, 44)
+#elif PACKETVER >= 20080102
+packetLen(0x01e8, 28)
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20080701
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01e9, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x01e9, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01e9, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01e9, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x01e9, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01e9, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01e9, 34)
+#elif PACKETVER >= 20080401
+packetLen(0x01e9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01e9, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x01e9, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01e9, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01e9, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01e9, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01e9, 81)
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20080701
+packetLen(0x01ea, 97)
+#elif PACKETVER >= 20080624
+packetLen(0x01ea, 79)
+#elif PACKETVER >= 20080617
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ea, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01ea, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01ea, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x01ea, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01ea, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01ea, 27)
+#elif PACKETVER >= 20080318
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ea, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01ea, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01ea, 6)
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20080624
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01eb, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x01eb, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01eb, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x01eb, 114)
+#elif PACKETVER >= 20080429
+packetLen(0x01eb, 27)
+#elif PACKETVER >= 20080422
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x01eb, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x01eb, 13)
+#elif PACKETVER >= 20080401
+packetLen(0x01eb, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x01eb, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x01eb, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01eb, 53)
+#elif PACKETVER >= 20080102
+packetLen(0x01eb, 10)
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+#if PACKETVER >= 20080701
+packetLen(0x01ed, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x01ed, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01ed, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x01ed, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01ed, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01ed, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01ed, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x01ed, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01ed, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01ed, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x01ed, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01ed, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01ed, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x01ed, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ed, 2)
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20080701
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01ee, 23)
+#elif PACKETVER >= 20080610
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ee, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01ee, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01ee, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01ee, 71)
+#elif PACKETVER >= 20080311
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01ee, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ee, -1)
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20080701
+packetLen(0x01ef, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01ef, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x01ef, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x01ef, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x01ef, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x01ef, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x01ef, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x01ef, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01ef, 29)
+#elif PACKETVER >= 20080318
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ef, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01ef, 35)
+#elif PACKETVER >= 20080124
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ef, -1)
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20080701
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01f0, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x01f0, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01f0, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01f0, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01f0, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01f0, 53)
+#elif PACKETVER >= 20080408
+packetLen(0x01f0, 22)
+#elif PACKETVER >= 20080401
+packetLen(0x01f0, 44)
+#elif PACKETVER >= 20080325
+packetLen(0x01f0, 13)
+#elif PACKETVER >= 20080318
+packetLen(0x01f0, 39)
+#elif PACKETVER >= 20080311
+packetLen(0x01f0, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01f0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01f0, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x01f0, -1)
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+#if PACKETVER >= 20080701
+packetLen(0x01f2, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01f2, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20080415
+packetLen(0x01f2, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x01f2, 186)
+#elif PACKETVER >= 20080401
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01f2, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01f2, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01f2, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01f2, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01f2, 27)
+#elif PACKETVER >= 20080219
+packetLen(0x01f2, 31)
+#elif PACKETVER >= 20080124
+packetLen(0x01f2, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x01f2, 20)
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+#if PACKETVER >= 20080701
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01f4, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01f4, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01f4, 67)
+#elif PACKETVER >= 20080507
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01f4, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x01f4, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01f4, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01f4, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01f4, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01f4, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x01f4, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01f4, 32)
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20080624
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01f5, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01f5, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x01f5, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x01f5, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x01f5, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01f5, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x01f5, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01f5, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01f5, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01f5, 55)
+#elif PACKETVER >= 20080311
+packetLen(0x01f5, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x01f5, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01f5, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01f5, 114)
+#elif PACKETVER >= 20080124
+packetLen(0x01f5, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x01f5, 9)
+#endif
+
+// 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
+#if PACKETVER >= 20080701
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01fc, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x01fc, 186)
+#elif PACKETVER >= 20080610
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01fc, 71)
+#elif PACKETVER >= 20080528
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01fc, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x01fc, 59)
+#elif PACKETVER >= 20080318
+packetLen(0x01fc, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01fc, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01fc, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01fc, -1)
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20080701
+packetLen(0x01fd, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01fd, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01fd, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x01fd, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01fd, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01fd, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01fd, 15)
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20080701
+packetLen(0x01fe, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01fe, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01fe, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01fe, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01fe, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x01fe, 54)
+#elif PACKETVER >= 20080325
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01fe, 20)
+#elif PACKETVER >= 20080311
+packetLen(0x01fe, 18)
+#elif PACKETVER >= 20080304
+packetLen(0x01fe, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x01fe, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01fe, 13)
+#elif PACKETVER >= 20080124
+packetLen(0x01fe, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01fe, 5)
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+#if PACKETVER >= 20080701
+packetLen(0x0201, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0201, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0201, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x0201, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0201, 67)
+#elif PACKETVER >= 20080429
+packetLen(0x0201, 33)
+#elif PACKETVER >= 20080422
+packetLen(0x0201, 68)
+#elif PACKETVER >= 20080415
+packetLen(0x0201, 58)
+#elif PACKETVER >= 20080408
+packetLen(0x0201, 54)
+#elif PACKETVER >= 20080401
+packetLen(0x0201, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x0201, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0201, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0201, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0201, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0201, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0201, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x0201, -1)
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20080610
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0202, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0202, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0202, 19)
+#elif PACKETVER >= 20080429
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0202, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0202, 33)
+#elif PACKETVER >= 20080304
+packetLen(0x0202, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0202, 44)
+#elif PACKETVER >= 20080219
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20080701
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0203, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0203, 34)
+#elif PACKETVER >= 20080520
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0203, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0203, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0203, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0203, 67)
+#elif PACKETVER >= 20080311
+packetLen(0x0203, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0203, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0203, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0203, 10)
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20080701
+packetLen(0x0206, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0206, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0206, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0206, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0206, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0206, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0206, 59)
+#elif PACKETVER >= 20080325
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0206, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0206, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0206, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0206, 11)
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20080701
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0207, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x0207, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0207, 28)
+#elif PACKETVER >= 20080513
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0207, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0207, 102)
+#elif PACKETVER >= 20080325
+packetLen(0x0207, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0207, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0207, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0207, 66)
+#elif PACKETVER >= 20080124
+packetLen(0x0207, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x0207, 34)
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20080701
+packetLen(0x0208, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0208, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0208, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0208, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0208, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0208, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0208, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0208, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0208, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0208, 71)
+#elif PACKETVER >= 20080124
+packetLen(0x0208, 65)
+#elif PACKETVER >= 20080102
+packetLen(0x0208, 14)
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20080701
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0209, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0209, 39)
+#elif PACKETVER >= 20080520
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0209, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0209, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0209, 18)
+#elif PACKETVER >= 20080415
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0209, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0209, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0209, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0209, 36)
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20080701
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x020a, 68)
+#elif PACKETVER >= 20080617
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x020a, 186)
+#elif PACKETVER >= 20080603
+packetLen(0x020a, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x020a, 32)
+#elif PACKETVER >= 20080520
+packetLen(0x020a, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x020a, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x020a, 71)
+#elif PACKETVER >= 20080422
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x020a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x020a, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x020a, 13)
+#elif PACKETVER >= 20080318
+packetLen(0x020a, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x020a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x020a, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x020a, 20)
+#elif PACKETVER >= 20080124
+packetLen(0x020a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x020a, 10)
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+#if PACKETVER >= 20080701
+packetLen(0x020e, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x020e, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x020e, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x020e, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x020e, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x020e, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x020e, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x020e, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x020e, 102)
+#elif PACKETVER >= 20080102
+packetLen(0x020e, 32)
+#endif
+
+// 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
+#if PACKETVER >= 20080701
+packetLen(0x0217, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x0217, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0217, 53)
+#elif PACKETVER >= 20080603
+packetLen(0x0217, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x0217, 65)
+#elif PACKETVER >= 20080507
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0217, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0217, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0217, 13)
+#elif PACKETVER >= 20080325
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0217, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0217, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x0217, 44)
+#elif PACKETVER >= 20080226
+packetLen(0x0217, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0217, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0217, 2)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20080701
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0218, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0218, 68)
+#elif PACKETVER >= 20080610
+packetLen(0x0218, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0218, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0218, 18)
+#elif PACKETVER >= 20080422
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0218, 67)
+#elif PACKETVER >= 20080325
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0218, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0218, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0218, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0218, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0218, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x0218, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0218, 2)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20080624
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0219, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0219, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0219, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0219, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0219, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x0219, 28)
+#elif PACKETVER >= 20080401
+packetLen(0x0219, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x0219, 15)
+#elif PACKETVER >= 20080318
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0219, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0219, 17)
+#elif PACKETVER >= 20080124
+packetLen(0x0219, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0219, 282)
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20080701
+packetLen(0x021a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x021a, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x021a, 97)
+#elif PACKETVER >= 20080610
+packetLen(0x021a, 23)
+#elif PACKETVER >= 20080603
+packetLen(0x021a, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x021a, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x021a, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x021a, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x021a, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x021a, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x021a, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x021a, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x021a, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x021a, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x021a, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x021a, 282)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20080701
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x021b, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x021b, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x021b, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x021b, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x021b, 44)
+#elif PACKETVER >= 20080415
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x021b, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x021b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x021b, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x021b, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x021b, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x021b, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x021b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x021b, 15)
+#elif PACKETVER >= 20080124
+packetLen(0x021b, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x021b, 10)
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20080617
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x021c, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x021c, 13)
+#elif PACKETVER >= 20080528
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x021c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x021c, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x021c, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x021c, 18)
+#elif PACKETVER >= 20080422
+packetLen(0x021c, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x021c, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x021c, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x021c, 102)
+#elif PACKETVER >= 20080318
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x021c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x021c, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x021c, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x021c, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x021c, 10)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20080701
+packetLen(0x0224, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0224, 42)
+#elif PACKETVER >= 20080610
+packetLen(0x0224, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0224, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0224, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0224, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0224, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0224, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x0224, 81)
+#elif PACKETVER >= 20080401
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0224, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0224, 20)
+#elif PACKETVER >= 20080304
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0224, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0224, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x0224, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x0224, 10)
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20080701
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0225, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x0225, 32)
+#elif PACKETVER >= 20080603
+packetLen(0x0225, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0225, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0225, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0225, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0225, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0225, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0225, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0225, 2)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20080624
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0226, 36)
+#elif PACKETVER >= 20080422
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0226, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0226, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0226, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0226, 42)
+#elif PACKETVER >= 20080124
+packetLen(0x0226, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0226, 282)
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20080701
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0227, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0227, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0227, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0227, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0227, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0227, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0227, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x0227, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0227, 31)
+#elif PACKETVER >= 20080219
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0227, 18)
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+#if PACKETVER >= 20080701
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0229, 21)
+#elif PACKETVER >= 20080603
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0229, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x0229, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0229, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0229, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0229, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0229, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x0229, 33)
+#elif PACKETVER >= 20080226
+packetLen(0x0229, 182)
+#elif PACKETVER >= 20080219
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0229, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x0229, 15)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20080701
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x022a, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x022a, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x022a, 23)
+#elif PACKETVER >= 20080415
+packetLen(0x022a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x022a, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x022a, 114)
+#elif PACKETVER >= 20080318
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x022a, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20080701
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x022b, 90)
+#elif PACKETVER >= 20080617
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x022b, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x022b, 18)
+#elif PACKETVER >= 20080528
+packetLen(0x022b, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x022b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x022b, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x022b, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x022b, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x022b, 102)
+#elif PACKETVER >= 20080311
+packetLen(0x022b, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x022b, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x022b, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20080603
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x022c, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x022c, 33)
+#elif PACKETVER >= 20080415
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x022c, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x022c, 68)
+#elif PACKETVER >= 20080318
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x022c, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x022c, 31)
+#elif PACKETVER >= 20080219
+packetLen(0x022c, 53)
+#elif PACKETVER >= 20080124
+packetLen(0x022c, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x022c, 65)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20080701
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x022d, 29)
+#elif PACKETVER >= 20080429
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x022d, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x022d, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x022d, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20080701
+packetLen(0x022e, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x022e, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x022e, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x022e, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x022e, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x022e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x022e, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x022e, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x022e, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x022e, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x022e, 55)
+#elif PACKETVER >= 20080226
+packetLen(0x022e, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x022e, 71)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20080701
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x022f, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x022f, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x022f, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x022f, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x022f, 67)
+#elif PACKETVER >= 20080318
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x022f, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x022f, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x022f, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x022f, 5)
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20080624
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0230, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0230, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0230, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0230, 43)
+#elif PACKETVER >= 20080325
+packetLen(0x0230, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0230, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0230, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0230, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x0230, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x0230, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x0230, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0230, 12)
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+#if PACKETVER >= 20080701
+packetLen(0x0232, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0232, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0232, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0232, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0232, 17)
+#elif PACKETVER >= 20080429
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0232, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x0232, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0232, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0232, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0232, 36)
+#elif PACKETVER >= 20080124
+packetLen(0x0232, 17)
+#elif PACKETVER >= 20080102
+packetLen(0x0232, 9)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20080624
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0233, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0233, 66)
+#elif PACKETVER >= 20080603
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0233, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0233, 68)
+#elif PACKETVER >= 20080429
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0233, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x0233, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0233, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0233, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0233, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0233, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0233, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0233, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x0233, 11)
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20080624
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0234, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0234, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0234, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0234, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0234, 43)
+#elif PACKETVER >= 20080304
+packetLen(0x0234, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0234, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x0234, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x0234, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0234, 6)
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20080701
+packetLen(0x0235, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0235, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0235, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x0235, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0235, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0235, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0235, 19)
+#elif PACKETVER >= 20080325
+packetLen(0x0235, 42)
+#elif PACKETVER >= 20080318
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0235, 44)
+#elif PACKETVER >= 20080304
+packetLen(0x0235, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0235, 33)
+#elif PACKETVER >= 20080219
+packetLen(0x0235, 15)
+#elif PACKETVER >= 20080124
+packetLen(0x0235, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+#if PACKETVER >= 20080701
+packetLen(0x0237, 29)
+#elif PACKETVER >= 20080624
+packetLen(0x0237, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0237, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x0237, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0237, 19)
+#elif PACKETVER >= 20080520
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0237, 24)
+#elif PACKETVER >= 20080422
+packetLen(0x0237, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0237, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x0237, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0237, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0237, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0237, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0237, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0237, 2)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20080624
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0238, 21)
+#elif PACKETVER >= 20080513
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0238, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0238, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0238, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x0238, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0238, 282)
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20080701
+packetLen(0x0239, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0239, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0239, 29)
+#elif PACKETVER >= 20080520
+packetLen(0x0239, 282)
+#elif PACKETVER >= 20080513
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0239, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0239, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0239, 36)
+#elif PACKETVER >= 20080401
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0239, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0239, 39)
+#elif PACKETVER >= 20080219
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0239, 11)
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20080701
+packetLen(0x023a, 13)
+#elif PACKETVER >= 20080624
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x023a, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x023a, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x023a, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x023a, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x023a, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x023a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x023a, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x023a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x023a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x023a, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x023a, 71)
+#elif PACKETVER >= 20080102
+packetLen(0x023a, 4)
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+#if PACKETVER >= 20080701
+packetLen(0x023c, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x023c, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x023c, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x023c, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x023c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x023c, 12)
+#elif PACKETVER >= 20080325
+packetLen(0x023c, 79)
+#elif PACKETVER >= 20080318
+packetLen(0x023c, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x023c, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x023c, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x023c, 6)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20080617
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0274, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0274, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0274, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0274, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0274, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0274, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x0274, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0274, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0274, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0274, 53)
+#elif PACKETVER >= 20080318
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0274, 67)
+#elif PACKETVER >= 20080304
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0274, 24)
+#elif PACKETVER >= 20080219
+packetLen(0x0274, 32)
+#elif PACKETVER >= 20080124
+packetLen(0x0274, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0274, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20080701
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0287, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0287, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0287, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0287, 31)
+#elif PACKETVER >= 20080408
+packetLen(0x0287, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0287, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0287, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0287, 32)
+#elif PACKETVER >= 20080311
+packetLen(0x0287, 18)
+#elif PACKETVER >= 20080304
+packetLen(0x0287, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0287, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x0287, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0287, -1)
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10)
+
+// 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
+#if PACKETVER >= 20080701
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0295, 31)
+#elif PACKETVER >= 20080610
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0295, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0295, 53)
+#elif PACKETVER >= 20080415
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0295, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0295, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0295, 66)
+#elif PACKETVER >= 20080318
+packetLen(0x0295, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0295, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0295, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0295, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0295, 34)
+#elif PACKETVER >= 20080102
+packetLen(0x0295, -1)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20080624
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0296, 19)
+#elif PACKETVER >= 20080610
+packetLen(0x0296, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0296, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0296, 53)
+#elif PACKETVER >= 20080507
+packetLen(0x0296, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0296, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0296, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x0296, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0296, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0296, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x0296, 90)
+#elif PACKETVER >= 20080226
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0296, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0296, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0296, -1)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20080701
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0297, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0297, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0297, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0297, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0297, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0297, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0297, 36)
+#elif PACKETVER >= 20080311
+packetLen(0x0297, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0297, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0297, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0297, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x0297, -1)
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+#if PACKETVER >= 20080610
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x029a, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x029a, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x029a, 55)
+#elif PACKETVER >= 20080513
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x029a, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x029a, 44)
+#elif PACKETVER >= 20080422
+packetLen(0x029a, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x029a, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x029a, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x029a, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x029a, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x029a, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x029a, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x029a, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x029a, 27)
+#endif
+
+// 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
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a6, 204)
+#elif PACKETVER >= 20080102
+packetLen(0x02a6, 22)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a7, 204)
+#elif PACKETVER >= 20080102
+packetLen(0x02a7, 22)
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a8, 162)
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a9, 58)
+#endif
+
+// 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, 22)
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191)
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11)
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8)
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6)
+
+// Packet: 0x02bf
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02bf, 10)
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02c0, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20080304
+packetLen(0x02d4, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x02d4, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x02d4, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x02d4, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x02d4, 29)
+#endif
+
+// 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
+#if PACKETVER >= 20080617
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02e1, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x02e1, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x02e1, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x02e1, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02e1, 55)
+#elif PACKETVER >= 20080507
+packetLen(0x02e1, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02e1, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x02e1, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x02e1, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x02e1, 33)
+#endif
+
+// 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
+#if PACKETVER >= 20080624
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02ec, 42)
+#elif PACKETVER >= 20080610
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x02ec, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x02ec, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x02ec, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ec, 43)
+#elif PACKETVER >= 20080422
+packetLen(0x02ec, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x02ec, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x02ec, 17)
+#elif PACKETVER >= 20080325
+packetLen(0x02ec, 29)
+#elif PACKETVER >= 20080318
+packetLen(0x02ec, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x02ec, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x02ec, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x02ec, 67)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20080624
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02ed, 60)
+#elif PACKETVER >= 20080610
+packetLen(0x02ed, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02ed, 97)
+#elif PACKETVER >= 20080520
+packetLen(0x02ed, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x02ed, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x02ed, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x02ed, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x02ed, 53)
+#elif PACKETVER >= 20080408
+packetLen(0x02ed, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x02ed, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x02ed, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x02ed, 59)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20080610
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02ee, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x02ee, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x02ee, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ee, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x02ee, 97)
+#elif PACKETVER >= 20080415
+packetLen(0x02ee, 60)
+#elif PACKETVER >= 20080408
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02ee, 42)
+#elif PACKETVER >= 20080325
+packetLen(0x02ee, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x02ee, 13)
+#elif PACKETVER >= 20080311
+packetLen(0x02ee, 81)
+#elif PACKETVER >= 20080304
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x02ee, 60)
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+#if PACKETVER >= 20080318
+packetLen(0x02f0, 10)
+#endif
+
+// Packet: 0x02f1
+#if PACKETVER >= 20080318
+packetLen(0x02f1, 2)
+#endif
+
+// Packet: 0x02f2
+#if PACKETVER >= 20080318
+packetLen(0x02f2, 2)
+#endif
+
+// Packet: 0x02f3
+#if PACKETVER >= 20080701
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f3, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f3, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x02f3, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x02f3, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x02f3, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x02f3, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02f3, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x02f3, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x02f3, 67)
+#elif PACKETVER >= 20080408
+packetLen(0x02f3, 23)
+#elif PACKETVER >= 20080401
+packetLen(0x02f3, 71)
+#elif PACKETVER >= 20080325
+packetLen(0x02f3, 2)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20080617
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f4, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02f4, 29)
+#elif PACKETVER >= 20080422
+packetLen(0x02f4, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02f4, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x02f4, 4)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20080701
+packetLen(0x02f5, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x02f5, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x02f5, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02f5, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02f5, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x02f5, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x02f5, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x02f5, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f5, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x02f5, 86)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20080624
+packetLen(0x02f6, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02f6, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x02f6, 12)
+#elif PACKETVER >= 20080513
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x02f6, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x02f6, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x02f6, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x02f6, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x02f6, 4)
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20080624
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x02f7, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x02f7, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x02f7, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02f7, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x02f7, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x02f7, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20080701
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f8, 12)
+#elif PACKETVER >= 20080617
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x02f8, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02f8, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x02f8, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x02f8, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02f8, 7)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20080701
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f9, 43)
+#elif PACKETVER >= 20080617
+packetLen(0x02f9, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x02f9, 71)
+#elif PACKETVER >= 20080528
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x02f9, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x02f9, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x02f9, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x02f9, 6)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20080701
+packetLen(0x02fa, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x02fa, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fa, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x02fa, 33)
+#elif PACKETVER >= 20080429
+packetLen(0x02fa, 68)
+#elif PACKETVER >= 20080422
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fa, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x02fa, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x02fa, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x02fa, 3)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20080701
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x02fb, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fb, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fb, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x02fb, 3)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20080701
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02fc, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fc, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fc, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fc, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fc, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20080701
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x02fd, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fd, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fd, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x02fd, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02fd, 3)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20080617
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x02fe, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x02fe, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x02fe, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fe, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x02fe, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20080624
+packetLen(0x02ff, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02ff, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02ff, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x02ff, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ff, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x02ff, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x02ff, 6)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20080701
+packetLen(0x0300, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x0300, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0300, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0300, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0300, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0300, 17)
+#elif PACKETVER >= 20080415
+packetLen(0x0300, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20080701
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0301, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0301, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0301, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20080701
+packetLen(0x0302, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0302, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0302, 68)
+#elif PACKETVER >= 20080528
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0302, 58)
+#elif PACKETVER >= 20080513
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0302, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20080701
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0303, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0303, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0303, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0303, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0303, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0303, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20080624
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0304, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0304, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0304, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0304, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0304, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0304, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20080701
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0305, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0305, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0305, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0305, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0305, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20080701
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0306, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0306, 23)
+#elif PACKETVER >= 20080520
+packetLen(0x0306, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0306, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20080624
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0307, 58)
+#elif PACKETVER >= 20080603
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0307, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0307, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0307, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20080617
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0308, 182)
+#elif PACKETVER >= 20080603
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0308, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0308, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0308, 10)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20080701
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0309, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0309, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0309, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0309, 6)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20080701
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030a, 35)
+#elif PACKETVER >= 20080610
+packetLen(0x030a, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x030a, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x030a, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20080701
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x030b, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x030b, 65)
+#elif PACKETVER >= 20080513
+packetLen(0x030b, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x030b, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030b, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x030b, 10)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20080701
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x030c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x030c, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x030c, 36)
+#elif PACKETVER >= 20080520
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030c, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x030c, 66)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20080701
+packetLen(0x030d, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030d, 282)
+#elif PACKETVER >= 20080610
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030d, 71)
+#elif PACKETVER >= 20080520
+packetLen(0x030d, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x030d, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030d, 19)
+#elif PACKETVER >= 20080408
+packetLen(0x030d, 10)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20080701
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030e, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x030e, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x030e, 3)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20080701
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030f, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x030f, 67)
+#elif PACKETVER >= 20080507
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x030f, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030f, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20080701
+packetLen(0x0310, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x0310, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0310, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0310, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0310, 57)
+#elif PACKETVER >= 20080415
+packetLen(0x0310, 59)
+#elif PACKETVER >= 20080408
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20080701
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0311, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0311, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0311, 10)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20080617
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0312, 34)
+#elif PACKETVER >= 20080603
+packetLen(0x0312, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0312, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0312, 81)
+#elif PACKETVER >= 20080422
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0312, 67)
+#elif PACKETVER >= 20080408
+packetLen(0x0312, 6)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20080701
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0313, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0313, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0313, 282)
+#elif PACKETVER >= 20080422
+packetLen(0x0313, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0313, 2)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20080624
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0314, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0314, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0314, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0314, 12)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20080701
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0315, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0315, 67)
+#elif PACKETVER >= 20080513
+packetLen(0x0315, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0315, 44)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20080701
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0316, 97)
+#elif PACKETVER >= 20080617
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0316, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0316, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0316, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0316, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0316, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0316, 16)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20080701
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0317, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0317, 21)
+#elif PACKETVER >= 20080520
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0317, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0317, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20080701
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0318, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0318, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x0318, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0318, 26)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20080610
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0319, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0319, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0319, 17)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20080701
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x031a, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031a, 86)
+#elif PACKETVER >= 20080507
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031a, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x031a, 4)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20080610
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x031b, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x031b, 42)
+#elif PACKETVER >= 20080429
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x031b, 10)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20080701
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x031c, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031c, 44)
+#elif PACKETVER >= 20080513
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x031c, 17)
+#elif PACKETVER >= 20080429
+packetLen(0x031c, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031c, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031c, 23)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20080701
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031d, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031d, 35)
+#elif PACKETVER >= 20080422
+packetLen(0x031d, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031d, 2)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20080701
+packetLen(0x031e, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031e, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031e, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x031e, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x031e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20080701
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x031f, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x031f, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x031f, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x031f, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x031f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x031f, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031f, 30)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20080701
+packetLen(0x0320, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0320, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0320, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0320, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x0320, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0320, 15)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20080701
+packetLen(0x0321, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0321, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0321, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0321, 24)
+#elif PACKETVER >= 20080408
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20080701
+packetLen(0x0322, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0322, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0322, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0322, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0322, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0322, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0322, 68)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20080701
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0323, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0323, 186)
+#elif PACKETVER >= 20080429
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0323, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0323, 34)
+#elif PACKETVER >= 20080408
+packetLen(0x0323, 7)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20080701
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0324, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0324, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0324, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0324, 13)
+#elif PACKETVER >= 20080429
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20080701
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0325, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0325, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0325, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0325, 6)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20080617
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0326, 42)
+#elif PACKETVER >= 20080528
+packetLen(0x0326, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0326, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0326, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0326, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20080701
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0327, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0327, 5)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20080701
+packetLen(0x0328, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0328, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0328, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0328, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0328, 54)
+#elif PACKETVER >= 20080513
+packetLen(0x0328, 19)
+#elif PACKETVER >= 20080507
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0328, 90)
+#elif PACKETVER >= 20080422
+packetLen(0x0328, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0328, 14)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20080701
+packetLen(0x0329, 186)
+#elif PACKETVER >= 20080624
+packetLen(0x0329, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0329, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x0329, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0329, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0329, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0329, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20080701
+packetLen(0x032a, 17)
+#elif PACKETVER >= 20080624
+packetLen(0x032a, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x032a, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x032a, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032a, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x032a, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x032a, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x032a, 8)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20080701
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x032b, 44)
+#elif PACKETVER >= 20080429
+packetLen(0x032b, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032b, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20080701
+packetLen(0x032c, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x032c, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032c, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032c, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x032c, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20080701
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x032d, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032d, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x032d, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x032d, 90)
+#elif PACKETVER >= 20080415
+packetLen(0x032d, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20080701
+packetLen(0x032e, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032e, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032e, 20)
+#elif PACKETVER >= 20080507
+packetLen(0x032e, 24)
+#elif PACKETVER >= 20080429
+packetLen(0x032e, 42)
+#elif PACKETVER >= 20080422
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x032e, 27)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20080701
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032f, 53)
+#elif PACKETVER >= 20080603
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032f, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x032f, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x032f, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032f, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032f, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20080701
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0330, 67)
+#elif PACKETVER >= 20080603
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0330, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0330, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x0330, 54)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20080701
+packetLen(0x0331, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0331, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0331, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0331, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20080701
+packetLen(0x0332, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x0332, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0332, 114)
+#elif PACKETVER >= 20080415
+packetLen(0x0332, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0332, 4)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20080701
+packetLen(0x0333, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0333, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0333, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0333, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0333, 35)
+#elif PACKETVER >= 20080415
+packetLen(0x0333, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20080624
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0334, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0334, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0334, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0334, 5)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20080701
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0335, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0335, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0335, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0335, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20080624
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0336, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0336, 33)
+#elif PACKETVER >= 20080603
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0336, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0336, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0336, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0336, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0336, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0336, 6)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20080624
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0337, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0337, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0337, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0337, 58)
+#elif PACKETVER >= 20080415
+packetLen(0x0337, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x0337, 42)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20080701
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0338, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x0338, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0338, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20080701
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0339, 39)
+#elif PACKETVER >= 20080617
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0339, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x0339, 79)
+#elif PACKETVER >= 20080528
+packetLen(0x0339, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0339, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0339, 7)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20080701
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033a, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x033a, 67)
+#elif PACKETVER >= 20080520
+packetLen(0x033a, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033a, 39)
+#elif PACKETVER >= 20080507
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x033a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x033a, 32)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20080701
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033b, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033b, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033b, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033b, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033b, 3)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20080701
+packetLen(0x033c, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x033c, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033c, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x033c, 21)
+#elif PACKETVER >= 20080408
+packetLen(0x033c, 86)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20080701
+packetLen(0x033d, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033d, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033d, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x033d, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033d, 10)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20080624
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033e, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x033e, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080422
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x033e, 9)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20080701
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x033f, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033f, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x033f, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033f, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20080701
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0340, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0340, 19)
+#elif PACKETVER >= 20080513
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0340, 18)
+#elif PACKETVER >= 20080429
+packetLen(0x0340, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0340, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20080617
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0341, 16)
+#elif PACKETVER >= 20080429
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0341, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0341, 2)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20080701
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0342, 186)
+#elif PACKETVER >= 20080610
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0342, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0342, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0342, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0342, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0342, 4)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20080701
+packetLen(0x0343, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0343, 17)
+#elif PACKETVER >= 20080422
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0343, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20080701
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0344, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0344, 35)
+#elif PACKETVER >= 20080603
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0344, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0344, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20080701
+packetLen(0x0345, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0345, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0345, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0345, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0345, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20080617
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0346, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x0346, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0346, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0346, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0346, 55)
+#elif PACKETVER >= 20080408
+packetLen(0x0346, 8)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20080701
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0347, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x0347, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080422
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20080701
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0348, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0348, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0348, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0348, 6)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20080701
+packetLen(0x0349, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0349, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0349, 36)
+#elif PACKETVER >= 20080507
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0349, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0349, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x0349, 4)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20080701
+packetLen(0x034a, 57)
+#elif PACKETVER >= 20080624
+packetLen(0x034a, 34)
+#elif PACKETVER >= 20080617
+packetLen(0x034a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034a, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x034a, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034a, 59)
+#elif PACKETVER >= 20080429
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20080701
+packetLen(0x034b, 24)
+#elif PACKETVER >= 20080624
+packetLen(0x034b, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x034b, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034b, 60)
+#elif PACKETVER >= 20080422
+packetLen(0x034b, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x034b, 65)
+#elif PACKETVER >= 20080408
+packetLen(0x034b, 7)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20080701
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x034c, 86)
+#elif PACKETVER >= 20080520
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034c, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034c, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20080624
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034d, 36)
+#elif PACKETVER >= 20080415
+packetLen(0x034d, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x034d, 2)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20080624
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x034e, 59)
+#elif PACKETVER >= 20080520
+packetLen(0x034e, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034e, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x034e, 90)
+#elif PACKETVER >= 20080408
+packetLen(0x034e, 11)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20080701
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x034f, 71)
+#elif PACKETVER >= 20080617
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x034f, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x034f, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x034f, 18)
+#elif PACKETVER >= 20080415
+packetLen(0x034f, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x034f, 2)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20080624
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0350, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0350, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20080701
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0351, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0351, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0351, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0351, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20080701
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0352, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0352, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x0352, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0352, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0352, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0352, 8)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20080701
+packetLen(0x0353, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0353, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0353, 34)
+#elif PACKETVER >= 20080429
+packetLen(0x0353, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20080701
+packetLen(0x0354, 23)
+#elif PACKETVER >= 20080624
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0354, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0354, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0354, 182)
+#elif PACKETVER >= 20080415
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0354, 3)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20080701
+packetLen(0x0355, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0355, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0355, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0355, 55)
+#elif PACKETVER >= 20080528
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0355, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0355, 33)
+#elif PACKETVER >= 20080507
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0355, 36)
+#elif PACKETVER >= 20080422
+packetLen(0x0355, 39)
+#elif PACKETVER >= 20080415
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0355, 2)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20080617
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0356, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x0356, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0356, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0356, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0356, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0356, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x0356, 57)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20080617
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0357, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0357, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080513
+packetLen(0x0357, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x0357, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0357, 33)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20080624
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0358, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0358, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0358, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0358, 10)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20080701
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0359, 102)
+#elif PACKETVER >= 20080617
+packetLen(0x0359, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0359, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0359, 55)
+#elif PACKETVER >= 20080429
+packetLen(0x0359, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20080624
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x035a, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x035a, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x035a, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x035a, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x035a, 79)
+#elif PACKETVER >= 20080415
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20080701
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x035b, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x035b, 29)
+#elif PACKETVER >= 20080610
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x035b, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x035b, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x035b, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x035b, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x035b, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x035b, 3)
+#endif
+
+// Packet: 0x035c
+#if PACKETVER >= 20080520
+packetLen(0x035c, 2)
+#endif
+
+// Packet: 0x035d
+#if PACKETVER >= 20080521
+packetLen(0x035d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x035d, 10)
+#endif
+
+// Packet: 0x035e
+#if PACKETVER >= 20080521
+packetLen(0x035e, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x035e, -1)
+#endif
+
+// Packet: 0x035f
+#if PACKETVER >= 20080624
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x035f, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x035f, -1)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20080701
+packetLen(0x0360, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0360, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0360, -1)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20080701
+packetLen(0x0361, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0361, -1)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20080701
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0362, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0362, -1)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20080701
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0363, 58)
+#elif PACKETVER >= 20080528
+packetLen(0x0363, -1)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20080701
+packetLen(0x0364, 43)
+#elif PACKETVER >= 20080624
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0364, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0364, -1)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20080701
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20080528
+packetLen(0x0365, -1)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20080701
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0366, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20080624
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0367, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x0367, -1)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20080528
+packetLen(0x0368, -1)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20080701
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0369, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x0369, -1)
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20080701
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x036a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20080701
+packetLen(0x036b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036b, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20080701
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20080701
+packetLen(0x036d, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x036d, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20080624
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036e, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20080701
+packetLen(0x036f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x036f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20080701
+packetLen(0x0370, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0370, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20080701
+packetLen(0x0371, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20080701
+packetLen(0x0372, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20080701
+packetLen(0x0373, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0373, 86)
+#elif PACKETVER >= 20080528
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20080701
+packetLen(0x0374, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20080624
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0375, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20080528
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20080528
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20080528
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20080701
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0379, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20080528
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20080701
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x037b, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20080701
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037c, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x037c, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20080701
+packetLen(0x037d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20080701
+packetLen(0x037e, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20080701
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20080701
+packetLen(0x0380, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20080624
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0381, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20080624
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20080624
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0383, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20080701
+packetLen(0x0384, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0384, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20080624
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0385, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20080701
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0386, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20080701
+packetLen(0x0387, 22)
+#elif PACKETVER >= 20080624
+packetLen(0x0387, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0387, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20080624
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0388, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20080701
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0389, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20080701
+packetLen(0x038a, 102)
+#elif PACKETVER >= 20080624
+packetLen(0x038a, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x038a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20080701
+packetLen(0x038b, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x038b, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x038b, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20080701
+packetLen(0x038c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x038c, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x038c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20080701
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x038d, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20080701
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20080701
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038f, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20080701
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20080528
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20080624
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0392, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20080701
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0393, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x0393, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20080701
+packetLen(0x0394, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20080701
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0395, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20080701
+packetLen(0x0396, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0396, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20080701
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0397, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20080701
+packetLen(0x0398, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0398, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20080701
+packetLen(0x0399, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x0399, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20080701
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20080624
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20080701
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039c, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20080701
+packetLen(0x039d, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x039d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20080701
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039e, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20080701
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039f, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20080624
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20080701
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03a1, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20080528
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20080701
+packetLen(0x03a3, 21)
+#elif PACKETVER >= 20080624
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a3, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20080701
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a4, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20080701
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20080617
+packetLen(0x03a5, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20080701
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a6, 59)
+#elif PACKETVER >= 20080528
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20080701
+packetLen(0x03a7, 68)
+#elif PACKETVER >= 20080624
+packetLen(0x03a7, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20080701
+packetLen(0x03a8, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x03a8, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03a8, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20080624
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a9, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20080701
+packetLen(0x03aa, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20080624
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ab, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20080624
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ac, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20080701
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ad, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x03ad, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20080701
+packetLen(0x03ae, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ae, 57)
+#elif PACKETVER >= 20080528
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20080701
+packetLen(0x03af, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03af, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20080701
+packetLen(0x03b0, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20080528
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20080624
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20080624
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b3, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20080701
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03b4, 27)
+#elif PACKETVER >= 20080617
+packetLen(0x03b4, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20080528
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20080701
+packetLen(0x03b6, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20080701
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x03b7, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20080528
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20080701
+packetLen(0x03b9, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x03b9, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20080701
+packetLen(0x03ba, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ba, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20080701
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03bb, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20080701
+packetLen(0x03bc, 54)
+#elif PACKETVER >= 20080624
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03bc, 182)
+#elif PACKETVER >= 20080528
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20080701
+packetLen(0x03bd, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20080701
+packetLen(0x03be, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x03be, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20080701
+packetLen(0x03bf, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20080701
+packetLen(0x03c0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20080624
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20080701
+packetLen(0x03c2, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c2, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20080528
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20080528
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20080701
+packetLen(0x03c5, 35)
+#elif PACKETVER >= 20080624
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c5, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20080624
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03c6, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20080624
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20080528
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20080528
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20080528
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20080701
+packetLen(0x03cb, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20080701
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cc, 35)
+#elif PACKETVER >= 20080617
+packetLen(0x03cc, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20080701
+packetLen(0x03cd, 65)
+#elif PACKETVER >= 20080624
+packetLen(0x03cd, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20080701
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ce, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x03ce, 39)
+#elif PACKETVER >= 20080528
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20080701
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cf, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x03cf, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20080701
+packetLen(0x03d0, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d0, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20080701
+packetLen(0x03d1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d1, 81)
+#elif PACKETVER >= 20080617
+packetLen(0x03d1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20080701
+packetLen(0x03d2, 90)
+#elif PACKETVER >= 20080624
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20080701
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d3, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20080701
+packetLen(0x03d4, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x03d4, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20080624
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20080701
+packetLen(0x03d6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20080701
+packetLen(0x03d7, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20080701
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d8, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x03d8, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20080701
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20080528
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20080701
+packetLen(0x03db, 79)
+#elif PACKETVER >= 20080624
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03db, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20080701
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03dc, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+#if PACKETVER >= 20080624
+packetLen(0x03dd, 18)
+#endif
+
+// Packet: 0x03de
+#if PACKETVER >= 20080624
+packetLen(0x03de, 18)
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_AD_H */
diff --git a/src/common/packets/packets2008_len_main.h b/src/common/packets/packets2008_len_main.h
new file mode 100644
index 000000000..795582ec0
--- /dev/null
+++ b/src/common/packets/packets2008_len_main.h
@@ -0,0 +1,39478 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2008_LEN_MAIN_H
+#define COMMON_PACKETS2008_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// 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
+#if PACKETVER >= 20081217
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0073, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0073, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0073, 11)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0073, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0073, 12)
+#elif PACKETVER >= 20081015
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0073, 33)
+#elif PACKETVER >= 20081001
+packetLen(0x0073, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0073, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0073, 15)
+#elif PACKETVER >= 20080813
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0073, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0073, 71)
+#elif PACKETVER >= 20080624
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0073, 32)
+#elif PACKETVER >= 20080603
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0073, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0073, 97)
+#elif PACKETVER >= 20080429
+packetLen(0x0073, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0073, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0073, 24)
+#elif PACKETVER >= 20080401
+packetLen(0x0073, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0073, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0073, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0073, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0073, 53)
+#elif PACKETVER >= 20080219
+packetLen(0x0073, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x0073, 66)
+#elif PACKETVER >= 20080102
+packetLen(0x0073, 11)
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+#if PACKETVER >= 20081217
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0075, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x0075, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0075, 29)
+#elif PACKETVER >= 20081008
+packetLen(0x0075, 32)
+#elif PACKETVER >= 20081001
+packetLen(0x0075, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0075, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0075, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0075, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x0075, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0075, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0075, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0075, 12)
+#elif PACKETVER >= 20080513
+packetLen(0x0075, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0075, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0075, 39)
+#elif PACKETVER >= 20080325
+packetLen(0x0075, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0075, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0075, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0075, 28)
+#elif PACKETVER >= 20080124
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0075, -1)
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+#if PACKETVER >= 20081203
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0077, 53)
+#elif PACKETVER >= 20081119
+packetLen(0x0077, 186)
+#elif PACKETVER >= 20081112
+packetLen(0x0077, 28)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0077, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0077, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0077, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x0077, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0077, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0077, 26)
+#elif PACKETVER >= 20080903
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x0077, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x0077, 31)
+#elif PACKETVER >= 20080806
+packetLen(0x0077, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x0077, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0077, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0077, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0077, 86)
+#elif PACKETVER >= 20080528
+packetLen(0x0077, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x0077, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0077, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0077, 13)
+#elif PACKETVER >= 20080401
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0077, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0077, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0077, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0077, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x0077, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0077, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0077, 5)
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20081217
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0078, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x0078, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0078, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0078, 55)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0078, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0078, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0078, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0078, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0078, 20)
+#elif PACKETVER >= 20080617
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0078, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0078, 22)
+#elif PACKETVER >= 20080520
+packetLen(0x0078, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0078, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0078, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x0078, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0078, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0078, 53)
+#elif PACKETVER >= 20080304
+packetLen(0x0078, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0078, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0078, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x0078, 55)
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20081112
+packetLen(0x0079, 53)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0079, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0079, 28)
+#elif PACKETVER >= 20081015
+packetLen(0x0079, 53)
+#elif PACKETVER >= 20081008
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0079, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0079, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0079, 29)
+#elif PACKETVER >= 20080827
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0079, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0079, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0079, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0079, 58)
+#elif PACKETVER >= 20080708
+packetLen(0x0079, 114)
+#elif PACKETVER >= 20080701
+packetLen(0x0079, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0079, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0079, 54)
+#elif PACKETVER >= 20080513
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0079, 57)
+#elif PACKETVER >= 20080429
+packetLen(0x0079, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0079, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0079, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0079, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0079, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0079, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0079, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0079, 27)
+#elif PACKETVER >= 20080124
+packetLen(0x0079, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0079, 53)
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20081112
+packetLen(0x007a, 58)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x007a, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x007a, 53)
+#elif PACKETVER >= 20081015
+packetLen(0x007a, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x007a, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x007a, 27)
+#elif PACKETVER >= 20080903
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x007a, 282)
+#elif PACKETVER >= 20080820
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x007a, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x007a, 39)
+#elif PACKETVER >= 20080708
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x007a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x007a, 53)
+#elif PACKETVER >= 20080513
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x007a, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x007a, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x007a, 114)
+#elif PACKETVER >= 20080325
+packetLen(0x007a, 22)
+#elif PACKETVER >= 20080318
+packetLen(0x007a, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x007a, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x007a, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x007a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x007a, 58)
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20081217
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x007b, 20)
+#elif PACKETVER >= 20081126
+packetLen(0x007b, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x007b, 60)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x007b, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x007b, 27)
+#elif PACKETVER >= 20080917
+packetLen(0x007b, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x007b, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x007b, 13)
+#elif PACKETVER >= 20080722
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x007b, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x007b, 42)
+#elif PACKETVER >= 20080520
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x007b, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x007b, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x007b, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x007b, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x007b, 186)
+#elif PACKETVER >= 20080304
+packetLen(0x007b, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x007b, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x007b, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x007b, 60)
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20081217
+packetLen(0x007c, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x007c, 42)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x007c, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x007c, 53)
+#elif PACKETVER >= 20080910
+packetLen(0x007c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x007c, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x007c, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x007c, 16)
+#elif PACKETVER >= 20080528
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x007c, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x007c, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x007c, 65)
+#elif PACKETVER >= 20080415
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x007c, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x007c, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x007c, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x007c, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x007c, 186)
+#elif PACKETVER >= 20080124
+packetLen(0x007c, 31)
+#elif PACKETVER >= 20080102
+packetLen(0x007c, 42)
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20081203
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x007d, 22)
+#elif PACKETVER >= 20081119
+packetLen(0x007d, 16)
+#elif PACKETVER >= 20081112
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x007d, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x007d, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x007d, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x007d, 57)
+#elif PACKETVER >= 20080820
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x007d, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x007d, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x007d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x007d, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x007d, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x007d, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x007d, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x007d, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x007d, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x007d, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x007d, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x007d, 2)
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 105)
+
+// Packet: 0x007f
+#if PACKETVER >= 20081119
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x007f, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x007f, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x007f, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x007f, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x007f, 53)
+#elif PACKETVER >= 20080813
+packetLen(0x007f, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x007f, 22)
+#elif PACKETVER >= 20080624
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x007f, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x007f, 13)
+#elif PACKETVER >= 20080520
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x007f, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x007f, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x007f, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x007f, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x007f, 182)
+#elif PACKETVER >= 20080325
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x007f, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x007f, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x007f, 6)
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20081217
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0080, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0080, 7)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0080, 9)
+#elif PACKETVER >= 20081001
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0080, 27)
+#elif PACKETVER >= 20080917
+packetLen(0x0080, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0080, 22)
+#elif PACKETVER >= 20080827
+packetLen(0x0080, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0080, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0080, 22)
+#elif PACKETVER >= 20080520
+packetLen(0x0080, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0080, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0080, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0080, 60)
+#elif PACKETVER >= 20080311
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0080, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x0080, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0080, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0080, 7)
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+#if PACKETVER >= 20081217
+packetLen(0x0083, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0083, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x0083, 58)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0083, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x0083, 33)
+#elif PACKETVER >= 20081022
+packetLen(0x0083, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x0083, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x0083, 21)
+#elif PACKETVER >= 20081001
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0083, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0083, 39)
+#elif PACKETVER >= 20080806
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0083, 34)
+#elif PACKETVER >= 20080610
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0083, 13)
+#elif PACKETVER >= 20080528
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0083, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0083, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0083, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0083, 282)
+#elif PACKETVER >= 20080422
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0083, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0083, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x0083, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0083, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0083, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0083, 2)
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 10)
+
+// Packet: 0x0086
+#if PACKETVER >= 20081217
+packetLen(0x0086, 17)
+#elif PACKETVER >= 20081203
+packetLen(0x0086, 36)
+#elif PACKETVER >= 20081112
+packetLen(0x0086, 16)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0086, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0086, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0086, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0086, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0086, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0086, 53)
+#elif PACKETVER >= 20080730
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0086, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0086, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x0086, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0086, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0086, 17)
+#elif PACKETVER >= 20080520
+packetLen(0x0086, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0086, 32)
+#elif PACKETVER >= 20080429
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0086, 24)
+#elif PACKETVER >= 20080415
+packetLen(0x0086, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0086, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0086, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x0086, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0086, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x0086, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0086, 79)
+#elif PACKETVER >= 20080226
+packetLen(0x0086, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x0086, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0086, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0086, 16)
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20081217
+packetLen(0x0087, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0087, 12)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0087, 44)
+#elif PACKETVER >= 20081001
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0087, 60)
+#elif PACKETVER >= 20080910
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0087, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0087, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0087, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0087, 90)
+#elif PACKETVER >= 20080715
+packetLen(0x0087, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0087, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0087, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0087, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0087, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0087, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0087, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0087, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0087, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0087, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0087, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x0087, 31)
+#elif PACKETVER >= 20080102
+packetLen(0x0087, 12)
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20081126
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0088, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0088, 18)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0088, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0088, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0088, 60)
+#elif PACKETVER >= 20080910
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0088, 15)
+#elif PACKETVER >= 20080806
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0088, 22)
+#elif PACKETVER >= 20080722
+packetLen(0x0088, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0088, 19)
+#elif PACKETVER >= 20080624
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0088, 19)
+#elif PACKETVER >= 20080603
+packetLen(0x0088, 60)
+#elif PACKETVER >= 20080528
+packetLen(0x0088, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x0088, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0088, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0088, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0088, 86)
+#elif PACKETVER >= 20080408
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0088, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x0088, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0088, 97)
+#elif PACKETVER >= 20080219
+packetLen(0x0088, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x0088, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0088, 10)
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 11)
+
+// Packet: 0x008a
+#if PACKETVER >= 20081126
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x008a, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x008a, 29)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x008a, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x008a, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x008a, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x008a, 79)
+#elif PACKETVER >= 20080827
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x008a, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x008a, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x008a, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x008a, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x008a, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x008a, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x008a, 68)
+#elif PACKETVER >= 20080528
+packetLen(0x008a, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x008a, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x008a, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x008a, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x008a, 23)
+#elif PACKETVER >= 20080422
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x008a, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x008a, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x008a, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x008a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x008a, 29)
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+#if PACKETVER >= 20081112
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x008d, 79)
+#elif PACKETVER >= 20081022
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x008d, 20)
+#elif PACKETVER >= 20080924
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x008d, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x008d, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x008d, 14)
+#elif PACKETVER >= 20080806
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x008d, 31)
+#elif PACKETVER >= 20080722
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x008d, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x008d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x008d, 282)
+#elif PACKETVER >= 20080610
+packetLen(0x008d, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x008d, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x008d, 66)
+#elif PACKETVER >= 20080429
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x008d, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x008d, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x008d, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x008d, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x008d, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x008d, 79)
+#elif PACKETVER >= 20080124
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x008d, -1)
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20081203
+packetLen(0x008e, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x008e, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x008e, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x008e, 12)
+#elif PACKETVER >= 20081022
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x008e, 66)
+#elif PACKETVER >= 20081008
+packetLen(0x008e, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x008e, 39)
+#elif PACKETVER >= 20080910
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x008e, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x008e, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x008e, 54)
+#elif PACKETVER >= 20080715
+packetLen(0x008e, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x008e, 28)
+#elif PACKETVER >= 20080701
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x008e, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x008e, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x008e, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x008e, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x008e, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x008e, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x008e, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x008e, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x008e, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x008e, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x008e, 186)
+#elif PACKETVER >= 20080311
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x008e, 33)
+#elif PACKETVER >= 20080102
+packetLen(0x008e, -1)
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20081217
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0090, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0090, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0090, 7)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0090, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0090, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x0090, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0090, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x0090, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0090, 33)
+#elif PACKETVER >= 20080806
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0090, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0090, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0090, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0090, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x0090, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0090, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0090, 19)
+#elif PACKETVER >= 20080422
+packetLen(0x0090, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0090, 36)
+#elif PACKETVER >= 20080408
+packetLen(0x0090, 20)
+#elif PACKETVER >= 20080401
+packetLen(0x0090, 53)
+#elif PACKETVER >= 20080325
+packetLen(0x0090, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0090, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0090, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x0090, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0090, 24)
+#elif PACKETVER >= 20080102
+packetLen(0x0090, 7)
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20081217
+packetLen(0x0091, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x0091, 27)
+#elif PACKETVER >= 20081126
+packetLen(0x0091, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0091, 22)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0091, 22)
+#elif PACKETVER >= 20081022
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0091, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x0091, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0091, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0091, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0091, 16)
+#elif PACKETVER >= 20080701
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0091, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0091, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0091, 21)
+#elif PACKETVER >= 20080603
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0091, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0091, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0091, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0091, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0091, 182)
+#elif PACKETVER >= 20080408
+packetLen(0x0091, 58)
+#elif PACKETVER >= 20080401
+packetLen(0x0091, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x0091, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0091, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0091, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0091, 57)
+#elif PACKETVER >= 20080226
+packetLen(0x0091, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0091, 79)
+#elif PACKETVER >= 20080102
+packetLen(0x0091, 22)
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20081112
+packetLen(0x0092, 28)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0092, 29)
+#elif PACKETVER >= 20081015
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0092, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0092, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0092, 114)
+#elif PACKETVER >= 20080827
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0092, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0092, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0092, 13)
+#elif PACKETVER >= 20080715
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0092, 18)
+#elif PACKETVER >= 20080701
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0092, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0092, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x0092, 20)
+#elif PACKETVER >= 20080603
+packetLen(0x0092, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0092, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0092, 32)
+#elif PACKETVER >= 20080422
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0092, 21)
+#elif PACKETVER >= 20080401
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0092, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0092, 81)
+#elif PACKETVER >= 20080311
+packetLen(0x0092, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0092, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0092, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0092, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0092, 28)
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20081203
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0093, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0093, 15)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0093, 29)
+#elif PACKETVER >= 20081015
+packetLen(0x0093, 9)
+#elif PACKETVER >= 20081001
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0093, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0093, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0093, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0093, 9)
+#elif PACKETVER >= 20080701
+packetLen(0x0093, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0093, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0093, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0093, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x0093, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0093, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0093, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0093, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0093, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0093, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0093, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0093, 67)
+#elif PACKETVER >= 20080124
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0093, 2)
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 19)
+
+// Packet: 0x0095
+#if PACKETVER >= 20081217
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0095, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0095, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0095, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0095, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x0095, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0095, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0095, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x0095, 58)
+#elif PACKETVER >= 20080806
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0095, 28)
+#elif PACKETVER >= 20080722
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0095, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0095, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0095, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0095, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x0095, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0095, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0095, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0095, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0095, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0095, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0095, 59)
+#elif PACKETVER >= 20080304
+packetLen(0x0095, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0095, 39)
+#elif PACKETVER >= 20080219
+packetLen(0x0095, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0095, 30)
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20081105
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0096, 12)
+#elif PACKETVER >= 20081008
+packetLen(0x0096, 57)
+#elif PACKETVER >= 20081001
+packetLen(0x0096, 55)
+#elif PACKETVER >= 20080910
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0096, 60)
+#elif PACKETVER >= 20080820
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0096, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0096, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0096, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0096, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0096, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x0096, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0096, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0096, -1)
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20081119
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0097, 19)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0097, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0097, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0097, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0097, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0097, 58)
+#elif PACKETVER >= 20080730
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0097, 23)
+#elif PACKETVER >= 20080715
+packetLen(0x0097, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x0097, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x0097, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0097, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0097, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0097, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0097, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0097, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0097, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0097, 29)
+#elif PACKETVER >= 20080415
+packetLen(0x0097, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x0097, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0097, 53)
+#elif PACKETVER >= 20080325
+packetLen(0x0097, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0097, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0097, 33)
+#elif PACKETVER >= 20080304
+packetLen(0x0097, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0097, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x0097, -1)
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20081217
+packetLen(0x0098, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0098, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0098, 16)
+#elif PACKETVER >= 20081029
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0098, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0098, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0098, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0098, 19)
+#elif PACKETVER >= 20080715
+packetLen(0x0098, 54)
+#elif PACKETVER >= 20080708
+packetLen(0x0098, 39)
+#elif PACKETVER >= 20080701
+packetLen(0x0098, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0098, 24)
+#elif PACKETVER >= 20080610
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0098, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0098, 13)
+#elif PACKETVER >= 20080429
+packetLen(0x0098, 58)
+#elif PACKETVER >= 20080408
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0098, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x0098, 182)
+#elif PACKETVER >= 20080226
+packetLen(0x0098, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0098, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0098, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0098, 3)
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20081217
+packetLen(0x0099, 31)
+#elif PACKETVER >= 20081119
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0099, 6)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0099, 26)
+#elif PACKETVER >= 20081015
+packetLen(0x0099, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0099, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0099, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0099, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0099, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0099, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0099, 182)
+#elif PACKETVER >= 20080701
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0099, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0099, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x0099, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0099, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0099, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0099, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0099, 66)
+#elif PACKETVER >= 20080304
+packetLen(0x0099, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0099, 34)
+#elif PACKETVER >= 20080219
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0099, -1)
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20081217
+packetLen(0x009a, 65)
+#elif PACKETVER >= 20081203
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20081105
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x009a, 19)
+#elif PACKETVER >= 20081022
+packetLen(0x009a, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x009a, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x009a, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x009a, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x009a, 20)
+#elif PACKETVER >= 20080903
+packetLen(0x009a, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x009a, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x009a, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x009a, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x009a, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x009a, 90)
+#elif PACKETVER >= 20080603
+packetLen(0x009a, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x009a, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x009a, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x009a, 33)
+#elif PACKETVER >= 20080408
+packetLen(0x009a, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x009a, 59)
+#elif PACKETVER >= 20080311
+packetLen(0x009a, 57)
+#elif PACKETVER >= 20080304
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x009a, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x009a, -1)
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 34)
+
+// Packet: 0x009c
+#if PACKETVER >= 20081203
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x009c, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x009c, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x009c, 9)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x009c, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x009c, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x009c, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x009c, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x009c, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x009c, 59)
+#elif PACKETVER >= 20080813
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x009c, 44)
+#elif PACKETVER >= 20080708
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x009c, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x009c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x009c, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x009c, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x009c, 67)
+#elif PACKETVER >= 20080513
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x009c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x009c, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x009c, 66)
+#elif PACKETVER >= 20080408
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x009c, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x009c, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x009c, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x009c, 71)
+#elif PACKETVER >= 20080226
+packetLen(0x009c, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x009c, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x009c, 9)
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20081119
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x009d, 17)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x009d, 27)
+#elif PACKETVER >= 20080924
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x009d, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x009d, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x009d, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x009d, 13)
+#elif PACKETVER >= 20080610
+packetLen(0x009d, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x009d, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x009d, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x009d, 59)
+#elif PACKETVER >= 20080429
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x009d, 32)
+#elif PACKETVER >= 20080408
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x009d, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x009d, 57)
+#elif PACKETVER >= 20080318
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x009d, 13)
+#elif PACKETVER >= 20080304
+packetLen(0x009d, 19)
+#elif PACKETVER >= 20080226
+packetLen(0x009d, 57)
+#elif PACKETVER >= 20080219
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x009d, 17)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20081217
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x009e, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x009e, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x009e, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x009e, 17)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x009e, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x009e, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x009e, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x009e, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x009e, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x009e, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x009e, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x009e, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x009e, 186)
+#elif PACKETVER >= 20080513
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x009e, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x009e, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x009e, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x009e, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x009e, 39)
+#elif PACKETVER >= 20080401
+packetLen(0x009e, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x009e, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x009e, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x009e, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x009e, 97)
+#elif PACKETVER >= 20080102
+packetLen(0x009e, 17)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20081112
+packetLen(0x00a0, 23)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00a0, 32)
+#elif PACKETVER >= 20080903
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00a0, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x00a0, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00a0, 21)
+#elif PACKETVER >= 20080715
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00a0, 90)
+#elif PACKETVER >= 20080701
+packetLen(0x00a0, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00a0, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00a0, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x00a0, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00a0, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00a0, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x00a0, 23)
+#elif PACKETVER >= 20080429
+packetLen(0x00a0, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x00a0, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00a0, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00a0, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00a0, 13)
+#elif PACKETVER >= 20080311
+packetLen(0x00a0, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00a0, 27)
+#elif PACKETVER >= 20080219
+packetLen(0x00a0, 39)
+#elif PACKETVER >= 20080124
+packetLen(0x00a0, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x00a0, 23)
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20081112
+packetLen(0x00a1, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00a1, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00a1, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x00a1, 26)
+#elif PACKETVER >= 20080903
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00a1, 68)
+#elif PACKETVER >= 20080820
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00a1, 36)
+#elif PACKETVER >= 20080806
+packetLen(0x00a1, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00a1, 21)
+#elif PACKETVER >= 20080708
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00a1, 44)
+#elif PACKETVER >= 20080617
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080528
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080513
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00a1, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00a1, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x00a1, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00a1, 53)
+#elif PACKETVER >= 20080311
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00a1, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080124
+packetLen(0x00a1, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x00a1, 6)
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14)
+
+// Packet: 0x00a3
+#if PACKETVER >= 20081126
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00a3, 8)
+#elif PACKETVER >= 20081105
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00a3, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00a3, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00a3, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00a3, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x00a3, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00a3, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00a3, 42)
+#elif PACKETVER >= 20080708
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00a3, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00a3, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00a3, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00a3, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00a3, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00a3, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00a3, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a3, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00a3, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x00a3, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x00a3, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00a3, 65)
+#elif PACKETVER >= 20080304
+packetLen(0x00a3, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00a3, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00a3, 44)
+#elif PACKETVER >= 20080102
+packetLen(0x00a3, -1)
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20081112
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x00a4, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00a4, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00a4, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x00a4, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00a4, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x00a4, 58)
+#elif PACKETVER >= 20080806
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00a4, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00a4, 21)
+#elif PACKETVER >= 20080708
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00a4, 86)
+#elif PACKETVER >= 20080617
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a4, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00a4, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00a4, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x00a4, 33)
+#elif PACKETVER >= 20080429
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00a4, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x00a4, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x00a4, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00a4, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x00a4, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00a4, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x00a4, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00a4, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x00a4, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00a4, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00a4, -1)
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20081217
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x00a5, 102)
+#elif PACKETVER >= 20081119
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00a5, 102)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00a5, 42)
+#elif PACKETVER >= 20081022
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00a5, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00a5, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00a5, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x00a5, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x00a5, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00a5, 28)
+#elif PACKETVER >= 20080617
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a5, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00a5, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x00a5, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x00a5, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00a5, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00a5, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00a5, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x00a5, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00a5, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00a5, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00a5, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00a5, -1)
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20081217
+packetLen(0x00a6, 20)
+#elif PACKETVER >= 20081203
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00a6, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00a6, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00a6, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x00a6, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x00a6, 29)
+#elif PACKETVER >= 20080813
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00a6, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00a6, 22)
+#elif PACKETVER >= 20080715
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00a6, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00a6, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00a6, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00a6, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x00a6, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a6, 59)
+#elif PACKETVER >= 20080401
+packetLen(0x00a6, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00a6, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00a6, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00a6, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00a6, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00a6, -1)
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20081217
+packetLen(0x00a8, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x00a8, 43)
+#elif PACKETVER >= 20081126
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x00a8, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x00a8, 7)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00a8, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00a8, 42)
+#elif PACKETVER >= 20081001
+packetLen(0x00a8, 59)
+#elif PACKETVER >= 20080924
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x00a8, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x00a8, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00a8, 15)
+#elif PACKETVER >= 20080813
+packetLen(0x00a8, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00a8, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x00a8, 90)
+#elif PACKETVER >= 20080507
+packetLen(0x00a8, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00a8, 13)
+#elif PACKETVER >= 20080408
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00a8, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00a8, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00a8, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00a8, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00a8, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x00a8, 7)
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20081217
+packetLen(0x00a9, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00a9, 28)
+#elif PACKETVER >= 20081119
+packetLen(0x00a9, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x00a9, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00a9, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00a9, 18)
+#elif PACKETVER >= 20080917
+packetLen(0x00a9, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00a9, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00a9, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00a9, 44)
+#elif PACKETVER >= 20080708
+packetLen(0x00a9, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a9, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x00a9, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00a9, 79)
+#elif PACKETVER >= 20080513
+packetLen(0x00a9, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x00a9, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x00a9, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00a9, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00a9, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00a9, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x00a9, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00a9, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00a9, 6)
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20081112
+packetLen(0x00aa, 7)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00aa, 39)
+#elif PACKETVER >= 20080903
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00aa, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x00aa, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00aa, 71)
+#elif PACKETVER >= 20080722
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x00aa, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x00aa, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00aa, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x00aa, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00aa, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x00aa, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00aa, 31)
+#elif PACKETVER >= 20080401
+packetLen(0x00aa, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x00aa, 55)
+#elif PACKETVER >= 20080318
+packetLen(0x00aa, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00aa, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00aa, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00aa, 7)
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20081203
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00ab, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00ab, 30)
+#elif PACKETVER >= 20081022
+packetLen(0x00ab, 60)
+#elif PACKETVER >= 20081001
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00ab, 79)
+#elif PACKETVER >= 20080910
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00ab, 67)
+#elif PACKETVER >= 20080827
+packetLen(0x00ab, 282)
+#elif PACKETVER >= 20080730
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00ab, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x00ab, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00ab, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00ab, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00ab, 53)
+#elif PACKETVER >= 20080520
+packetLen(0x00ab, 36)
+#elif PACKETVER >= 20080513
+packetLen(0x00ab, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00ab, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00ab, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00ab, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x00ab, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00ab, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00ab, 57)
+#elif PACKETVER >= 20080124
+packetLen(0x00ab, 86)
+#elif PACKETVER >= 20080102
+packetLen(0x00ab, 4)
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20081217
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00ac, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00ac, 7)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x00ac, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00ac, 59)
+#elif PACKETVER >= 20080917
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00ac, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00ac, 13)
+#elif PACKETVER >= 20080806
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00ac, 20)
+#elif PACKETVER >= 20080722
+packetLen(0x00ac, 44)
+#elif PACKETVER >= 20080715
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00ac, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ac, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00ac, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00ac, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x00ac, 67)
+#elif PACKETVER >= 20080429
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00ac, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00ac, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ac, 7)
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+#if PACKETVER >= 20081119
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00af, 16)
+#elif PACKETVER >= 20081015
+packetLen(0x00af, 81)
+#elif PACKETVER >= 20081008
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00af, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00af, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00af, 28)
+#elif PACKETVER >= 20080715
+packetLen(0x00af, 102)
+#elif PACKETVER >= 20080708
+packetLen(0x00af, 42)
+#elif PACKETVER >= 20080701
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00af, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00af, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00af, 29)
+#elif PACKETVER >= 20080520
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00af, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00af, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00af, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00af, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00af, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00af, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00af, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00af, 6)
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20081217
+packetLen(0x00b0, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x00b0, 8)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00b0, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x00b0, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00b0, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x00b0, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00b0, 86)
+#elif PACKETVER >= 20080708
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00b0, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x00b0, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00b0, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00b0, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b0, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00b0, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b0, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x00b0, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00b0, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00b0, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b0, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00b0, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x00b0, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x00b0, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00b0, 8)
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20081217
+packetLen(0x00b1, 11)
+#elif PACKETVER >= 20081203
+packetLen(0x00b1, 14)
+#elif PACKETVER >= 20081126
+packetLen(0x00b1, 16)
+#elif PACKETVER >= 20081119
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00b1, 16)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00b1, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x00b1, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00b1, 55)
+#elif PACKETVER >= 20080903
+packetLen(0x00b1, 39)
+#elif PACKETVER >= 20080827
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00b1, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00b1, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b1, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x00b1, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00b1, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00b1, 97)
+#elif PACKETVER >= 20080422
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00b1, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00b1, 58)
+#elif PACKETVER >= 20080318
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00b1, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00b1, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x00b1, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x00b1, 8)
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20081217
+packetLen(0x00b2, 23)
+#elif PACKETVER >= 20081203
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00b2, 54)
+#elif PACKETVER >= 20081112
+packetLen(0x00b2, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b2, 11)
+#elif PACKETVER >= 20081029
+packetLen(0x00b2, 42)
+#elif PACKETVER >= 20081022
+packetLen(0x00b2, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00b2, 282)
+#elif PACKETVER >= 20081001
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00b2, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00b2, 102)
+#elif PACKETVER >= 20080820
+packetLen(0x00b2, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00b2, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x00b2, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x00b2, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00b2, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x00b2, 13)
+#elif PACKETVER >= 20080603
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00b2, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x00b2, 58)
+#elif PACKETVER >= 20080507
+packetLen(0x00b2, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00b2, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x00b2, 67)
+#elif PACKETVER >= 20080401
+packetLen(0x00b2, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00b2, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00b2, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x00b2, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00b2, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00b2, 3)
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20081203
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00b3, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x00b3, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x00b3, 3)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b3, 11)
+#elif PACKETVER >= 20081029
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00b3, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00b3, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00b3, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00b3, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00b3, 18)
+#elif PACKETVER >= 20080722
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x00b3, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00b3, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00b3, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00b3, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00b3, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00b3, 35)
+#elif PACKETVER >= 20080311
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00b3, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00b3, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x00b3, 55)
+#elif PACKETVER >= 20080124
+packetLen(0x00b3, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x00b3, 3)
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20081217
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00b4, 81)
+#elif PACKETVER >= 20081126
+packetLen(0x00b4, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x00b4, 19)
+#elif PACKETVER >= 20081112
+packetLen(0x00b4, 282)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b4, 32)
+#elif PACKETVER >= 20081029
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00b4, 81)
+#elif PACKETVER >= 20080820
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00b4, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x00b4, 57)
+#elif PACKETVER >= 20080722
+packetLen(0x00b4, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x00b4, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00b4, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x00b4, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00b4, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x00b4, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00b4, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x00b4, 34)
+#elif PACKETVER >= 20080325
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00b4, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00b4, 36)
+#elif PACKETVER >= 20080304
+packetLen(0x00b4, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00b4, 43)
+#elif PACKETVER >= 20080219
+packetLen(0x00b4, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00b4, -1)
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20081217
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00b5, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00b5, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b5, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x00b5, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00b5, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x00b5, 71)
+#elif PACKETVER >= 20080917
+packetLen(0x00b5, 282)
+#elif PACKETVER >= 20080910
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00b5, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00b5, 16)
+#elif PACKETVER >= 20080806
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00b5, 282)
+#elif PACKETVER >= 20080722
+packetLen(0x00b5, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00b5, 58)
+#elif PACKETVER >= 20080701
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00b5, 12)
+#elif PACKETVER >= 20080617
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b5, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b5, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00b5, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b5, 19)
+#elif PACKETVER >= 20080415
+packetLen(0x00b5, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x00b5, 90)
+#elif PACKETVER >= 20080401
+packetLen(0x00b5, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00b5, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00b5, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00b5, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x00b5, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00b5, 6)
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20081217
+packetLen(0x00b6, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x00b6, 79)
+#elif PACKETVER >= 20081112
+packetLen(0x00b6, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b6, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x00b6, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x00b6, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x00b6, 79)
+#elif PACKETVER >= 20081001
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00b6, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00b6, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00b6, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00b6, 60)
+#elif PACKETVER >= 20080708
+packetLen(0x00b6, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x00b6, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x00b6, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x00b6, 39)
+#elif PACKETVER >= 20080528
+packetLen(0x00b6, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00b6, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00b6, 16)
+#elif PACKETVER >= 20080318
+packetLen(0x00b6, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00b6, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00b6, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00b6, 6)
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20081203
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00b7, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00b7, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00b7, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00b7, 21)
+#elif PACKETVER >= 20080701
+packetLen(0x00b7, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b7, 58)
+#elif PACKETVER >= 20080513
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00b7, 20)
+#elif PACKETVER >= 20080429
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00b7, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x00b7, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x00b7, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00b7, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b7, 42)
+#elif PACKETVER >= 20080304
+packetLen(0x00b7, 13)
+#elif PACKETVER >= 20080226
+packetLen(0x00b7, 32)
+#elif PACKETVER >= 20080219
+packetLen(0x00b7, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00b7, 21)
+#elif PACKETVER >= 20080102
+packetLen(0x00b7, -1)
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20081203
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00b8, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00b8, 7)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00b8, 44)
+#elif PACKETVER >= 20081015
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00b8, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00b8, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x00b8, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00b8, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00b8, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00b8, 20)
+#elif PACKETVER >= 20080624
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00b8, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00b8, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00b8, 53)
+#elif PACKETVER >= 20080513
+packetLen(0x00b8, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00b8, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x00b8, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x00b8, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x00b8, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x00b8, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x00b8, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00b8, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00b8, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x00b8, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00b8, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00b8, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00b8, 7)
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20081217
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00b9, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x00b9, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00b9, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00b9, 97)
+#elif PACKETVER >= 20081001
+packetLen(0x00b9, 20)
+#elif PACKETVER >= 20080924
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00b9, 60)
+#elif PACKETVER >= 20080813
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00b9, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00b9, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00b9, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x00b9, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00b9, 66)
+#elif PACKETVER >= 20080513
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00b9, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x00b9, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00b9, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x00b9, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x00b9, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x00b9, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x00b9, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00b9, 58)
+#elif PACKETVER >= 20080219
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00b9, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00b9, 6)
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+#if PACKETVER >= 20081112
+packetLen(0x00bb, 5)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00bb, 30)
+#elif PACKETVER >= 20081022
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00bb, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00bb, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00bb, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00bb, 60)
+#elif PACKETVER >= 20080624
+packetLen(0x00bb, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00bb, 36)
+#elif PACKETVER >= 20080603
+packetLen(0x00bb, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00bb, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00bb, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00bb, 55)
+#elif PACKETVER >= 20080422
+packetLen(0x00bb, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x00bb, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00bb, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00bb, 20)
+#elif PACKETVER >= 20080318
+packetLen(0x00bb, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00bb, 182)
+#elif PACKETVER >= 20080124
+packetLen(0x00bb, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00bb, 5)
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20081217
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x00bc, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x00bc, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x00bc, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00bc, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x00bc, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00bc, 114)
+#elif PACKETVER >= 20080806
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00bc, 53)
+#elif PACKETVER >= 20080722
+packetLen(0x00bc, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00bc, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00bc, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x00bc, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00bc, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x00bc, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00bc, 44)
+#elif PACKETVER >= 20080408
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00bc, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x00bc, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00bc, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00bc, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00bc, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00bc, 6)
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20081217
+packetLen(0x00bd, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x00bd, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00bd, 13)
+#elif PACKETVER >= 20081112
+packetLen(0x00bd, 44)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00bd, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00bd, 23)
+#elif PACKETVER >= 20080924
+packetLen(0x00bd, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x00bd, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00bd, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00bd, 90)
+#elif PACKETVER >= 20080715
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x00bd, 60)
+#elif PACKETVER >= 20080624
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00bd, 79)
+#elif PACKETVER >= 20080610
+packetLen(0x00bd, 18)
+#elif PACKETVER >= 20080603
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00bd, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00bd, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00bd, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00bd, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00bd, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x00bd, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00bd, 58)
+#elif PACKETVER >= 20080219
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00bd, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00bd, 44)
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20081126
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00be, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00be, 5)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00be, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00be, 19)
+#elif PACKETVER >= 20080903
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00be, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00be, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x00be, 65)
+#elif PACKETVER >= 20080806
+packetLen(0x00be, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00be, 17)
+#elif PACKETVER >= 20080715
+packetLen(0x00be, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x00be, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x00be, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00be, 57)
+#elif PACKETVER >= 20080617
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00be, 44)
+#elif PACKETVER >= 20080603
+packetLen(0x00be, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x00be, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x00be, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00be, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x00be, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00be, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00be, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x00be, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x00be, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00be, 5)
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20081217
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00bf, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00bf, 22)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00bf, 16)
+#elif PACKETVER >= 20081022
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00bf, 21)
+#elif PACKETVER >= 20081008
+packetLen(0x00bf, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00bf, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x00bf, 44)
+#elif PACKETVER >= 20080827
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00bf, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00bf, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00bf, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x00bf, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x00bf, 65)
+#elif PACKETVER >= 20080520
+packetLen(0x00bf, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00bf, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00bf, 32)
+#elif PACKETVER >= 20080325
+packetLen(0x00bf, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00bf, 29)
+#elif PACKETVER >= 20080219
+packetLen(0x00bf, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x00bf, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00bf, 3)
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20081217
+packetLen(0x00c0, 54)
+#elif PACKETVER >= 20081203
+packetLen(0x00c0, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x00c0, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00c0, 7)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00c0, 36)
+#elif PACKETVER >= 20081015
+packetLen(0x00c0, 182)
+#elif PACKETVER >= 20080827
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00c0, 79)
+#elif PACKETVER >= 20080813
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00c0, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00c0, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c0, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x00c0, 60)
+#elif PACKETVER >= 20080610
+packetLen(0x00c0, 39)
+#elif PACKETVER >= 20080603
+packetLen(0x00c0, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x00c0, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00c0, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00c0, 186)
+#elif PACKETVER >= 20080507
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c0, 13)
+#elif PACKETVER >= 20080422
+packetLen(0x00c0, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00c0, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x00c0, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00c0, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00c0, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00c0, 21)
+#elif PACKETVER >= 20080219
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00c0, 7)
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20081112
+packetLen(0x00c1, 2)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c1, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00c1, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x00c1, 21)
+#elif PACKETVER >= 20080917
+packetLen(0x00c1, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00c1, 66)
+#elif PACKETVER >= 20080820
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00c1, 186)
+#elif PACKETVER >= 20080715
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00c1, 29)
+#elif PACKETVER >= 20080701
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00c1, 81)
+#elif PACKETVER >= 20080507
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00c1, 57)
+#elif PACKETVER >= 20080401
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00c1, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00c1, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x00c1, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00c1, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x00c1, 2)
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20081203
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00c2, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00c2, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00c2, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00c2, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00c2, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x00c2, 17)
+#elif PACKETVER >= 20080820
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00c2, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c2, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c2, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00c2, 90)
+#elif PACKETVER >= 20080507
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c2, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x00c2, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x00c2, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00c2, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00c2, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00c2, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00c2, 39)
+#elif PACKETVER >= 20080226
+packetLen(0x00c2, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x00c2, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00c2, 6)
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20081217
+packetLen(0x00c3, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x00c3, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c3, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x00c3, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00c3, 24)
+#elif PACKETVER >= 20080917
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00c3, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x00c3, 22)
+#elif PACKETVER >= 20080813
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00c3, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00c3, 9)
+#elif PACKETVER >= 20080701
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c3, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c3, 42)
+#elif PACKETVER >= 20080603
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00c3, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00c3, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00c3, 66)
+#elif PACKETVER >= 20080325
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c3, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00c3, 68)
+#elif PACKETVER >= 20080304
+packetLen(0x00c3, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x00c3, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00c3, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x00c3, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00c3, 8)
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20081203
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00c4, 15)
+#elif PACKETVER >= 20081119
+packetLen(0x00c4, 71)
+#elif PACKETVER >= 20081112
+packetLen(0x00c4, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00c4, 67)
+#elif PACKETVER >= 20081022
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00c4, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00c4, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x00c4, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x00c4, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00c4, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00c4, 186)
+#elif PACKETVER >= 20080701
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00c4, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00c4, 29)
+#elif PACKETVER >= 20080429
+packetLen(0x00c4, 71)
+#elif PACKETVER >= 20080422
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00c4, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00c4, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c4, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00c4, 114)
+#elif PACKETVER >= 20080219
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00c4, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00c4, 6)
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20081217
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00c5, 16)
+#elif PACKETVER >= 20081112
+packetLen(0x00c5, 7)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00c5, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x00c5, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00c5, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x00c5, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00c5, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00c5, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00c5, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x00c5, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00c5, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00c5, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00c5, 114)
+#elif PACKETVER >= 20080603
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00c5, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00c5, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00c5, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00c5, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00c5, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00c5, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x00c5, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00c5, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00c5, 7)
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20081126
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00c6, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00c6, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00c6, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00c6, 19)
+#elif PACKETVER >= 20080813
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00c6, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00c6, 18)
+#elif PACKETVER >= 20080722
+packetLen(0x00c6, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x00c6, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c6, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00c6, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c6, 21)
+#elif PACKETVER >= 20080422
+packetLen(0x00c6, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c6, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c6, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x00c6, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x00c6, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00c6, -1)
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20081126
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00c7, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00c7, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x00c7, 15)
+#elif PACKETVER >= 20081008
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00c7, 13)
+#elif PACKETVER >= 20080924
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x00c7, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x00c7, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00c7, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00c7, 18)
+#elif PACKETVER >= 20080708
+packetLen(0x00c7, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x00c7, 182)
+#elif PACKETVER >= 20080624
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00c7, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00c7, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x00c7, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00c7, 53)
+#elif PACKETVER >= 20080415
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00c7, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c7, 58)
+#elif PACKETVER >= 20080311
+packetLen(0x00c7, 90)
+#elif PACKETVER >= 20080304
+packetLen(0x00c7, 67)
+#elif PACKETVER >= 20080226
+packetLen(0x00c7, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00c7, 90)
+#elif PACKETVER >= 20080124
+packetLen(0x00c7, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00c7, -1)
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20081105
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00c8, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x00c8, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00c8, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00c8, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00c8, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00c8, 20)
+#elif PACKETVER >= 20080715
+packetLen(0x00c8, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00c8, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x00c8, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00c8, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00c8, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00c8, 66)
+#elif PACKETVER >= 20080325
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00c8, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00c8, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00c8, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00c8, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00c8, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00c8, -1)
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20081119
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00c9, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00c9, 9)
+#elif PACKETVER >= 20081029
+packetLen(0x00c9, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00c9, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00c9, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x00c9, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00c9, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x00c9, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00c9, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x00c9, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x00c9, 29)
+#elif PACKETVER >= 20080715
+packetLen(0x00c9, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00c9, 39)
+#elif PACKETVER >= 20080624
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00c9, 36)
+#elif PACKETVER >= 20080610
+packetLen(0x00c9, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x00c9, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00c9, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00c9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00c9, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00c9, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00c9, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x00c9, -1)
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20081126
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00ca, 29)
+#elif PACKETVER >= 20081112
+packetLen(0x00ca, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00ca, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00ca, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x00ca, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00ca, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00ca, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x00ca, 86)
+#elif PACKETVER >= 20080813
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00ca, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00ca, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00ca, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00ca, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x00ca, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00ca, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x00ca, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x00ca, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00ca, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00ca, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x00ca, 23)
+#elif PACKETVER >= 20080219
+packetLen(0x00ca, 86)
+#elif PACKETVER >= 20080124
+packetLen(0x00ca, 36)
+#elif PACKETVER >= 20080102
+packetLen(0x00ca, 3)
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+#if PACKETVER >= 20081217
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00cc, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x00cc, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x00cc, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00cc, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x00cc, 15)
+#elif PACKETVER >= 20081001
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00cc, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00cc, 33)
+#elif PACKETVER >= 20080730
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00cc, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00cc, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x00cc, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00cc, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00cc, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00cc, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00cc, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00cc, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00cc, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00cc, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00cc, 6)
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+#if PACKETVER >= 20081217
+packetLen(0x00ce, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x00ce, 2)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00ce, 282)
+#elif PACKETVER >= 20081022
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00ce, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00ce, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x00ce, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x00ce, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00ce, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x00ce, 53)
+#elif PACKETVER >= 20080820
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00ce, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x00ce, 15)
+#elif PACKETVER >= 20080730
+packetLen(0x00ce, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x00ce, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00ce, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ce, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x00ce, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x00ce, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x00ce, 102)
+#elif PACKETVER >= 20080528
+packetLen(0x00ce, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x00ce, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00ce, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00ce, 114)
+#elif PACKETVER >= 20080422
+packetLen(0x00ce, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00ce, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ce, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x00ce, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00ce, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00ce, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00ce, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ce, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00ce, 2)
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20081126
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00cf, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x00cf, 27)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00cf, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x00cf, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00cf, 90)
+#elif PACKETVER >= 20080910
+packetLen(0x00cf, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00cf, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00cf, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00cf, 57)
+#elif PACKETVER >= 20080603
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00cf, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x00cf, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00cf, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x00cf, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00cf, 60)
+#elif PACKETVER >= 20080325
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00cf, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00cf, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00cf, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x00cf, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x00cf, 27)
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20081112
+packetLen(0x00d0, 3)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d0, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00d0, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00d0, 29)
+#elif PACKETVER >= 20080917
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00d0, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00d0, 55)
+#elif PACKETVER >= 20080806
+packetLen(0x00d0, 60)
+#elif PACKETVER >= 20080730
+packetLen(0x00d0, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00d0, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x00d0, 68)
+#elif PACKETVER >= 20080610
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00d0, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00d0, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x00d0, 114)
+#elif PACKETVER >= 20080507
+packetLen(0x00d0, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00d0, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00d0, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00d0, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x00d0, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00d0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00d0, 182)
+#elif PACKETVER >= 20080102
+packetLen(0x00d0, 3)
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20081217
+packetLen(0x00d1, 16)
+#elif PACKETVER >= 20081203
+packetLen(0x00d1, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x00d1, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00d1, 282)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d1, 23)
+#elif PACKETVER >= 20081022
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00d1, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x00d1, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00d1, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00d1, 53)
+#elif PACKETVER >= 20080708
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00d1, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00d1, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x00d1, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00d1, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00d1, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00d1, 43)
+#elif PACKETVER >= 20080408
+packetLen(0x00d1, 67)
+#elif PACKETVER >= 20080401
+packetLen(0x00d1, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00d1, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x00d1, 13)
+#elif PACKETVER >= 20080124
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00d1, 4)
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20081217
+packetLen(0x00d2, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x00d2, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00d2, 4)
+#elif PACKETVER >= 20081105
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00d2, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x00d2, 15)
+#elif PACKETVER >= 20080917
+packetLen(0x00d2, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x00d2, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00d2, 9)
+#elif PACKETVER >= 20080813
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00d2, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00d2, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00d2, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00d2, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x00d2, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x00d2, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00d2, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x00d2, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00d2, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00d2, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x00d2, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x00d2, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00d2, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x00d2, 4)
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20081217
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00d3, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00d3, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x00d3, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00d3, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x00d3, 18)
+#elif PACKETVER >= 20080924
+packetLen(0x00d3, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x00d3, 35)
+#elif PACKETVER >= 20080813
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00d3, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00d3, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x00d3, 23)
+#elif PACKETVER >= 20080701
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00d3, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00d3, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x00d3, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00d3, 20)
+#elif PACKETVER >= 20080408
+packetLen(0x00d3, 19)
+#elif PACKETVER >= 20080401
+packetLen(0x00d3, 33)
+#elif PACKETVER >= 20080325
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00d3, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x00d3, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00d3, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00d3, 2)
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+#if PACKETVER >= 20081217
+packetLen(0x00d5, 58)
+#elif PACKETVER >= 20081203
+packetLen(0x00d5, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x00d5, 19)
+#elif PACKETVER >= 20081119
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00d5, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00d5, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x00d5, 26)
+#elif PACKETVER >= 20081015
+packetLen(0x00d5, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00d5, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00d5, 29)
+#elif PACKETVER >= 20080730
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00d5, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00d5, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x00d5, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d5, 81)
+#elif PACKETVER >= 20080513
+packetLen(0x00d5, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00d5, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00d5, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x00d5, 21)
+#elif PACKETVER >= 20080325
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00d5, 114)
+#elif PACKETVER >= 20080311
+packetLen(0x00d5, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00d5, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00d5, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00d5, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00d5, -1)
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20081217
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00d6, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00d6, 16)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x00d6, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x00d6, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x00d6, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x00d6, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00d6, 27)
+#elif PACKETVER >= 20080903
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00d6, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00d6, 86)
+#elif PACKETVER >= 20080730
+packetLen(0x00d6, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x00d6, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d6, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00d6, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x00d6, 16)
+#elif PACKETVER >= 20080429
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00d6, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x00d6, 21)
+#elif PACKETVER >= 20080408
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00d6, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x00d6, 58)
+#elif PACKETVER >= 20080318
+packetLen(0x00d6, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00d6, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00d6, 68)
+#elif PACKETVER >= 20080226
+packetLen(0x00d6, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00d6, 3)
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20081126
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00d7, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x00d7, 27)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00d7, 35)
+#elif PACKETVER >= 20081008
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00d7, 28)
+#elif PACKETVER >= 20080924
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00d7, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00d7, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00d7, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x00d7, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00d7, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00d7, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x00d7, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d7, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x00d7, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00d7, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00d7, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00d7, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00d7, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00d7, 67)
+#elif PACKETVER >= 20080304
+packetLen(0x00d7, 24)
+#elif PACKETVER >= 20080226
+packetLen(0x00d7, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00d7, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00d7, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00d7, -1)
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20081217
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00d8, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x00d8, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00d8, 28)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00d8, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x00d8, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00d8, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00d8, 57)
+#elif PACKETVER >= 20080617
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d8, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d8, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x00d8, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x00d8, 53)
+#elif PACKETVER >= 20080507
+packetLen(0x00d8, 17)
+#elif PACKETVER >= 20080422
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00d8, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x00d8, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00d8, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00d8, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00d8, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00d8, 6)
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20081217
+packetLen(0x00d9, 55)
+#elif PACKETVER >= 20081112
+packetLen(0x00d9, 14)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00d9, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00d9, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00d9, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00d9, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00d9, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00d9, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00d9, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x00d9, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00d9, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00d9, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x00d9, 14)
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20081217
+packetLen(0x00da, 21)
+#elif PACKETVER >= 20081126
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00da, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00da, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00da, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x00da, 28)
+#elif PACKETVER >= 20081008
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00da, 19)
+#elif PACKETVER >= 20080924
+packetLen(0x00da, 90)
+#elif PACKETVER >= 20080917
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00da, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00da, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x00da, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00da, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x00da, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00da, 19)
+#elif PACKETVER >= 20080701
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00da, 53)
+#elif PACKETVER >= 20080610
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00da, 24)
+#elif PACKETVER >= 20080513
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00da, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00da, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00da, 31)
+#elif PACKETVER >= 20080401
+packetLen(0x00da, 13)
+#elif PACKETVER >= 20080325
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00da, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00da, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00da, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00da, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x00da, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x00da, 3)
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20081217
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00db, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x00db, 28)
+#elif PACKETVER >= 20081029
+packetLen(0x00db, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x00db, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x00db, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00db, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00db, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00db, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00db, 23)
+#elif PACKETVER >= 20080715
+packetLen(0x00db, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x00db, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00db, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00db, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00db, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00db, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x00db, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00db, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x00db, 33)
+#elif PACKETVER >= 20080408
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00db, 18)
+#elif PACKETVER >= 20080325
+packetLen(0x00db, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00db, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00db, 31)
+#elif PACKETVER >= 20080226
+packetLen(0x00db, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00db, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00db, -1)
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20081112
+packetLen(0x00dc, 28)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00dc, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00dc, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x00dc, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x00dc, 33)
+#elif PACKETVER >= 20080917
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00dc, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00dc, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x00dc, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00dc, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x00dc, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x00dc, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00dc, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00dc, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00dc, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x00dc, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x00dc, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x00dc, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00dc, 32)
+#elif PACKETVER >= 20080415
+packetLen(0x00dc, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00dc, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00dc, 29)
+#elif PACKETVER >= 20080311
+packetLen(0x00dc, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00dc, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00dc, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x00dc, 13)
+#elif PACKETVER >= 20080102
+packetLen(0x00dc, 28)
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20081217
+packetLen(0x00dd, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00dd, 97)
+#elif PACKETVER >= 20081119
+packetLen(0x00dd, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00dd, 29)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00dd, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00dd, 282)
+#elif PACKETVER >= 20080924
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00dd, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x00dd, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x00dd, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00dd, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x00dd, 282)
+#elif PACKETVER >= 20080806
+packetLen(0x00dd, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00dd, 67)
+#elif PACKETVER >= 20080708
+packetLen(0x00dd, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x00dd, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00dd, 20)
+#elif PACKETVER >= 20080528
+packetLen(0x00dd, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x00dd, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00dd, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00dd, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00dd, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x00dd, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00dd, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00dd, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x00dd, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00dd, 29)
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20081217
+packetLen(0x00de, 13)
+#elif PACKETVER >= 20081203
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00de, 27)
+#elif PACKETVER >= 20081119
+packetLen(0x00de, 44)
+#elif PACKETVER >= 20081112
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x00de, 16)
+#elif PACKETVER >= 20081029
+packetLen(0x00de, 67)
+#elif PACKETVER >= 20081022
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00de, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00de, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00de, 15)
+#elif PACKETVER >= 20080820
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00de, 67)
+#elif PACKETVER >= 20080806
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00de, 34)
+#elif PACKETVER >= 20080722
+packetLen(0x00de, 57)
+#elif PACKETVER >= 20080715
+packetLen(0x00de, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00de, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x00de, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00de, 57)
+#elif PACKETVER >= 20080520
+packetLen(0x00de, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00de, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x00de, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00de, 18)
+#elif PACKETVER >= 20080401
+packetLen(0x00de, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00de, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00de, 34)
+#elif PACKETVER >= 20080124
+packetLen(0x00de, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00de, -1)
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20081217
+packetLen(0x00df, 22)
+#elif PACKETVER >= 20081203
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00df, 86)
+#elif PACKETVER >= 20081119
+packetLen(0x00df, 53)
+#elif PACKETVER >= 20081029
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00df, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00df, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00df, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00df, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x00df, 29)
+#elif PACKETVER >= 20080701
+packetLen(0x00df, 34)
+#elif PACKETVER >= 20080624
+packetLen(0x00df, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x00df, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00df, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x00df, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x00df, 90)
+#elif PACKETVER >= 20080520
+packetLen(0x00df, 23)
+#elif PACKETVER >= 20080513
+packetLen(0x00df, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00df, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x00df, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00df, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00df, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x00df, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00df, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x00df, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x00df, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x00df, -1)
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20081203
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00e0, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x00e0, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x00e0, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00e0, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00e0, 58)
+#elif PACKETVER >= 20080910
+packetLen(0x00e0, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00e0, 15)
+#elif PACKETVER >= 20080820
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00e0, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00e0, 16)
+#elif PACKETVER >= 20080701
+packetLen(0x00e0, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00e0, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e0, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00e0, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x00e0, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00e0, 21)
+#elif PACKETVER >= 20080325
+packetLen(0x00e0, 71)
+#elif PACKETVER >= 20080318
+packetLen(0x00e0, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e0, 43)
+#elif PACKETVER >= 20080226
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00e0, 31)
+#elif PACKETVER >= 20080124
+packetLen(0x00e0, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x00e0, 30)
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20081203
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00e1, 59)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e1, 28)
+#elif PACKETVER >= 20081022
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00e1, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00e1, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00e1, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00e1, 23)
+#elif PACKETVER >= 20080827
+packetLen(0x00e1, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00e1, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00e1, 21)
+#elif PACKETVER >= 20080708
+packetLen(0x00e1, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00e1, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00e1, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00e1, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00e1, 43)
+#elif PACKETVER >= 20080415
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00e1, 60)
+#elif PACKETVER >= 20080325
+packetLen(0x00e1, 22)
+#elif PACKETVER >= 20080318
+packetLen(0x00e1, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x00e1, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e1, 60)
+#elif PACKETVER >= 20080226
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00e1, 81)
+#elif PACKETVER >= 20080124
+packetLen(0x00e1, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00e1, 30)
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20081217
+packetLen(0x00e2, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00e2, 26)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00e2, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00e2, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00e2, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00e2, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x00e2, 27)
+#elif PACKETVER >= 20080722
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00e2, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e2, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00e2, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00e2, 282)
+#elif PACKETVER >= 20080408
+packetLen(0x00e2, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x00e2, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00e2, 79)
+#elif PACKETVER >= 20080311
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00e2, 31)
+#elif PACKETVER >= 20080226
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00e2, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00e2, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00e2, 26)
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20081217
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00e3, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x00e3, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x00e3, 2)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e3, 15)
+#elif PACKETVER >= 20081029
+packetLen(0x00e3, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00e3, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x00e3, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00e3, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x00e3, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00e3, 22)
+#elif PACKETVER >= 20080708
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00e3, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x00e3, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00e3, 58)
+#elif PACKETVER >= 20080610
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00e3, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x00e3, 35)
+#elif PACKETVER >= 20080429
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00e3, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00e3, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00e3, 58)
+#elif PACKETVER >= 20080325
+packetLen(0x00e3, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00e3, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00e3, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00e3, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x00e3, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00e3, 2)
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20081217
+packetLen(0x00e4, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x00e4, 16)
+#elif PACKETVER >= 20081126
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00e4, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e4, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x00e4, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x00e4, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x00e4, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00e4, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00e4, 31)
+#elif PACKETVER >= 20080813
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00e4, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00e4, 15)
+#elif PACKETVER >= 20080701
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e4, 36)
+#elif PACKETVER >= 20080617
+packetLen(0x00e4, 86)
+#elif PACKETVER >= 20080520
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e4, 33)
+#elif PACKETVER >= 20080507
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00e4, 58)
+#elif PACKETVER >= 20080422
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x00e4, 13)
+#elif PACKETVER >= 20080408
+packetLen(0x00e4, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x00e4, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00e4, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00e4, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e4, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x00e4, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00e4, 6)
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20081217
+packetLen(0x00e5, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x00e5, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x00e5, 26)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00e5, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x00e5, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00e5, 23)
+#elif PACKETVER >= 20080917
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00e5, 35)
+#elif PACKETVER >= 20080820
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00e5, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e5, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x00e5, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00e5, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00e5, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x00e5, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x00e5, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00e5, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00e5, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00e5, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x00e5, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e5, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x00e5, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x00e5, 26)
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20081203
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00e6, 68)
+#elif PACKETVER >= 20081119
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00e6, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e6, 39)
+#elif PACKETVER >= 20081022
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00e6, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x00e6, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00e6, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00e6, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x00e6, 33)
+#elif PACKETVER >= 20080701
+packetLen(0x00e6, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x00e6, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x00e6, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x00e6, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00e6, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00e6, 43)
+#elif PACKETVER >= 20080513
+packetLen(0x00e6, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x00e6, 79)
+#elif PACKETVER >= 20080429
+packetLen(0x00e6, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x00e6, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00e6, 67)
+#elif PACKETVER >= 20080325
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00e6, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x00e6, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e6, 53)
+#elif PACKETVER >= 20080219
+packetLen(0x00e6, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00e6, 114)
+#elif PACKETVER >= 20080102
+packetLen(0x00e6, 3)
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20081217
+packetLen(0x00e7, 42)
+#elif PACKETVER >= 20081203
+packetLen(0x00e7, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x00e7, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00e7, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x00e7, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00e7, 33)
+#elif PACKETVER >= 20080917
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00e7, 44)
+#elif PACKETVER >= 20080813
+packetLen(0x00e7, 19)
+#elif PACKETVER >= 20080806
+packetLen(0x00e7, 59)
+#elif PACKETVER >= 20080730
+packetLen(0x00e7, 24)
+#elif PACKETVER >= 20080722
+packetLen(0x00e7, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e7, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00e7, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00e7, 182)
+#elif PACKETVER >= 20080520
+packetLen(0x00e7, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00e7, 90)
+#elif PACKETVER >= 20080429
+packetLen(0x00e7, 182)
+#elif PACKETVER >= 20080422
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00e7, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00e7, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x00e7, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00e7, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00e7, 68)
+#elif PACKETVER >= 20080124
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00e7, 3)
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20081217
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x00e8, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x00e8, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00e8, 39)
+#elif PACKETVER >= 20081022
+packetLen(0x00e8, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00e8, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x00e8, 282)
+#elif PACKETVER >= 20080917
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00e8, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00e8, 282)
+#elif PACKETVER >= 20080806
+packetLen(0x00e8, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00e8, 114)
+#elif PACKETVER >= 20080610
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x00e8, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x00e8, 66)
+#elif PACKETVER >= 20080513
+packetLen(0x00e8, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x00e8, 86)
+#elif PACKETVER >= 20080429
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00e8, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x00e8, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x00e8, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e8, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00e8, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x00e8, 8)
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20081217
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00e9, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00e9, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00e9, 19)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00e9, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00e9, 15)
+#elif PACKETVER >= 20081008
+packetLen(0x00e9, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x00e9, 102)
+#elif PACKETVER >= 20080924
+packetLen(0x00e9, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00e9, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00e9, 54)
+#elif PACKETVER >= 20080813
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00e9, 60)
+#elif PACKETVER >= 20080730
+packetLen(0x00e9, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00e9, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x00e9, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00e9, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x00e9, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00e9, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x00e9, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x00e9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00e9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e9, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x00e9, 21)
+#elif PACKETVER >= 20080102
+packetLen(0x00e9, 19)
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20081217
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00ea, 14)
+#elif PACKETVER >= 20081126
+packetLen(0x00ea, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x00ea, 42)
+#elif PACKETVER >= 20081112
+packetLen(0x00ea, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ea, 11)
+#elif PACKETVER >= 20081029
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00ea, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00ea, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x00ea, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00ea, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00ea, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x00ea, 81)
+#elif PACKETVER >= 20080701
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ea, 39)
+#elif PACKETVER >= 20080617
+packetLen(0x00ea, 90)
+#elif PACKETVER >= 20080603
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00ea, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00ea, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00ea, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00ea, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ea, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x00ea, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x00ea, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00ea, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ea, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00ea, 5)
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20081217
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x00eb, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00eb, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x00eb, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x00eb, 19)
+#elif PACKETVER >= 20081001
+packetLen(0x00eb, 22)
+#elif PACKETVER >= 20080917
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00eb, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00eb, 22)
+#elif PACKETVER >= 20080624
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00eb, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00eb, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00eb, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00eb, 36)
+#elif PACKETVER >= 20080429
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00eb, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00eb, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x00eb, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00eb, 86)
+#elif PACKETVER >= 20080311
+packetLen(0x00eb, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00eb, 19)
+#elif PACKETVER >= 20080219
+packetLen(0x00eb, 17)
+#elif PACKETVER >= 20080124
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00eb, 2)
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20081217
+packetLen(0x00ec, 18)
+#elif PACKETVER >= 20081203
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00ec, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x00ec, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x00ec, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ec, 86)
+#elif PACKETVER >= 20081022
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00ec, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x00ec, 20)
+#elif PACKETVER >= 20081001
+packetLen(0x00ec, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00ec, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00ec, 60)
+#elif PACKETVER >= 20080820
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00ec, 28)
+#elif PACKETVER >= 20080730
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00ec, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x00ec, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00ec, 55)
+#elif PACKETVER >= 20080624
+packetLen(0x00ec, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x00ec, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00ec, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x00ec, 81)
+#elif PACKETVER >= 20080513
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x00ec, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00ec, 34)
+#elif PACKETVER >= 20080422
+packetLen(0x00ec, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x00ec, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x00ec, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x00ec, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x00ec, 20)
+#elif PACKETVER >= 20080304
+packetLen(0x00ec, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ec, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x00ec, 3)
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20081217
+packetLen(0x00ed, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x00ed, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x00ed, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00ed, 30)
+#elif PACKETVER >= 20081022
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00ed, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00ed, 34)
+#elif PACKETVER >= 20080827
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00ed, 53)
+#elif PACKETVER >= 20080813
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00ed, 65)
+#elif PACKETVER >= 20080730
+packetLen(0x00ed, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00ed, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ed, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00ed, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00ed, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x00ed, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00ed, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x00ed, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00ed, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x00ed, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00ed, 86)
+#elif PACKETVER >= 20080226
+packetLen(0x00ed, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ed, 2)
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20081112
+packetLen(0x00ee, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00ee, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00ee, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00ee, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00ee, 12)
+#elif PACKETVER >= 20080730
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00ee, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x00ee, 31)
+#elif PACKETVER >= 20080708
+packetLen(0x00ee, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x00ee, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00ee, 81)
+#elif PACKETVER >= 20080610
+packetLen(0x00ee, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x00ee, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00ee, 18)
+#elif PACKETVER >= 20080520
+packetLen(0x00ee, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00ee, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00ee, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x00ee, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x00ee, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00ee, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x00ee, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x00ee, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00ee, 90)
+#elif PACKETVER >= 20080219
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ee, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00ee, 2)
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20081217
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00ef, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00ef, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00ef, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x00ef, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x00ef, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x00ef, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x00ef, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x00ef, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00ef, 53)
+#elif PACKETVER >= 20080806
+packetLen(0x00ef, 28)
+#elif PACKETVER >= 20080730
+packetLen(0x00ef, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00ef, 35)
+#elif PACKETVER >= 20080708
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00ef, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00ef, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x00ef, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x00ef, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x00ef, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x00ef, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x00ef, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ef, 57)
+#elif PACKETVER >= 20080325
+packetLen(0x00ef, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x00ef, 90)
+#elif PACKETVER >= 20080311
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00ef, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00ef, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00ef, 2)
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20081217
+packetLen(0x00f0, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x00f0, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x00f0, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00f0, 3)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00f0, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00f0, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x00f0, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x00f0, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00f0, 66)
+#elif PACKETVER >= 20080903
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00f0, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x00f0, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00f0, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x00f0, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x00f0, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00f0, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00f0, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x00f0, 43)
+#elif PACKETVER >= 20080429
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00f0, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x00f0, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00f0, 90)
+#elif PACKETVER >= 20080325
+packetLen(0x00f0, 24)
+#elif PACKETVER >= 20080318
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00f0, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00f0, 27)
+#elif PACKETVER >= 20080124
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00f0, 3)
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+#if PACKETVER >= 20081217
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x00f2, 27)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00f2, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x00f2, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00f2, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x00f2, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00f2, 29)
+#elif PACKETVER >= 20080708
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00f2, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x00f2, 39)
+#elif PACKETVER >= 20080603
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00f2, 39)
+#elif PACKETVER >= 20080507
+packetLen(0x00f2, 54)
+#elif PACKETVER >= 20080429
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00f2, 31)
+#elif PACKETVER >= 20080415
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00f2, 86)
+#elif PACKETVER >= 20080325
+packetLen(0x00f2, 60)
+#elif PACKETVER >= 20080318
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f2, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00f2, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00f2, 13)
+#elif PACKETVER >= 20080102
+packetLen(0x00f2, 6)
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+#if PACKETVER >= 20081217
+packetLen(0x00f4, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00f4, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x00f4, 65)
+#elif PACKETVER >= 20081112
+packetLen(0x00f4, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00f4, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x00f4, 15)
+#elif PACKETVER >= 20080827
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00f4, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00f4, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x00f4, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00f4, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x00f4, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00f4, 35)
+#elif PACKETVER >= 20080401
+packetLen(0x00f4, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x00f4, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00f4, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00f4, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x00f4, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00f4, 21)
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11)
+
+// Packet: 0x00f6
+#if PACKETVER >= 20081217
+packetLen(0x00f6, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00f6, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x00f6, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x00f6, 8)
+#elif PACKETVER >= 20081105
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00f6, 57)
+#elif PACKETVER >= 20080924
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00f6, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00f6, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00f6, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x00f6, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00f6, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x00f6, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00f6, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x00f6, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00f6, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x00f6, 65)
+#elif PACKETVER >= 20080401
+packetLen(0x00f6, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x00f6, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00f6, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00f6, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00f6, 65)
+#elif PACKETVER >= 20080226
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00f6, 23)
+#elif PACKETVER >= 20080124
+packetLen(0x00f6, 39)
+#elif PACKETVER >= 20080102
+packetLen(0x00f6, 8)
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17)
+
+// Packet: 0x00f8
+#if PACKETVER >= 20081203
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00f8, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x00f8, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x00f8, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x00f8, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x00f8, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x00f8, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00f8, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x00f8, 17)
+#elif PACKETVER >= 20080610
+packetLen(0x00f8, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x00f8, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00f8, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f8, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00f8, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x00f8, 43)
+#elif PACKETVER >= 20080102
+packetLen(0x00f8, 2)
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20081126
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00f9, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00f9, 26)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00f9, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x00f9, 22)
+#elif PACKETVER >= 20081008
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00f9, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x00f9, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00f9, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x00f9, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x00f9, 54)
+#elif PACKETVER >= 20080722
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x00f9, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x00f9, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x00f9, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x00f9, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x00f9, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00f9, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x00f9, 13)
+#elif PACKETVER >= 20080408
+packetLen(0x00f9, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00f9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00f9, 114)
+#elif PACKETVER >= 20080304
+packetLen(0x00f9, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x00f9, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x00f9, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00f9, 26)
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20081112
+packetLen(0x00fa, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00fa, 65)
+#elif PACKETVER >= 20081015
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x00fa, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00fa, 21)
+#elif PACKETVER >= 20080820
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x00fa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x00fa, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00fa, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x00fa, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x00fa, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x00fa, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x00fa, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x00fa, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x00fa, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00fa, 20)
+#elif PACKETVER >= 20080226
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00fa, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00fa, 3)
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20081217
+packetLen(0x00fb, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00fb, 60)
+#elif PACKETVER >= 20081015
+packetLen(0x00fb, 17)
+#elif PACKETVER >= 20081008
+packetLen(0x00fb, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00fb, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x00fb, 60)
+#elif PACKETVER >= 20080910
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x00fb, 67)
+#elif PACKETVER >= 20080820
+packetLen(0x00fb, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x00fb, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x00fb, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x00fb, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x00fb, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x00fb, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x00fb, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x00fb, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x00fb, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x00fb, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00fb, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00fb, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00fb, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x00fb, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x00fb, -1)
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20081126
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x00fc, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x00fc, 32)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00fc, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x00fc, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x00fc, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x00fc, 9)
+#elif PACKETVER >= 20080730
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x00fc, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00fc, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00fc, 18)
+#elif PACKETVER >= 20080528
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x00fc, 53)
+#elif PACKETVER >= 20080422
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00fc, 17)
+#elif PACKETVER >= 20080318
+packetLen(0x00fc, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x00fc, 24)
+#elif PACKETVER >= 20080304
+packetLen(0x00fc, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00fc, 19)
+#elif PACKETVER >= 20080124
+packetLen(0x00fc, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00fc, 6)
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20081217
+packetLen(0x00fd, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x00fd, 31)
+#elif PACKETVER >= 20081112
+packetLen(0x00fd, 27)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x00fd, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x00fd, 27)
+#elif PACKETVER >= 20081015
+packetLen(0x00fd, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x00fd, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x00fd, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x00fd, 24)
+#elif PACKETVER >= 20080903
+packetLen(0x00fd, 86)
+#elif PACKETVER >= 20080617
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00fd, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x00fd, 97)
+#elif PACKETVER >= 20080528
+packetLen(0x00fd, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x00fd, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x00fd, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x00fd, 18)
+#elif PACKETVER >= 20080311
+packetLen(0x00fd, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00fd, 20)
+#elif PACKETVER >= 20080219
+packetLen(0x00fd, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x00fd, 42)
+#elif PACKETVER >= 20080102
+packetLen(0x00fd, 27)
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20081217
+packetLen(0x00fe, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x00fe, 37)
+#elif PACKETVER >= 20081126
+packetLen(0x00fe, 27)
+#elif PACKETVER >= 20081119
+packetLen(0x00fe, 53)
+#elif PACKETVER >= 20081112
+packetLen(0x00fe, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x00fe, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x00fe, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00fe, 22)
+#elif PACKETVER >= 20080924
+packetLen(0x00fe, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x00fe, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00fe, 282)
+#elif PACKETVER >= 20080722
+packetLen(0x00fe, 28)
+#elif PACKETVER >= 20080617
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00fe, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x00fe, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x00fe, 186)
+#elif PACKETVER >= 20080325
+packetLen(0x00fe, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x00fe, 32)
+#elif PACKETVER >= 20080311
+packetLen(0x00fe, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00fe, 186)
+#elif PACKETVER >= 20080226
+packetLen(0x00fe, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00fe, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00fe, 30)
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20081217
+packetLen(0x00ff, 5)
+#elif PACKETVER >= 20081203
+packetLen(0x00ff, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x00ff, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x00ff, 12)
+#elif PACKETVER >= 20080924
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x00ff, 102)
+#elif PACKETVER >= 20080910
+packetLen(0x00ff, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x00ff, 15)
+#elif PACKETVER >= 20080722
+packetLen(0x00ff, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x00ff, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x00ff, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x00ff, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x00ff, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x00ff, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x00ff, 79)
+#elif PACKETVER >= 20080325
+packetLen(0x00ff, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00ff, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00ff, 59)
+#elif PACKETVER >= 20080226
+packetLen(0x00ff, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x00ff, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x00ff, 10)
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20081112
+packetLen(0x0100, 2)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0100, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0100, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0100, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x0100, 67)
+#elif PACKETVER >= 20080924
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0100, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0100, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0100, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0100, 186)
+#elif PACKETVER >= 20080520
+packetLen(0x0100, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0100, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0100, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x0100, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0100, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0100, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x0100, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x0100, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x0100, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0100, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x0100, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0100, 2)
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20081217
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0101, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0101, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0101, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0101, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0101, 35)
+#elif PACKETVER >= 20080806
+packetLen(0x0101, 66)
+#elif PACKETVER >= 20080708
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0101, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0101, 24)
+#elif PACKETVER >= 20080617
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0101, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0101, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0101, 58)
+#elif PACKETVER >= 20080429
+packetLen(0x0101, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0101, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0101, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x0101, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0101, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0101, 97)
+#elif PACKETVER >= 20080304
+packetLen(0x0101, 23)
+#elif PACKETVER >= 20080226
+packetLen(0x0101, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0101, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0101, 6)
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20081217
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0102, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0102, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0102, 22)
+#elif PACKETVER >= 20081015
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0102, 9)
+#elif PACKETVER >= 20081001
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0102, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0102, 182)
+#elif PACKETVER >= 20080910
+packetLen(0x0102, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0102, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0102, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0102, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0102, 17)
+#elif PACKETVER >= 20080520
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0102, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0102, 81)
+#elif PACKETVER >= 20080408
+packetLen(0x0102, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0102, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x0102, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0102, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0102, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0102, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0102, 68)
+#elif PACKETVER >= 20080124
+packetLen(0x0102, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0102, 6)
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20081217
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x0103, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0103, 30)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0103, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0103, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0103, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0103, 27)
+#elif PACKETVER >= 20080910
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0103, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x0103, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0103, 60)
+#elif PACKETVER >= 20080730
+packetLen(0x0103, 36)
+#elif PACKETVER >= 20080722
+packetLen(0x0103, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0103, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0103, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0103, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0103, 79)
+#elif PACKETVER >= 20080520
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0103, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0103, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0103, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0103, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0103, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0103, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0103, 30)
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20081112
+packetLen(0x0104, 79)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0104, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0104, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0104, 17)
+#elif PACKETVER >= 20080730
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0104, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0104, 60)
+#elif PACKETVER >= 20080610
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0104, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0104, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0104, 17)
+#elif PACKETVER >= 20080513
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0104, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x0104, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x0104, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0104, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0104, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0104, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0104, 21)
+#elif PACKETVER >= 20080124
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0104, 79)
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20081126
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0105, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0105, 31)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0105, 58)
+#elif PACKETVER >= 20080910
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0105, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0105, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0105, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0105, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0105, 97)
+#elif PACKETVER >= 20080617
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0105, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0105, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0105, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x0105, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0105, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0105, 23)
+#elif PACKETVER >= 20080318
+packetLen(0x0105, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0105, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0105, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0105, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0105, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0105, 31)
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20081217
+packetLen(0x0106, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0106, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x0106, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0106, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0106, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0106, 60)
+#elif PACKETVER >= 20081001
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0106, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0106, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0106, 17)
+#elif PACKETVER >= 20080722
+packetLen(0x0106, 29)
+#elif PACKETVER >= 20080708
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0106, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0106, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0106, 27)
+#elif PACKETVER >= 20080422
+packetLen(0x0106, 29)
+#elif PACKETVER >= 20080415
+packetLen(0x0106, 282)
+#elif PACKETVER >= 20080408
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0106, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0106, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0106, 21)
+#elif PACKETVER >= 20080124
+packetLen(0x0106, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0106, 10)
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20081217
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0107, 24)
+#elif PACKETVER >= 20081126
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0107, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0107, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0107, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0107, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0107, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0107, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0107, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0107, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0107, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0107, 16)
+#elif PACKETVER >= 20080813
+packetLen(0x0107, 17)
+#elif PACKETVER >= 20080806
+packetLen(0x0107, 23)
+#elif PACKETVER >= 20080730
+packetLen(0x0107, 59)
+#elif PACKETVER >= 20080722
+packetLen(0x0107, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0107, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0107, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0107, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0107, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0107, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0107, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0107, 10)
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20081029
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0108, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0108, 22)
+#elif PACKETVER >= 20081008
+packetLen(0x0108, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0108, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0108, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0108, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0108, 12)
+#elif PACKETVER >= 20080715
+packetLen(0x0108, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0108, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x0108, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0108, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0108, 97)
+#elif PACKETVER >= 20080513
+packetLen(0x0108, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x0108, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0108, 32)
+#elif PACKETVER >= 20080415
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0108, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0108, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x0108, 182)
+#elif PACKETVER >= 20080311
+packetLen(0x0108, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0108, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0108, 97)
+#elif PACKETVER >= 20080124
+packetLen(0x0108, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0108, -1)
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20081112
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0109, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0109, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0109, 43)
+#elif PACKETVER >= 20081001
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0109, 17)
+#elif PACKETVER >= 20080917
+packetLen(0x0109, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0109, 81)
+#elif PACKETVER >= 20080708
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0109, 31)
+#elif PACKETVER >= 20080624
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0109, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0109, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0109, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0109, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0109, 67)
+#elif PACKETVER >= 20080422
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0109, 102)
+#elif PACKETVER >= 20080408
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0109, 33)
+#elif PACKETVER >= 20080325
+packetLen(0x0109, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0109, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0109, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0109, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0109, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x0109, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x0109, -1)
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20081217
+packetLen(0x010a, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x010a, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x010a, 4)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x010a, 36)
+#elif PACKETVER >= 20081022
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x010a, 16)
+#elif PACKETVER >= 20081008
+packetLen(0x010a, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x010a, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x010a, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x010a, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x010a, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x010a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x010a, 34)
+#elif PACKETVER >= 20080528
+packetLen(0x010a, 102)
+#elif PACKETVER >= 20080520
+packetLen(0x010a, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x010a, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x010a, 31)
+#elif PACKETVER >= 20080429
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x010a, 114)
+#elif PACKETVER >= 20080401
+packetLen(0x010a, 27)
+#elif PACKETVER >= 20080325
+packetLen(0x010a, 12)
+#elif PACKETVER >= 20080318
+packetLen(0x010a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x010a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x010a, 4)
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20081217
+packetLen(0x010b, 23)
+#elif PACKETVER >= 20081203
+packetLen(0x010b, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x010b, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x010b, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x010b, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x010b, 58)
+#elif PACKETVER >= 20080806
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x010b, 33)
+#elif PACKETVER >= 20080722
+packetLen(0x010b, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x010b, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x010b, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x010b, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x010b, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x010b, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x010b, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x010b, 17)
+#elif PACKETVER >= 20080311
+packetLen(0x010b, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x010b, 114)
+#elif PACKETVER >= 20080226
+packetLen(0x010b, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x010b, 24)
+#elif PACKETVER >= 20080102
+packetLen(0x010b, 6)
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20081203
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x010c, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x010c, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x010c, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x010c, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x010c, 33)
+#elif PACKETVER >= 20080827
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x010c, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x010c, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x010c, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x010c, 23)
+#elif PACKETVER >= 20080610
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x010c, 31)
+#elif PACKETVER >= 20080528
+packetLen(0x010c, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x010c, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x010c, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x010c, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x010c, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x010c, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x010c, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x010c, 6)
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+#if PACKETVER >= 20081203
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x010e, 81)
+#elif PACKETVER >= 20081112
+packetLen(0x010e, 11)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x010e, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x010e, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x010e, 53)
+#elif PACKETVER >= 20080806
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x010e, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x010e, 24)
+#elif PACKETVER >= 20080701
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x010e, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x010e, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x010e, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x010e, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x010e, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x010e, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x010e, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x010e, 12)
+#elif PACKETVER >= 20080401
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x010e, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x010e, 53)
+#elif PACKETVER >= 20080311
+packetLen(0x010e, 71)
+#elif PACKETVER >= 20080304
+packetLen(0x010e, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x010e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x010e, 11)
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20081217
+packetLen(0x010f, 81)
+#elif PACKETVER >= 20081203
+packetLen(0x010f, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x010f, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x010f, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x010f, 67)
+#elif PACKETVER >= 20080806
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x010f, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x010f, 35)
+#elif PACKETVER >= 20080701
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x010f, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x010f, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x010f, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x010f, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x010f, 17)
+#elif PACKETVER >= 20080507
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x010f, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x010f, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x010f, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x010f, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x010f, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x010f, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x010f, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x010f, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x010f, -1)
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20081126
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0110, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0110, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0110, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0110, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0110, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0110, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0110, 24)
+#elif PACKETVER >= 20080722
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0110, 34)
+#elif PACKETVER >= 20080617
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0110, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0110, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0110, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0110, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0110, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0110, 35)
+#elif PACKETVER >= 20080318
+packetLen(0x0110, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0110, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0110, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0110, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0110, 10)
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20081217
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0111, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0111, 39)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0111, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0111, 97)
+#elif PACKETVER >= 20081015
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0111, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0111, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0111, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x0111, 66)
+#elif PACKETVER >= 20080813
+packetLen(0x0111, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x0111, 282)
+#elif PACKETVER >= 20080730
+packetLen(0x0111, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0111, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0111, 17)
+#elif PACKETVER >= 20080624
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0111, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0111, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0111, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0111, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0111, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0111, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0111, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0111, 23)
+#elif PACKETVER >= 20080311
+packetLen(0x0111, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0111, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0111, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x0111, 32)
+#elif PACKETVER >= 20080124
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0111, 39)
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20081217
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0112, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0112, 4)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0112, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0112, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0112, 9)
+#elif PACKETVER >= 20080701
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0112, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0112, 59)
+#elif PACKETVER >= 20080610
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0112, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0112, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0112, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0112, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0112, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0112, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0112, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0112, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x0112, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0112, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0112, 4)
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 25)
+
+// Packet: 0x0114
+#if PACKETVER >= 20081203
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0114, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0114, 31)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0114, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0114, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x0114, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0114, 15)
+#elif PACKETVER >= 20080610
+packetLen(0x0114, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0114, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0114, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0114, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0114, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0114, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0114, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0114, 182)
+#elif PACKETVER >= 20080318
+packetLen(0x0114, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0114, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0114, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0114, 31)
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 17)
+
+// Packet: 0x0117
+#if PACKETVER >= 20081203
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0117, 81)
+#elif PACKETVER >= 20081112
+packetLen(0x0117, 18)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0117, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x0117, 13)
+#elif PACKETVER >= 20081022
+packetLen(0x0117, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x0117, 32)
+#elif PACKETVER >= 20081008
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0117, 22)
+#elif PACKETVER >= 20080903
+packetLen(0x0117, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0117, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0117, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0117, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0117, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0117, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0117, 28)
+#elif PACKETVER >= 20080401
+packetLen(0x0117, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x0117, 29)
+#elif PACKETVER >= 20080318
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0117, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0117, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0117, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0117, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0117, 18)
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20081217
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0118, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20081119
+packetLen(0x0118, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0118, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0118, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0118, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0118, 182)
+#elif PACKETVER >= 20081001
+packetLen(0x0118, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20080730
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0118, 18)
+#elif PACKETVER >= 20080715
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0118, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0118, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0118, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0118, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x0118, 90)
+#elif PACKETVER >= 20080513
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0118, 29)
+#elif PACKETVER >= 20080422
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0118, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x0118, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0118, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x0118, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x0118, 2)
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20081217
+packetLen(0x0119, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x0119, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x0119, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0119, 43)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0119, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0119, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x0119, 29)
+#elif PACKETVER >= 20080903
+packetLen(0x0119, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0119, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0119, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0119, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0119, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0119, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0119, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0119, 23)
+#elif PACKETVER >= 20080415
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0119, 17)
+#elif PACKETVER >= 20080325
+packetLen(0x0119, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0119, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0119, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0119, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0119, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0119, 58)
+#elif PACKETVER >= 20080124
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0119, 13)
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20081217
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x011a, 19)
+#elif PACKETVER >= 20081112
+packetLen(0x011a, 15)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011a, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x011a, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x011a, 58)
+#elif PACKETVER >= 20080917
+packetLen(0x011a, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x011a, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x011a, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x011a, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x011a, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x011a, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x011a, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x011a, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x011a, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x011a, 36)
+#elif PACKETVER >= 20080318
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x011a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x011a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x011a, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x011a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x011a, 15)
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20081217
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x011b, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x011b, 20)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011b, 15)
+#elif PACKETVER >= 20081029
+packetLen(0x011b, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x011b, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x011b, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x011b, 53)
+#elif PACKETVER >= 20080820
+packetLen(0x011b, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x011b, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x011b, 79)
+#elif PACKETVER >= 20080722
+packetLen(0x011b, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x011b, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x011b, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x011b, 58)
+#elif PACKETVER >= 20080507
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x011b, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x011b, 20)
+#elif PACKETVER >= 20080415
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x011b, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x011b, 39)
+#elif PACKETVER >= 20080311
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x011b, 58)
+#elif PACKETVER >= 20080226
+packetLen(0x011b, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x011b, 20)
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20081217
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x011c, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x011c, 68)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011c, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x011c, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x011c, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x011c, 60)
+#elif PACKETVER >= 20080910
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x011c, 66)
+#elif PACKETVER >= 20080806
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x011c, 39)
+#elif PACKETVER >= 20080722
+packetLen(0x011c, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x011c, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x011c, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x011c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x011c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x011c, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x011c, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x011c, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x011c, 31)
+#elif PACKETVER >= 20080408
+packetLen(0x011c, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x011c, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x011c, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x011c, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x011c, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x011c, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x011c, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x011c, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x011c, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x011c, 68)
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20081217
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x011d, 16)
+#elif PACKETVER >= 20081126
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x011d, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x011d, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x011d, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x011d, 16)
+#elif PACKETVER >= 20081015
+packetLen(0x011d, 21)
+#elif PACKETVER >= 20081008
+packetLen(0x011d, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x011d, 24)
+#elif PACKETVER >= 20080813
+packetLen(0x011d, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x011d, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x011d, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x011d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x011d, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x011d, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x011d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x011d, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x011d, 23)
+#elif PACKETVER >= 20080513
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x011d, 81)
+#elif PACKETVER >= 20080422
+packetLen(0x011d, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x011d, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x011d, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x011d, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x011d, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x011d, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x011d, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x011d, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x011d, 2)
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20081112
+packetLen(0x011e, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x011e, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x011e, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x011e, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x011e, 33)
+#elif PACKETVER >= 20080610
+packetLen(0x011e, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x011e, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x011e, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x011e, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x011e, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x011e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x011e, 32)
+#elif PACKETVER >= 20080401
+packetLen(0x011e, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x011e, 18)
+#elif PACKETVER >= 20080318
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x011e, 18)
+#elif PACKETVER >= 20080219
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x011e, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x011e, 3)
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20081203
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x011f, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x011f, 16)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x011f, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x011f, 282)
+#elif PACKETVER >= 20080910
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x011f, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x011f, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x011f, 58)
+#elif PACKETVER >= 20080806
+packetLen(0x011f, 28)
+#elif PACKETVER >= 20080708
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x011f, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x011f, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x011f, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x011f, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x011f, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x011f, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x011f, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x011f, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x011f, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x011f, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011f, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x011f, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x011f, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x011f, 16)
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20081126
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0120, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0120, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20080924
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0120, 9)
+#elif PACKETVER >= 20080903
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0120, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0120, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x0120, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x0120, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0120, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0120, 27)
+#elif PACKETVER >= 20080617
+packetLen(0x0120, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0120, 79)
+#elif PACKETVER >= 20080603
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0120, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0120, 54)
+#elif PACKETVER >= 20080429
+packetLen(0x0120, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0120, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0120, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0120, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x0120, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0120, 39)
+#elif PACKETVER >= 20080102
+packetLen(0x0120, 6)
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20081217
+packetLen(0x0121, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0121, 14)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0121, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0121, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0121, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0121, 13)
+#elif PACKETVER >= 20080813
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0121, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0121, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0121, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0121, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0121, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0121, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0121, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0121, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0121, 29)
+#elif PACKETVER >= 20080311
+packetLen(0x0121, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0121, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0121, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0121, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x0121, 14)
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20081217
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0122, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0122, 66)
+#elif PACKETVER >= 20081119
+packetLen(0x0122, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0122, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0122, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0122, 65)
+#elif PACKETVER >= 20080917
+packetLen(0x0122, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x0122, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0122, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0122, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x0122, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0122, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x0122, 282)
+#elif PACKETVER >= 20080701
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0122, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0122, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x0122, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0122, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0122, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0122, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0122, 186)
+#elif PACKETVER >= 20080408
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0122, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0122, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x0122, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0122, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0122, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0122, -1)
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20081217
+packetLen(0x0123, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x0123, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0123, 58)
+#elif PACKETVER >= 20081105
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0123, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0123, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0123, 19)
+#elif PACKETVER >= 20080827
+packetLen(0x0123, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0123, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0123, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0123, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x0123, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0123, 23)
+#elif PACKETVER >= 20080603
+packetLen(0x0123, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0123, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0123, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0123, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0123, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0123, 35)
+#elif PACKETVER >= 20080325
+packetLen(0x0123, 33)
+#elif PACKETVER >= 20080318
+packetLen(0x0123, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0123, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0123, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0123, 16)
+#elif PACKETVER >= 20080124
+packetLen(0x0123, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0123, -1)
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20081217
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0124, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0124, 182)
+#elif PACKETVER >= 20081112
+packetLen(0x0124, 21)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0124, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0124, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0124, 29)
+#elif PACKETVER >= 20080903
+packetLen(0x0124, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0124, 282)
+#elif PACKETVER >= 20080813
+packetLen(0x0124, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0124, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0124, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0124, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0124, 58)
+#elif PACKETVER >= 20080603
+packetLen(0x0124, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x0124, 32)
+#elif PACKETVER >= 20080520
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0124, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x0124, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0124, 31)
+#elif PACKETVER >= 20080422
+packetLen(0x0124, 71)
+#elif PACKETVER >= 20080415
+packetLen(0x0124, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0124, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0124, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0124, 36)
+#elif PACKETVER >= 20080219
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0124, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x0124, 21)
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20081112
+packetLen(0x0125, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0125, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0125, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0125, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0125, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0125, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0125, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0125, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0125, 86)
+#elif PACKETVER >= 20080603
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0125, 44)
+#elif PACKETVER >= 20080513
+packetLen(0x0125, 57)
+#elif PACKETVER >= 20080507
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0125, 32)
+#elif PACKETVER >= 20080415
+packetLen(0x0125, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0125, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x0125, 53)
+#elif PACKETVER >= 20080318
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0125, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0125, 8)
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20081217
+packetLen(0x0126, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0126, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0126, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0126, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x0126, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0126, 60)
+#elif PACKETVER >= 20081029
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0126, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0126, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0126, 24)
+#elif PACKETVER >= 20080701
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0126, 43)
+#elif PACKETVER >= 20080610
+packetLen(0x0126, 97)
+#elif PACKETVER >= 20080603
+packetLen(0x0126, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0126, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0126, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0126, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0126, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0126, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0126, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0126, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0126, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0126, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x0126, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0126, 8)
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20081217
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0127, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0127, 8)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20080917
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0127, 81)
+#elif PACKETVER >= 20080820
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0127, 17)
+#elif PACKETVER >= 20080806
+packetLen(0x0127, 18)
+#elif PACKETVER >= 20080730
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0127, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0127, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0127, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0127, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0127, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0127, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0127, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0127, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0127, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0127, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0127, 67)
+#elif PACKETVER >= 20080311
+packetLen(0x0127, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0127, 18)
+#elif PACKETVER >= 20080226
+packetLen(0x0127, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x0127, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0127, 8)
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20081217
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0128, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0128, 29)
+#elif PACKETVER >= 20081119
+packetLen(0x0128, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0128, 18)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0128, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0128, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0128, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0128, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0128, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0128, 97)
+#elif PACKETVER >= 20080730
+packetLen(0x0128, 31)
+#elif PACKETVER >= 20080722
+packetLen(0x0128, 27)
+#elif PACKETVER >= 20080715
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0128, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0128, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0128, 31)
+#elif PACKETVER >= 20080603
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0128, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0128, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0128, 13)
+#elif PACKETVER >= 20080422
+packetLen(0x0128, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0128, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0128, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0128, 58)
+#elif PACKETVER >= 20080304
+packetLen(0x0128, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0128, 17)
+#elif PACKETVER >= 20080124
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0128, 8)
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20081217
+packetLen(0x0129, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0129, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0129, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0129, 8)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0129, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0129, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0129, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0129, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0129, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0129, 182)
+#elif PACKETVER >= 20080617
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0129, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0129, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0129, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0129, 60)
+#elif PACKETVER >= 20080408
+packetLen(0x0129, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0129, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0129, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0129, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0129, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0129, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x0129, 8)
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20081119
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x012a, 54)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x012a, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x012a, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x012a, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x012a, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x012a, 29)
+#elif PACKETVER >= 20080813
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x012a, 39)
+#elif PACKETVER >= 20080730
+packetLen(0x012a, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x012a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x012a, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x012a, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x012a, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x012a, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x012a, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x012a, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x012a, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x012a, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x012a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x012a, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x012a, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x012a, 2)
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+#if PACKETVER >= 20081217
+packetLen(0x012c, 79)
+#elif PACKETVER >= 20081203
+packetLen(0x012c, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x012c, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x012c, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x012c, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x012c, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x012c, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x012c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x012c, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x012c, 36)
+#elif PACKETVER >= 20080715
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x012c, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x012c, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x012c, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x012c, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x012c, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x012c, 39)
+#elif PACKETVER >= 20080422
+packetLen(0x012c, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x012c, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x012c, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x012c, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x012c, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x012c, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x012c, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x012c, 20)
+#elif PACKETVER >= 20080219
+packetLen(0x012c, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x012c, 19)
+#elif PACKETVER >= 20080102
+packetLen(0x012c, 3)
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20081119
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x012d, 67)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20080910
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x012d, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x012d, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x012d, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x012d, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x012d, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x012d, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x012d, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x012d, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x012d, 34)
+#elif PACKETVER >= 20080507
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x012d, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x012d, 81)
+#elif PACKETVER >= 20080415
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x012d, 33)
+#elif PACKETVER >= 20080401
+packetLen(0x012d, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x012d, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x012d, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x012d, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x012d, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x012d, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x012d, 4)
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20081217
+packetLen(0x012e, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x012e, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x012e, 33)
+#elif PACKETVER >= 20081015
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x012e, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x012e, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x012e, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x012e, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x012e, 31)
+#elif PACKETVER >= 20080520
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x012e, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x012e, 102)
+#elif PACKETVER >= 20080429
+packetLen(0x012e, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x012e, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x012e, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x012e, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x012e, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x012e, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x012e, 2)
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+#if PACKETVER >= 20081203
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0130, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0130, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0130, 12)
+#elif PACKETVER >= 20080827
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0130, 55)
+#elif PACKETVER >= 20080715
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0130, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0130, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0130, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0130, 81)
+#elif PACKETVER >= 20080325
+packetLen(0x0130, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0130, 66)
+#elif PACKETVER >= 20080311
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0130, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x0130, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0130, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0130, 6)
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20081203
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0131, 15)
+#elif PACKETVER >= 20081119
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0131, 86)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0131, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0131, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0131, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0131, 97)
+#elif PACKETVER >= 20080730
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0131, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0131, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x0131, 35)
+#elif PACKETVER >= 20080528
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0131, 35)
+#elif PACKETVER >= 20080429
+packetLen(0x0131, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x0131, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0131, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0131, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x0131, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0131, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0131, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0131, 29)
+#elif PACKETVER >= 20080219
+packetLen(0x0131, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0131, 86)
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20081203
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0132, 55)
+#elif PACKETVER >= 20081112
+packetLen(0x0132, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0132, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0132, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0132, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0132, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0132, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x0132, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0132, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0132, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0132, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0132, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0132, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0132, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0132, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0132, 36)
+#elif PACKETVER >= 20080219
+packetLen(0x0132, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0132, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0132, 6)
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20081105
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0133, 102)
+#elif PACKETVER >= 20081022
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0133, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0133, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0133, 59)
+#elif PACKETVER >= 20080813
+packetLen(0x0133, 67)
+#elif PACKETVER >= 20080806
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0133, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x0133, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0133, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0133, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0133, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0133, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x0133, 57)
+#elif PACKETVER >= 20080513
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0133, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0133, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0133, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0133, 24)
+#elif PACKETVER >= 20080311
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0133, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0133, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0133, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0133, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0133, -1)
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20081217
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0134, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0134, 282)
+#elif PACKETVER >= 20081119
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0134, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0134, 15)
+#elif PACKETVER >= 20081022
+packetLen(0x0134, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0134, 29)
+#elif PACKETVER >= 20081001
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0134, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0134, 21)
+#elif PACKETVER >= 20080910
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0134, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x0134, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0134, 39)
+#elif PACKETVER >= 20080722
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0134, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0134, 29)
+#elif PACKETVER >= 20080617
+packetLen(0x0134, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0134, 67)
+#elif PACKETVER >= 20080603
+packetLen(0x0134, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0134, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0134, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x0134, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0134, 71)
+#elif PACKETVER >= 20080408
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0134, 28)
+#elif PACKETVER >= 20080325
+packetLen(0x0134, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x0134, 20)
+#elif PACKETVER >= 20080311
+packetLen(0x0134, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0134, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0134, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0134, -1)
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20081112
+packetLen(0x0135, 7)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0135, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0135, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0135, 114)
+#elif PACKETVER >= 20080917
+packetLen(0x0135, 12)
+#elif PACKETVER >= 20080910
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0135, 22)
+#elif PACKETVER >= 20080827
+packetLen(0x0135, 16)
+#elif PACKETVER >= 20080820
+packetLen(0x0135, 71)
+#elif PACKETVER >= 20080813
+packetLen(0x0135, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0135, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0135, 13)
+#elif PACKETVER >= 20080610
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0135, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0135, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0135, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0135, 29)
+#elif PACKETVER >= 20080422
+packetLen(0x0135, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0135, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0135, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0135, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0135, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0135, 65)
+#elif PACKETVER >= 20080124
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0135, 7)
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20081217
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0136, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0136, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0136, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0136, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0136, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x0136, 19)
+#elif PACKETVER >= 20080708
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0136, 54)
+#elif PACKETVER >= 20080624
+packetLen(0x0136, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0136, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0136, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0136, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x0136, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x0136, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0136, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0136, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0136, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0136, -1)
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20081217
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0137, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0137, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0137, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0137, 29)
+#elif PACKETVER >= 20080813
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0137, 17)
+#elif PACKETVER >= 20080722
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0137, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0137, 71)
+#elif PACKETVER >= 20080610
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0137, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0137, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x0137, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x0137, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0137, 32)
+#elif PACKETVER >= 20080318
+packetLen(0x0137, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x0137, 86)
+#elif PACKETVER >= 20080226
+packetLen(0x0137, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0137, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0137, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0137, 6)
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+#if PACKETVER >= 20081203
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0139, 18)
+#elif PACKETVER >= 20081112
+packetLen(0x0139, 16)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0139, 67)
+#elif PACKETVER >= 20081015
+packetLen(0x0139, 18)
+#elif PACKETVER >= 20081008
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0139, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0139, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0139, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0139, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0139, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0139, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0139, 12)
+#elif PACKETVER >= 20080701
+packetLen(0x0139, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0139, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0139, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0139, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0139, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x0139, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x0139, 29)
+#elif PACKETVER >= 20080415
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0139, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0139, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0139, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0139, 31)
+#elif PACKETVER >= 20080304
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0139, 81)
+#elif PACKETVER >= 20080219
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0139, 16)
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20081119
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x013a, 39)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013a, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x013a, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x013a, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x013a, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x013a, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x013a, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x013a, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x013a, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x013a, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x013a, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x013a, 43)
+#elif PACKETVER >= 20080715
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x013a, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x013a, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x013a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x013a, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x013a, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x013a, 182)
+#elif PACKETVER >= 20080429
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x013a, 55)
+#elif PACKETVER >= 20080401
+packetLen(0x013a, 12)
+#elif PACKETVER >= 20080325
+packetLen(0x013a, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013a, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x013a, 58)
+#elif PACKETVER >= 20080124
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013a, 4)
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20081119
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x013b, 33)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x013b, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x013b, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x013b, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x013b, 65)
+#elif PACKETVER >= 20080715
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x013b, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x013b, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x013b, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x013b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x013b, 18)
+#elif PACKETVER >= 20080507
+packetLen(0x013b, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x013b, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x013b, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x013b, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x013b, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x013b, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x013b, 16)
+#elif PACKETVER >= 20080124
+packetLen(0x013b, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x013b, 4)
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20081203
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x013c, 16)
+#elif PACKETVER >= 20081112
+packetLen(0x013c, 4)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x013c, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x013c, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x013c, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x013c, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x013c, 23)
+#elif PACKETVER >= 20080806
+packetLen(0x013c, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x013c, 12)
+#elif PACKETVER >= 20080722
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x013c, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x013c, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x013c, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x013c, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x013c, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x013c, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x013c, 33)
+#elif PACKETVER >= 20080415
+packetLen(0x013c, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x013c, 12)
+#elif PACKETVER >= 20080325
+packetLen(0x013c, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013c, 66)
+#elif PACKETVER >= 20080226
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x013c, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x013c, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x013c, 4)
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20081126
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x013d, 79)
+#elif PACKETVER >= 20081112
+packetLen(0x013d, 13)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x013d, 53)
+#elif PACKETVER >= 20080924
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x013d, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x013d, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x013d, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x013d, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x013d, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x013d, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x013d, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x013d, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x013d, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x013d, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013d, 6)
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20081217
+packetLen(0x013e, 182)
+#elif PACKETVER >= 20081203
+packetLen(0x013e, 186)
+#elif PACKETVER >= 20081126
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x013e, 32)
+#elif PACKETVER >= 20081112
+packetLen(0x013e, 68)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x013e, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x013e, 32)
+#elif PACKETVER >= 20080722
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x013e, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x013e, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x013e, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x013e, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x013e, 21)
+#elif PACKETVER >= 20080429
+packetLen(0x013e, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x013e, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x013e, 15)
+#elif PACKETVER >= 20080318
+packetLen(0x013e, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x013e, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x013e, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x013e, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013e, 24)
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20081217
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x013f, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x013f, 26)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x013f, 29)
+#elif PACKETVER >= 20081015
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x013f, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x013f, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x013f, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x013f, 29)
+#elif PACKETVER >= 20080722
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x013f, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x013f, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x013f, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x013f, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x013f, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x013f, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x013f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x013f, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x013f, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x013f, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x013f, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x013f, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x013f, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x013f, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x013f, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x013f, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x013f, 58)
+#elif PACKETVER >= 20080124
+packetLen(0x013f, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x013f, 26)
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20081119
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0140, 22)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0140, 28)
+#elif PACKETVER >= 20081029
+packetLen(0x0140, 18)
+#elif PACKETVER >= 20081008
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0140, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0140, 12)
+#elif PACKETVER >= 20080910
+packetLen(0x0140, 60)
+#elif PACKETVER >= 20080903
+packetLen(0x0140, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0140, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0140, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x0140, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0140, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0140, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0140, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0140, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0140, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0140, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x0140, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0140, 53)
+#elif PACKETVER >= 20080401
+packetLen(0x0140, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0140, 27)
+#elif PACKETVER >= 20080318
+packetLen(0x0140, 33)
+#elif PACKETVER >= 20080311
+packetLen(0x0140, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0140, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0140, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0140, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0140, 22)
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20081217
+packetLen(0x0141, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0141, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0141, 57)
+#elif PACKETVER >= 20081029
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0141, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0141, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0141, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0141, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0141, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0141, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x0141, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0141, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x0141, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0141, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0141, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0141, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0141, 18)
+#elif PACKETVER >= 20080520
+packetLen(0x0141, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0141, 60)
+#elif PACKETVER >= 20080422
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0141, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0141, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0141, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0141, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x0141, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0141, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0141, 35)
+#elif PACKETVER >= 20080102
+packetLen(0x0141, 14)
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20081203
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0142, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0142, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0142, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0142, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0142, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0142, 43)
+#elif PACKETVER >= 20080827
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0142, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0142, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x0142, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0142, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0142, 32)
+#elif PACKETVER >= 20080603
+packetLen(0x0142, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0142, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0142, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0142, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0142, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x0142, 67)
+#elif PACKETVER >= 20080318
+packetLen(0x0142, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0142, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0142, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0142, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0142, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0142, 6)
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20081112
+packetLen(0x0143, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0143, 22)
+#elif PACKETVER >= 20081015
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0143, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0143, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0143, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x0143, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0143, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0143, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0143, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x0143, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0143, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0143, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0143, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0143, 97)
+#elif PACKETVER >= 20080507
+packetLen(0x0143, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0143, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0143, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0143, 53)
+#elif PACKETVER >= 20080401
+packetLen(0x0143, 27)
+#elif PACKETVER >= 20080325
+packetLen(0x0143, 28)
+#elif PACKETVER >= 20080318
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0143, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0143, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0143, 67)
+#elif PACKETVER >= 20080102
+packetLen(0x0143, 10)
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20081203
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0144, 23)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0144, 53)
+#elif PACKETVER >= 20081029
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0144, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0144, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0144, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0144, 68)
+#elif PACKETVER >= 20080730
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0144, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0144, 81)
+#elif PACKETVER >= 20080603
+packetLen(0x0144, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0144, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0144, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0144, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0144, 65)
+#elif PACKETVER >= 20080325
+packetLen(0x0144, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0144, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0144, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0144, 23)
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+#if PACKETVER >= 20081203
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0146, 60)
+#elif PACKETVER >= 20081119
+packetLen(0x0146, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x0146, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0146, 20)
+#elif PACKETVER >= 20081001
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0146, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0146, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0146, 282)
+#elif PACKETVER >= 20080722
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0146, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x0146, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0146, 23)
+#elif PACKETVER >= 20080610
+packetLen(0x0146, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0146, 65)
+#elif PACKETVER >= 20080422
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0146, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0146, 42)
+#elif PACKETVER >= 20080311
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0146, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x0146, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0146, 6)
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20081217
+packetLen(0x0147, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0147, 31)
+#elif PACKETVER >= 20081112
+packetLen(0x0147, 39)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0147, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0147, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0147, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0147, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0147, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0147, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0147, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0147, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0147, 18)
+#elif PACKETVER >= 20080610
+packetLen(0x0147, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0147, 114)
+#elif PACKETVER >= 20080513
+packetLen(0x0147, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x0147, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0147, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0147, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0147, 90)
+#elif PACKETVER >= 20080311
+packetLen(0x0147, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0147, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x0147, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0147, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0147, 39)
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20081126
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0148, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0148, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0148, 81)
+#elif PACKETVER >= 20080924
+packetLen(0x0148, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0148, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x0148, 54)
+#elif PACKETVER >= 20080715
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0148, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x0148, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0148, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0148, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0148, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x0148, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0148, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0148, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0148, 8)
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20081126
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0149, 18)
+#elif PACKETVER >= 20081112
+packetLen(0x0149, 9)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0149, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0149, 58)
+#elif PACKETVER >= 20081001
+packetLen(0x0149, 35)
+#elif PACKETVER >= 20080917
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0149, 20)
+#elif PACKETVER >= 20080903
+packetLen(0x0149, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0149, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0149, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0149, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0149, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0149, 71)
+#elif PACKETVER >= 20080429
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0149, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x0149, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0149, 17)
+#elif PACKETVER >= 20080401
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0149, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0149, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0149, 53)
+#elif PACKETVER >= 20080124
+packetLen(0x0149, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0149, 9)
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+#if PACKETVER >= 20081217
+packetLen(0x014c, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x014c, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x014c, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x014c, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x014c, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x014c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x014c, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x014c, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x014c, 35)
+#elif PACKETVER >= 20080715
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x014c, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x014c, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x014c, 17)
+#elif PACKETVER >= 20080610
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x014c, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x014c, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x014c, 55)
+#elif PACKETVER >= 20080325
+packetLen(0x014c, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x014c, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x014c, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x014c, -1)
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20081217
+packetLen(0x014d, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x014d, 27)
+#elif PACKETVER >= 20081112
+packetLen(0x014d, 2)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x014d, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x014d, 65)
+#elif PACKETVER >= 20081015
+packetLen(0x014d, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x014d, 282)
+#elif PACKETVER >= 20080917
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x014d, 26)
+#elif PACKETVER >= 20080903
+packetLen(0x014d, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x014d, 27)
+#elif PACKETVER >= 20080813
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x014d, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x014d, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x014d, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x014d, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x014d, 282)
+#elif PACKETVER >= 20080513
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x014d, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x014d, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x014d, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x014d, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x014d, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x014d, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x014d, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x014d, 2)
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+#if PACKETVER >= 20081217
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x014f, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x014f, 16)
+#elif PACKETVER >= 20080917
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x014f, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x014f, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x014f, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x014f, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x014f, 23)
+#elif PACKETVER >= 20080422
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x014f, 58)
+#elif PACKETVER >= 20080325
+packetLen(0x014f, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x014f, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x014f, 97)
+#elif PACKETVER >= 20080219
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x014f, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x014f, 6)
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+#if PACKETVER >= 20081217
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0154, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0154, 282)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0154, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0154, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0154, 27)
+#elif PACKETVER >= 20080820
+packetLen(0x0154, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0154, 186)
+#elif PACKETVER >= 20080722
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0154, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0154, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0154, 13)
+#elif PACKETVER >= 20080603
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0154, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0154, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0154, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0154, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0154, 39)
+#elif PACKETVER >= 20080325
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0154, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0154, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0154, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0154, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0154, -1)
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20081217
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0155, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0155, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0155, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x0155, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0155, 81)
+#elif PACKETVER >= 20081001
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0155, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0155, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0155, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0155, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x0155, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0155, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0155, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0155, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0155, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x0155, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0155, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0155, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0155, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0155, 66)
+#elif PACKETVER >= 20080219
+packetLen(0x0155, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0155, -1)
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0158
+packetLen(0x0158, -1)
+
+// Packet: 0x0159
+#if PACKETVER >= 20081217
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0159, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0159, 54)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0159, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0159, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0159, 44)
+#elif PACKETVER >= 20080910
+packetLen(0x0159, 39)
+#elif PACKETVER >= 20080903
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0159, 79)
+#elif PACKETVER >= 20080820
+packetLen(0x0159, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0159, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0159, 54)
+#elif PACKETVER >= 20080722
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0159, 65)
+#elif PACKETVER >= 20080708
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0159, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x0159, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0159, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0159, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0159, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x0159, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0159, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0159, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0159, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0159, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x0159, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0159, 186)
+#elif PACKETVER >= 20080219
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0159, 33)
+#elif PACKETVER >= 20080102
+packetLen(0x0159, 54)
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20081217
+packetLen(0x015a, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x015a, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x015a, 66)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x015a, 30)
+#elif PACKETVER >= 20081022
+packetLen(0x015a, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x015a, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x015a, 28)
+#elif PACKETVER >= 20080806
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x015a, 24)
+#elif PACKETVER >= 20080603
+packetLen(0x015a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x015a, 31)
+#elif PACKETVER >= 20080520
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x015a, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x015a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x015a, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x015a, 23)
+#elif PACKETVER >= 20080325
+packetLen(0x015a, 33)
+#elif PACKETVER >= 20080318
+packetLen(0x015a, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x015a, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x015a, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x015a, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x015a, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x015a, 66)
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20081217
+packetLen(0x015b, 11)
+#elif PACKETVER >= 20081203
+packetLen(0x015b, 60)
+#elif PACKETVER >= 20081126
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20081119
+packetLen(0x015b, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x015b, 54)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x015b, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x015b, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x015b, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x015b, 43)
+#elif PACKETVER >= 20080813
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x015b, 15)
+#elif PACKETVER >= 20080715
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x015b, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x015b, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x015b, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x015b, 59)
+#elif PACKETVER >= 20080513
+packetLen(0x015b, 79)
+#elif PACKETVER >= 20080507
+packetLen(0x015b, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x015b, 97)
+#elif PACKETVER >= 20080408
+packetLen(0x015b, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x015b, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x015b, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x015b, 24)
+#elif PACKETVER >= 20080311
+packetLen(0x015b, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x015b, 33)
+#elif PACKETVER >= 20080226
+packetLen(0x015b, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x015b, 54)
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20081217
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x015c, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x015c, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x015c, 90)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x015c, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x015c, 27)
+#elif PACKETVER >= 20081015
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x015c, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x015c, 23)
+#elif PACKETVER >= 20080903
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x015c, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x015c, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x015c, 27)
+#elif PACKETVER >= 20080715
+packetLen(0x015c, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x015c, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x015c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x015c, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x015c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x015c, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x015c, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x015c, 18)
+#elif PACKETVER >= 20080318
+packetLen(0x015c, 57)
+#elif PACKETVER >= 20080311
+packetLen(0x015c, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x015c, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x015c, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x015c, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x015c, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x015c, 90)
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+#if PACKETVER >= 20081112
+packetLen(0x015e, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x015e, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x015e, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x015e, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x015e, 32)
+#elif PACKETVER >= 20080910
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x015e, 24)
+#elif PACKETVER >= 20080827
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x015e, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x015e, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x015e, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x015e, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x015e, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x015e, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x015e, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x015e, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x015e, 32)
+#elif PACKETVER >= 20080408
+packetLen(0x015e, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x015e, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x015e, 15)
+#elif PACKETVER >= 20080318
+packetLen(0x015e, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x015e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x015e, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x015e, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x015e, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x015e, 6)
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+#if PACKETVER >= 20081217
+packetLen(0x0160, 37)
+#elif PACKETVER >= 20081203
+packetLen(0x0160, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0160, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0160, 102)
+#elif PACKETVER >= 20080917
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0160, 67)
+#elif PACKETVER >= 20080806
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0160, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0160, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x0160, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x0160, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0160, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x0160, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0160, 186)
+#elif PACKETVER >= 20080528
+packetLen(0x0160, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x0160, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0160, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0160, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0160, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0160, 102)
+#elif PACKETVER >= 20080124
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0160, -1)
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20081126
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0161, 67)
+#elif PACKETVER >= 20081112
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0161, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0161, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0161, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0161, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0161, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0161, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0161, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x0161, 39)
+#elif PACKETVER >= 20080701
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0161, 16)
+#elif PACKETVER >= 20080617
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0161, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0161, 16)
+#elif PACKETVER >= 20080528
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0161, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0161, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0161, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0161, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0161, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x0161, 21)
+#elif PACKETVER >= 20080219
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0161, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0161, -1)
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20081119
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0162, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0162, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0162, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0162, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0162, 79)
+#elif PACKETVER >= 20080806
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0162, 44)
+#elif PACKETVER >= 20080708
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0162, 81)
+#elif PACKETVER >= 20080624
+packetLen(0x0162, 23)
+#elif PACKETVER >= 20080617
+packetLen(0x0162, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x0162, 18)
+#elif PACKETVER >= 20080603
+packetLen(0x0162, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0162, 66)
+#elif PACKETVER >= 20080520
+packetLen(0x0162, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0162, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0162, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0162, 13)
+#elif PACKETVER >= 20080415
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0162, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0162, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0162, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x0162, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0162, -1)
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20081203
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0163, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0163, 86)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0163, 28)
+#elif PACKETVER >= 20081029
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0163, 54)
+#elif PACKETVER >= 20081015
+packetLen(0x0163, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0163, 282)
+#elif PACKETVER >= 20080910
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0163, 20)
+#elif PACKETVER >= 20080820
+packetLen(0x0163, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0163, 114)
+#elif PACKETVER >= 20080722
+packetLen(0x0163, 71)
+#elif PACKETVER >= 20080715
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0163, 44)
+#elif PACKETVER >= 20080528
+packetLen(0x0163, 68)
+#elif PACKETVER >= 20080520
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0163, 42)
+#elif PACKETVER >= 20080507
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0163, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0163, 86)
+#elif PACKETVER >= 20080415
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0163, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0163, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0163, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0163, -1)
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+#if PACKETVER >= 20081203
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0165, 21)
+#elif PACKETVER >= 20081119
+packetLen(0x0165, 17)
+#elif PACKETVER >= 20081112
+packetLen(0x0165, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0165, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0165, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0165, 39)
+#elif PACKETVER >= 20080820
+packetLen(0x0165, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0165, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0165, 54)
+#elif PACKETVER >= 20080617
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0165, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0165, 114)
+#elif PACKETVER >= 20080507
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0165, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0165, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x0165, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0165, 182)
+#elif PACKETVER >= 20080401
+packetLen(0x0165, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0165, 97)
+#elif PACKETVER >= 20080318
+packetLen(0x0165, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0165, 102)
+#elif PACKETVER >= 20080304
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0165, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0165, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x0165, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0165, 30)
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20081217
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0166, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0166, 114)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0166, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0166, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0166, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x0166, 13)
+#elif PACKETVER >= 20080820
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0166, 14)
+#elif PACKETVER >= 20080806
+packetLen(0x0166, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0166, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0166, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x0166, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0166, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x0166, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0166, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0166, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0166, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0166, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0166, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0166, 68)
+#elif PACKETVER >= 20080311
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0166, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0166, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x0166, -1)
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20081217
+packetLen(0x0167, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x0167, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0167, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0167, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x0167, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x0167, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0167, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0167, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0167, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0167, 9)
+#elif PACKETVER >= 20080603
+packetLen(0x0167, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0167, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0167, 86)
+#elif PACKETVER >= 20080513
+packetLen(0x0167, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0167, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0167, 42)
+#elif PACKETVER >= 20080415
+packetLen(0x0167, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0167, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0167, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0167, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0167, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0167, 71)
+#elif PACKETVER >= 20080219
+packetLen(0x0167, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0167, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0167, 3)
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20081203
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0168, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x0168, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0168, 14)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0168, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0168, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0168, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0168, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0168, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0168, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0168, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0168, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0168, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0168, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0168, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0168, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0168, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0168, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0168, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0168, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0168, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0168, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0168, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0168, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0168, 14)
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20081217
+packetLen(0x0169, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0169, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0169, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0169, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0169, 39)
+#elif PACKETVER >= 20080924
+packetLen(0x0169, 53)
+#elif PACKETVER >= 20080917
+packetLen(0x0169, 19)
+#elif PACKETVER >= 20080827
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0169, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0169, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x0169, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x0169, 9)
+#elif PACKETVER >= 20080701
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0169, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0169, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0169, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0169, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0169, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0169, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0169, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0169, 3)
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20081217
+packetLen(0x016a, 5)
+#elif PACKETVER >= 20081203
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x016a, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x016a, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016a, 102)
+#elif PACKETVER >= 20081029
+packetLen(0x016a, 19)
+#elif PACKETVER >= 20081022
+packetLen(0x016a, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x016a, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x016a, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x016a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x016a, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x016a, 24)
+#elif PACKETVER >= 20080513
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x016a, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x016a, 97)
+#elif PACKETVER >= 20080401
+packetLen(0x016a, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x016a, 44)
+#elif PACKETVER >= 20080311
+packetLen(0x016a, 32)
+#elif PACKETVER >= 20080304
+packetLen(0x016a, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x016a, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x016a, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x016a, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x016a, 30)
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20081217
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x016b, 34)
+#elif PACKETVER >= 20081126
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x016b, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016b, 43)
+#elif PACKETVER >= 20080924
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x016b, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x016b, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x016b, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x016b, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x016b, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x016b, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x016b, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x016b, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x016b, 27)
+#elif PACKETVER >= 20080318
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x016b, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x016b, 20)
+#elif PACKETVER >= 20080226
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x016b, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x016b, 10)
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20081217
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x016c, 43)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016c, 29)
+#elif PACKETVER >= 20081008
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x016c, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x016c, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x016c, 14)
+#elif PACKETVER >= 20080806
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x016c, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x016c, 18)
+#elif PACKETVER >= 20080715
+packetLen(0x016c, 90)
+#elif PACKETVER >= 20080708
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x016c, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x016c, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x016c, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x016c, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x016c, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x016c, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x016c, 57)
+#elif PACKETVER >= 20080422
+packetLen(0x016c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x016c, 32)
+#elif PACKETVER >= 20080318
+packetLen(0x016c, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x016c, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x016c, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x016c, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x016c, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x016c, 43)
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20081217
+packetLen(0x016d, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x016d, 14)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016d, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x016d, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x016d, 15)
+#elif PACKETVER >= 20081001
+packetLen(0x016d, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x016d, 97)
+#elif PACKETVER >= 20080827
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x016d, 67)
+#elif PACKETVER >= 20080813
+packetLen(0x016d, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x016d, 20)
+#elif PACKETVER >= 20080715
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x016d, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x016d, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x016d, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x016d, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x016d, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x016d, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x016d, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x016d, 19)
+#elif PACKETVER >= 20080311
+packetLen(0x016d, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x016d, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x016d, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x016d, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x016d, 14)
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20081217
+packetLen(0x016e, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x016e, 186)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016e, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x016e, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x016e, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x016e, 39)
+#elif PACKETVER >= 20081001
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x016e, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x016e, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x016e, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x016e, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x016e, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x016e, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x016e, 39)
+#elif PACKETVER >= 20080520
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x016e, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x016e, 186)
+#elif PACKETVER >= 20080415
+packetLen(0x016e, 42)
+#elif PACKETVER >= 20080401
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x016e, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x016e, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x016e, 186)
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20081217
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x016f, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x016f, 32)
+#elif PACKETVER >= 20081112
+packetLen(0x016f, 182)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x016f, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x016f, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x016f, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x016f, 43)
+#elif PACKETVER >= 20080903
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x016f, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x016f, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x016f, 81)
+#elif PACKETVER >= 20080715
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x016f, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x016f, 44)
+#elif PACKETVER >= 20080624
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x016f, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x016f, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x016f, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x016f, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x016f, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x016f, 22)
+#elif PACKETVER >= 20080318
+packetLen(0x016f, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x016f, 182)
+#elif PACKETVER >= 20080304
+packetLen(0x016f, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x016f, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x016f, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x016f, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x016f, 182)
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20081217
+packetLen(0x0170, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0170, 44)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0170, 19)
+#elif PACKETVER >= 20081015
+packetLen(0x0170, 23)
+#elif PACKETVER >= 20081008
+packetLen(0x0170, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0170, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x0170, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0170, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0170, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0170, 17)
+#elif PACKETVER >= 20080715
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0170, 20)
+#elif PACKETVER >= 20080528
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0170, 102)
+#elif PACKETVER >= 20080429
+packetLen(0x0170, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0170, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0170, 22)
+#elif PACKETVER >= 20080401
+packetLen(0x0170, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x0170, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0170, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0170, 81)
+#elif PACKETVER >= 20080226
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x0170, 60)
+#elif PACKETVER >= 20080124
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0170, 14)
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20081217
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0171, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0171, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0171, 17)
+#elif PACKETVER >= 20081001
+packetLen(0x0171, 282)
+#elif PACKETVER >= 20080924
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0171, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0171, 282)
+#elif PACKETVER >= 20080813
+packetLen(0x0171, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0171, 58)
+#elif PACKETVER >= 20080708
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0171, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0171, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0171, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0171, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0171, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0171, 23)
+#elif PACKETVER >= 20080325
+packetLen(0x0171, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0171, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0171, 67)
+#elif PACKETVER >= 20080219
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0171, 30)
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20081217
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0172, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x0172, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x0172, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0172, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0172, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0172, 102)
+#elif PACKETVER >= 20080624
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0172, 102)
+#elif PACKETVER >= 20080610
+packetLen(0x0172, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0172, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0172, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0172, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0172, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0172, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0172, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0172, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0172, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0172, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x0172, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x0172, 10)
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+#if PACKETVER >= 20081126
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0177, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0177, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0177, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0177, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0177, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x0177, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0177, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0177, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0177, 182)
+#elif PACKETVER >= 20080820
+packetLen(0x0177, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0177, 71)
+#elif PACKETVER >= 20080730
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0177, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0177, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0177, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0177, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0177, 31)
+#elif PACKETVER >= 20080603
+packetLen(0x0177, 58)
+#elif PACKETVER >= 20080528
+packetLen(0x0177, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0177, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x0177, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0177, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x0177, 114)
+#elif PACKETVER >= 20080408
+packetLen(0x0177, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0177, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0177, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0177, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x0177, 34)
+#elif PACKETVER >= 20080226
+packetLen(0x0177, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0177, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x0177, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0177, -1)
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20081112
+packetLen(0x0178, 4)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0178, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0178, 90)
+#elif PACKETVER >= 20080806
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0178, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0178, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x0178, 55)
+#elif PACKETVER >= 20080624
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0178, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0178, 33)
+#elif PACKETVER >= 20080520
+packetLen(0x0178, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0178, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0178, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0178, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0178, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0178, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x0178, 68)
+#elif PACKETVER >= 20080102
+packetLen(0x0178, 4)
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20081217
+packetLen(0x0179, 53)
+#elif PACKETVER >= 20081203
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0179, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x0179, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0179, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0179, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0179, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0179, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0179, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x0179, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0179, 60)
+#elif PACKETVER >= 20080820
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0179, 102)
+#elif PACKETVER >= 20080806
+packetLen(0x0179, 28)
+#elif PACKETVER >= 20080730
+packetLen(0x0179, 27)
+#elif PACKETVER >= 20080722
+packetLen(0x0179, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0179, 29)
+#elif PACKETVER >= 20080708
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0179, 59)
+#elif PACKETVER >= 20080624
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0179, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0179, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x0179, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0179, 43)
+#elif PACKETVER >= 20080429
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0179, 55)
+#elif PACKETVER >= 20080415
+packetLen(0x0179, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0179, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0179, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0179, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0179, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0179, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0179, 5)
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20081217
+packetLen(0x017a, 24)
+#elif PACKETVER >= 20081203
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x017a, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x017a, 4)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017a, 71)
+#elif PACKETVER >= 20081022
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x017a, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x017a, 66)
+#elif PACKETVER >= 20080730
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x017a, 22)
+#elif PACKETVER >= 20080708
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x017a, 29)
+#elif PACKETVER >= 20080610
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x017a, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x017a, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x017a, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x017a, 31)
+#elif PACKETVER >= 20080325
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x017a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x017a, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x017a, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x017a, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x017a, 4)
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20081217
+packetLen(0x017b, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x017b, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x017b, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x017b, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x017b, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x017b, 32)
+#elif PACKETVER >= 20080827
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x017b, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x017b, 282)
+#elif PACKETVER >= 20080730
+packetLen(0x017b, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x017b, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x017b, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x017b, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x017b, 68)
+#elif PACKETVER >= 20080513
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x017b, 53)
+#elif PACKETVER >= 20080429
+packetLen(0x017b, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x017b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x017b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x017b, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x017b, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x017b, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x017b, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x017b, 18)
+#elif PACKETVER >= 20080124
+packetLen(0x017b, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x017b, -1)
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20081119
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x017c, 79)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017c, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x017c, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x017c, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x017c, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x017c, 54)
+#elif PACKETVER >= 20080903
+packetLen(0x017c, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x017c, 12)
+#elif PACKETVER >= 20080730
+packetLen(0x017c, 102)
+#elif PACKETVER >= 20080715
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x017c, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x017c, 55)
+#elif PACKETVER >= 20080617
+packetLen(0x017c, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x017c, 21)
+#elif PACKETVER >= 20080520
+packetLen(0x017c, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x017c, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x017c, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x017c, 6)
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20081217
+packetLen(0x017d, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x017d, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x017d, 7)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x017d, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x017d, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x017d, 16)
+#elif PACKETVER >= 20081008
+packetLen(0x017d, 53)
+#elif PACKETVER >= 20081001
+packetLen(0x017d, 71)
+#elif PACKETVER >= 20080910
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x017d, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x017d, 18)
+#elif PACKETVER >= 20080813
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x017d, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x017d, 97)
+#elif PACKETVER >= 20080715
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x017d, 31)
+#elif PACKETVER >= 20080701
+packetLen(0x017d, 33)
+#elif PACKETVER >= 20080610
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x017d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x017d, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x017d, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x017d, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x017d, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x017d, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x017d, 34)
+#elif PACKETVER >= 20080304
+packetLen(0x017d, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x017d, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x017d, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x017d, 7)
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20081217
+packetLen(0x017e, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x017e, 282)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x017e, 67)
+#elif PACKETVER >= 20081022
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x017e, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x017e, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x017e, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x017e, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x017e, 32)
+#elif PACKETVER >= 20080827
+packetLen(0x017e, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x017e, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x017e, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x017e, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x017e, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x017e, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x017e, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x017e, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x017e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x017e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x017e, 29)
+#elif PACKETVER >= 20080520
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x017e, 32)
+#elif PACKETVER >= 20080429
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x017e, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x017e, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x017e, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x017e, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x017e, 31)
+#elif PACKETVER >= 20080304
+packetLen(0x017e, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x017e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x017e, 28)
+#elif PACKETVER >= 20080124
+packetLen(0x017e, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x017e, -1)
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20081217
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x017f, 54)
+#elif PACKETVER >= 20081126
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x017f, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x017f, 20)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x017f, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x017f, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x017f, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x017f, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x017f, 282)
+#elif PACKETVER >= 20080715
+packetLen(0x017f, 53)
+#elif PACKETVER >= 20080708
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x017f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x017f, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x017f, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x017f, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x017f, 20)
+#elif PACKETVER >= 20080401
+packetLen(0x017f, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x017f, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x017f, 35)
+#elif PACKETVER >= 20080304
+packetLen(0x017f, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x017f, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20081126
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0188, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0188, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0188, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0188, 67)
+#elif PACKETVER >= 20081001
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0188, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0188, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0188, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0188, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0188, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0188, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0188, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x0188, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0188, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0188, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0188, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0188, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x0188, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0188, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x0188, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0188, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0188, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x0188, 27)
+#elif PACKETVER >= 20080124
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0188, 8)
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20081217
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0189, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0189, 9)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0189, 90)
+#elif PACKETVER >= 20080917
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0189, 16)
+#elif PACKETVER >= 20080903
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0189, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0189, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0189, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0189, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0189, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x0189, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0189, 55)
+#elif PACKETVER >= 20080610
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0189, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0189, 24)
+#elif PACKETVER >= 20080520
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0189, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0189, 58)
+#elif PACKETVER >= 20080401
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0189, 31)
+#elif PACKETVER >= 20080318
+packetLen(0x0189, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0189, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0189, 17)
+#elif PACKETVER >= 20080219
+packetLen(0x0189, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0189, 4)
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20081217
+packetLen(0x018a, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x018a, 4)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x018a, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x018a, 186)
+#elif PACKETVER >= 20080910
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x018a, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x018a, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x018a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x018a, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x018a, 18)
+#elif PACKETVER >= 20080610
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x018a, 32)
+#elif PACKETVER >= 20080325
+packetLen(0x018a, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x018a, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x018a, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x018a, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x018a, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x018a, 4)
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20081203
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x018b, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x018b, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x018b, 4)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x018b, 18)
+#elif PACKETVER >= 20081029
+packetLen(0x018b, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x018b, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x018b, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x018b, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x018b, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x018b, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x018b, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x018b, 65)
+#elif PACKETVER >= 20080701
+packetLen(0x018b, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x018b, 182)
+#elif PACKETVER >= 20080528
+packetLen(0x018b, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x018b, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x018b, 102)
+#elif PACKETVER >= 20080408
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x018b, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x018b, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x018b, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x018b, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x018b, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x018b, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x018b, 4)
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20081217
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x018c, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x018c, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x018c, 29)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x018c, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x018c, 33)
+#elif PACKETVER >= 20081022
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x018c, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x018c, 58)
+#elif PACKETVER >= 20081001
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x018c, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x018c, 33)
+#elif PACKETVER >= 20080910
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x018c, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x018c, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x018c, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x018c, 59)
+#elif PACKETVER >= 20080708
+packetLen(0x018c, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x018c, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x018c, 31)
+#elif PACKETVER >= 20080610
+packetLen(0x018c, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x018c, 102)
+#elif PACKETVER >= 20080513
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x018c, 21)
+#elif PACKETVER >= 20080401
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x018c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x018c, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x018c, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x018c, 29)
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20081203
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x018d, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x018d, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x018d, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x018d, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x018d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x018d, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x018d, 65)
+#elif PACKETVER >= 20080603
+packetLen(0x018d, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x018d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x018d, 59)
+#elif PACKETVER >= 20080415
+packetLen(0x018d, 79)
+#elif PACKETVER >= 20080408
+packetLen(0x018d, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x018d, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x018d, 39)
+#elif PACKETVER >= 20080226
+packetLen(0x018d, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x018d, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x018d, -1)
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20081217
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x018e, 71)
+#elif PACKETVER >= 20081126
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x018e, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x018e, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x018e, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x018e, 16)
+#elif PACKETVER >= 20080924
+packetLen(0x018e, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x018e, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x018e, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x018e, 58)
+#elif PACKETVER >= 20080730
+packetLen(0x018e, 23)
+#elif PACKETVER >= 20080722
+packetLen(0x018e, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x018e, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x018e, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x018e, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x018e, 59)
+#elif PACKETVER >= 20080603
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x018e, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x018e, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x018e, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x018e, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x018e, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x018e, 65)
+#elif PACKETVER >= 20080311
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x018e, 58)
+#elif PACKETVER >= 20080226
+packetLen(0x018e, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x018e, 39)
+#elif PACKETVER >= 20080124
+packetLen(0x018e, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x018e, 10)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20081217
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x018f, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x018f, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x018f, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x018f, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x018f, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x018f, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x018f, 18)
+#elif PACKETVER >= 20080806
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x018f, 32)
+#elif PACKETVER >= 20080722
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x018f, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x018f, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x018f, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x018f, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x018f, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x018f, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x018f, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x018f, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x018f, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x018f, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x018f, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x018f, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x018f, 6)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+#if PACKETVER >= 20081217
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0194, 30)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0194, 20)
+#elif PACKETVER >= 20081022
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0194, 114)
+#elif PACKETVER >= 20081008
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0194, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0194, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x0194, 13)
+#elif PACKETVER >= 20080730
+packetLen(0x0194, 182)
+#elif PACKETVER >= 20080722
+packetLen(0x0194, 15)
+#elif PACKETVER >= 20080715
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0194, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0194, 42)
+#elif PACKETVER >= 20080624
+packetLen(0x0194, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0194, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0194, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0194, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0194, 53)
+#elif PACKETVER >= 20080429
+packetLen(0x0194, 59)
+#elif PACKETVER >= 20080422
+packetLen(0x0194, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0194, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x0194, 21)
+#elif PACKETVER >= 20080401
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0194, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x0194, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0194, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0194, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x0194, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x0194, 30)
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20081217
+packetLen(0x0195, 29)
+#elif PACKETVER >= 20081203
+packetLen(0x0195, 23)
+#elif PACKETVER >= 20081112
+packetLen(0x0195, 102)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0195, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0195, 39)
+#elif PACKETVER >= 20080924
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0195, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0195, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x0195, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0195, 182)
+#elif PACKETVER >= 20080708
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0195, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0195, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0195, 31)
+#elif PACKETVER >= 20080422
+packetLen(0x0195, 66)
+#elif PACKETVER >= 20080415
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0195, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0195, 60)
+#elif PACKETVER >= 20080318
+packetLen(0x0195, 29)
+#elif PACKETVER >= 20080311
+packetLen(0x0195, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x0195, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x0195, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0195, 43)
+#elif PACKETVER >= 20080124
+packetLen(0x0195, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0195, 102)
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20081126
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0196, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0196, 9)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0196, 21)
+#elif PACKETVER >= 20081022
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0196, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0196, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x0196, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0196, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0196, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0196, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0196, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0196, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0196, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0196, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0196, 67)
+#elif PACKETVER >= 20080520
+packetLen(0x0196, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x0196, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0196, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0196, 31)
+#elif PACKETVER >= 20080415
+packetLen(0x0196, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x0196, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0196, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0196, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0196, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0196, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0196, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0196, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0196, 9)
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+#if PACKETVER >= 20081217
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0199, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0199, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0199, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0199, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x0199, 67)
+#elif PACKETVER >= 20081001
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0199, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0199, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0199, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0199, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0199, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x0199, 29)
+#elif PACKETVER >= 20080617
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0199, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0199, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x0199, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0199, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0199, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x0199, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0199, 44)
+#elif PACKETVER >= 20080318
+packetLen(0x0199, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0199, 17)
+#elif PACKETVER >= 20080304
+packetLen(0x0199, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0199, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0199, 4)
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20081217
+packetLen(0x019a, 17)
+#elif PACKETVER >= 20081126
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x019a, 23)
+#elif PACKETVER >= 20081112
+packetLen(0x019a, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x019a, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x019a, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x019a, 12)
+#elif PACKETVER >= 20080903
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x019a, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x019a, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x019a, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x019a, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x019a, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x019a, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x019a, 17)
+#elif PACKETVER >= 20080513
+packetLen(0x019a, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x019a, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x019a, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x019a, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x019a, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x019a, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x019a, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x019a, 35)
+#elif PACKETVER >= 20080226
+packetLen(0x019a, 42)
+#elif PACKETVER >= 20080219
+packetLen(0x019a, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x019a, 57)
+#elif PACKETVER >= 20080102
+packetLen(0x019a, 14)
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20081217
+packetLen(0x019b, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x019b, 28)
+#elif PACKETVER >= 20081126
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x019b, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x019b, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x019b, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x019b, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x019b, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x019b, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x019b, 39)
+#elif PACKETVER >= 20080813
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x019b, 81)
+#elif PACKETVER >= 20080730
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x019b, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x019b, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x019b, 29)
+#elif PACKETVER >= 20080624
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x019b, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x019b, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x019b, 18)
+#elif PACKETVER >= 20080513
+packetLen(0x019b, 68)
+#elif PACKETVER >= 20080507
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x019b, 17)
+#elif PACKETVER >= 20080415
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x019b, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x019b, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x019b, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x019b, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x019b, 65)
+#elif PACKETVER >= 20080219
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x019b, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x019b, 10)
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20081217
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x019c, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x019c, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x019c, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x019c, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x019c, 13)
+#elif PACKETVER >= 20080903
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x019c, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x019c, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x019c, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x019c, 29)
+#elif PACKETVER >= 20080617
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x019c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x019c, 55)
+#elif PACKETVER >= 20080520
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x019c, 81)
+#elif PACKETVER >= 20080507
+packetLen(0x019c, 18)
+#elif PACKETVER >= 20080429
+packetLen(0x019c, 79)
+#elif PACKETVER >= 20080422
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x019c, 54)
+#elif PACKETVER >= 20080325
+packetLen(0x019c, 23)
+#elif PACKETVER >= 20080318
+packetLen(0x019c, 43)
+#elif PACKETVER >= 20080311
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x019c, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x019c, 186)
+#elif PACKETVER >= 20080102
+packetLen(0x019c, -1)
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20081217
+packetLen(0x019d, 60)
+#elif PACKETVER >= 20081203
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x019d, 18)
+#elif PACKETVER >= 20081119
+packetLen(0x019d, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x019d, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x019d, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x019d, 15)
+#elif PACKETVER >= 20080924
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x019d, 23)
+#elif PACKETVER >= 20080910
+packetLen(0x019d, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x019d, 97)
+#elif PACKETVER >= 20080820
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x019d, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x019d, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x019d, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x019d, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x019d, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x019d, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x019d, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x019d, 18)
+#elif PACKETVER >= 20080408
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x019d, 68)
+#elif PACKETVER >= 20080325
+packetLen(0x019d, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x019d, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x019d, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x019d, 18)
+#elif PACKETVER >= 20080124
+packetLen(0x019d, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x019d, 6)
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+#if PACKETVER >= 20081203
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x019f, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x019f, 81)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x019f, 20)
+#elif PACKETVER >= 20081015
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x019f, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x019f, 28)
+#elif PACKETVER >= 20080903
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x019f, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x019f, 36)
+#elif PACKETVER >= 20080610
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x019f, 20)
+#elif PACKETVER >= 20080520
+packetLen(0x019f, 18)
+#elif PACKETVER >= 20080513
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x019f, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x019f, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x019f, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x019f, 34)
+#elif PACKETVER >= 20080318
+packetLen(0x019f, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x019f, 23)
+#elif PACKETVER >= 20080226
+packetLen(0x019f, 79)
+#elif PACKETVER >= 20080124
+packetLen(0x019f, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x019f, 6)
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20081217
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01a0, 42)
+#elif PACKETVER >= 20081126
+packetLen(0x01a0, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x01a0, 3)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01a0, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01a0, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01a0, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x01a0, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x01a0, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x01a0, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01a0, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x01a0, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01a0, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01a0, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a0, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x01a0, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x01a0, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01a0, 42)
+#elif PACKETVER >= 20080513
+packetLen(0x01a0, 24)
+#elif PACKETVER >= 20080507
+packetLen(0x01a0, 23)
+#elif PACKETVER >= 20080429
+packetLen(0x01a0, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01a0, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01a0, 17)
+#elif PACKETVER >= 20080311
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01a0, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x01a0, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01a0, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01a0, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x01a0, 3)
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20081112
+packetLen(0x01a1, 3)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a1, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01a1, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01a1, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x01a1, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01a1, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x01a1, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a1, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01a1, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x01a1, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01a1, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01a1, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x01a1, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x01a1, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x01a1, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x01a1, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01a1, 53)
+#elif PACKETVER >= 20080304
+packetLen(0x01a1, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01a1, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01a1, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01a1, 3)
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20081217
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x01a2, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x01a2, 35)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a2, 282)
+#elif PACKETVER >= 20081029
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01a2, 79)
+#elif PACKETVER >= 20081015
+packetLen(0x01a2, 34)
+#elif PACKETVER >= 20081008
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x01a2, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01a2, 21)
+#elif PACKETVER >= 20080827
+packetLen(0x01a2, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x01a2, 60)
+#elif PACKETVER >= 20080722
+packetLen(0x01a2, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x01a2, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01a2, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01a2, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x01a2, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01a2, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x01a2, 68)
+#elif PACKETVER >= 20080408
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01a2, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01a2, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a2, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x01a2, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01a2, 35)
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20081126
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01a3, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x01a3, 5)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01a3, 58)
+#elif PACKETVER >= 20081015
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01a3, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01a3, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01a3, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x01a3, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x01a3, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01a3, 28)
+#elif PACKETVER >= 20080722
+packetLen(0x01a3, 15)
+#elif PACKETVER >= 20080715
+packetLen(0x01a3, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01a3, 31)
+#elif PACKETVER >= 20080624
+packetLen(0x01a3, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01a3, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01a3, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01a3, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x01a3, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x01a3, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x01a3, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01a3, 32)
+#elif PACKETVER >= 20080304
+packetLen(0x01a3, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a3, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01a3, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01a3, 5)
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20081217
+packetLen(0x01a4, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x01a4, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01a4, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x01a4, 11)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01a4, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01a4, 22)
+#elif PACKETVER >= 20080806
+packetLen(0x01a4, 67)
+#elif PACKETVER >= 20080730
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x01a4, 16)
+#elif PACKETVER >= 20080715
+packetLen(0x01a4, 20)
+#elif PACKETVER >= 20080617
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a4, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01a4, 34)
+#elif PACKETVER >= 20080513
+packetLen(0x01a4, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x01a4, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01a4, 102)
+#elif PACKETVER >= 20080415
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01a4, 16)
+#elif PACKETVER >= 20080401
+packetLen(0x01a4, 36)
+#elif PACKETVER >= 20080325
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x01a4, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01a4, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080124
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01a4, 11)
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+#if PACKETVER >= 20081217
+packetLen(0x01a6, 58)
+#elif PACKETVER >= 20081203
+packetLen(0x01a6, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x01a6, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01a6, 39)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01a6, 58)
+#elif PACKETVER >= 20081029
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01a6, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x01a6, 12)
+#elif PACKETVER >= 20081008
+packetLen(0x01a6, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01a6, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x01a6, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01a6, 22)
+#elif PACKETVER >= 20080722
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01a6, 57)
+#elif PACKETVER >= 20080701
+packetLen(0x01a6, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a6, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x01a6, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x01a6, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01a6, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01a6, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01a6, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01a6, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x01a6, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01a6, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01a6, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x01a6, -1)
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20081217
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01a7, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x01a7, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01a7, 23)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01a7, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x01a7, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01a7, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01a7, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x01a7, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01a7, 29)
+#elif PACKETVER >= 20080730
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x01a7, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01a7, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01a7, 18)
+#elif PACKETVER >= 20080507
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01a7, 18)
+#elif PACKETVER >= 20080408
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01a7, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x01a7, 16)
+#elif PACKETVER >= 20080318
+packetLen(0x01a7, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a7, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01a7, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01a7, 4)
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+#if PACKETVER >= 20081203
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01aa, 29)
+#elif PACKETVER >= 20081112
+packetLen(0x01aa, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01aa, 29)
+#elif PACKETVER >= 20081029
+packetLen(0x01aa, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01aa, 12)
+#elif PACKETVER >= 20081001
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01aa, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x01aa, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x01aa, 282)
+#elif PACKETVER >= 20080806
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01aa, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01aa, 43)
+#elif PACKETVER >= 20080528
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01aa, 28)
+#elif PACKETVER >= 20080513
+packetLen(0x01aa, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01aa, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x01aa, 28)
+#elif PACKETVER >= 20080401
+packetLen(0x01aa, 7)
+#elif PACKETVER >= 20080318
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01aa, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x01aa, 67)
+#elif PACKETVER >= 20080219
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01aa, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x01aa, 10)
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20081217
+packetLen(0x01ab, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01ab, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x01ab, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ab, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01ab, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x01ab, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01ab, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01ab, 282)
+#elif PACKETVER >= 20080708
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x01ab, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ab, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x01ab, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01ab, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01ab, 35)
+#elif PACKETVER >= 20080408
+packetLen(0x01ab, 79)
+#elif PACKETVER >= 20080401
+packetLen(0x01ab, 18)
+#elif PACKETVER >= 20080325
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ab, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01ab, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01ab, 12)
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20081217
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01ac, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01ac, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01ac, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x01ac, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01ac, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01ac, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x01ac, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01ac, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01ac, 59)
+#elif PACKETVER >= 20080528
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x01ac, 44)
+#elif PACKETVER >= 20080507
+packetLen(0x01ac, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01ac, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x01ac, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01ac, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01ac, 97)
+#elif PACKETVER >= 20080311
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ac, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01ac, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01ac, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01ac, 17)
+#elif PACKETVER >= 20080102
+packetLen(0x01ac, 6)
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20081203
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01ad, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01ad, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01ad, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01ad, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01ad, 66)
+#elif PACKETVER >= 20080624
+packetLen(0x01ad, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ad, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x01ad, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01ad, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x01ad, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01ad, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x01ad, 39)
+#elif PACKETVER >= 20080318
+packetLen(0x01ad, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ad, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01ad, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x01ad, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01ad, -1)
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20081217
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x01ae, 55)
+#elif PACKETVER >= 20081126
+packetLen(0x01ae, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x01ae, 4)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x01ae, 26)
+#elif PACKETVER >= 20081015
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01ae, 22)
+#elif PACKETVER >= 20080827
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01ae, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01ae, 35)
+#elif PACKETVER >= 20080708
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01ae, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x01ae, 43)
+#elif PACKETVER >= 20080528
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ae, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01ae, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ae, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x01ae, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01ae, 4)
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+#if PACKETVER >= 20081203
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01b0, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01b0, 32)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01b0, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x01b0, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x01b0, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01b0, 53)
+#elif PACKETVER >= 20080715
+packetLen(0x01b0, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01b0, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01b0, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01b0, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01b0, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x01b0, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01b0, 16)
+#elif PACKETVER >= 20080318
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01b0, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01b0, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01b0, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01b0, 11)
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+#if PACKETVER >= 20081203
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01b2, 182)
+#elif PACKETVER >= 20081029
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01b2, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01b2, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01b2, 59)
+#elif PACKETVER >= 20080910
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01b2, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01b2, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01b2, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01b2, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x01b2, 57)
+#elif PACKETVER >= 20080528
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01b2, 54)
+#elif PACKETVER >= 20080507
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01b2, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01b2, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01b2, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01b2, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01b2, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x01b2, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01b2, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x01b2, -1)
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20081203
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01b3, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x01b3, 67)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01b3, 36)
+#elif PACKETVER >= 20081022
+packetLen(0x01b3, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01b3, 22)
+#elif PACKETVER >= 20080924
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01b3, 16)
+#elif PACKETVER >= 20080820
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01b3, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01b3, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x01b3, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x01b3, 71)
+#elif PACKETVER >= 20080513
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01b3, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x01b3, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01b3, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01b3, 33)
+#elif PACKETVER >= 20080311
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01b3, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01b3, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x01b3, 67)
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+#if PACKETVER >= 20081203
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01b6, 65)
+#elif PACKETVER >= 20081119
+packetLen(0x01b6, 31)
+#elif PACKETVER >= 20081112
+packetLen(0x01b6, 114)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01b6, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x01b6, 31)
+#elif PACKETVER >= 20081015
+packetLen(0x01b6, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x01b6, 31)
+#elif PACKETVER >= 20081001
+packetLen(0x01b6, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01b6, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01b6, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01b6, 58)
+#elif PACKETVER >= 20080715
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01b6, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x01b6, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x01b6, 31)
+#elif PACKETVER >= 20080617
+packetLen(0x01b6, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x01b6, 55)
+#elif PACKETVER >= 20080603
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01b6, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01b6, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x01b6, 86)
+#elif PACKETVER >= 20080422
+packetLen(0x01b6, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01b6, 60)
+#elif PACKETVER >= 20080325
+packetLen(0x01b6, 12)
+#elif PACKETVER >= 20080318
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01b6, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x01b6, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01b6, 18)
+#elif PACKETVER >= 20080219
+packetLen(0x01b6, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x01b6, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01b6, 114)
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+#if PACKETVER >= 20081203
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01b9, 24)
+#elif PACKETVER >= 20081119
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01b9, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01b9, 21)
+#elif PACKETVER >= 20081015
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x01b9, 18)
+#elif PACKETVER >= 20080917
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01b9, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01b9, 68)
+#elif PACKETVER >= 20080708
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01b9, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01b9, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01b9, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01b9, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01b9, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x01b9, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x01b9, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x01b9, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x01b9, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x01b9, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x01b9, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01b9, 6)
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20081217
+packetLen(0x01ba, 15)
+#elif PACKETVER >= 20081203
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01ba, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x01ba, 26)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01ba, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x01ba, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01ba, 9)
+#elif PACKETVER >= 20080813
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x01ba, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x01ba, 42)
+#elif PACKETVER >= 20080715
+packetLen(0x01ba, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01ba, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ba, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x01ba, 22)
+#elif PACKETVER >= 20080507
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01ba, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01ba, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01ba, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01ba, 81)
+#elif PACKETVER >= 20080311
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ba, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01ba, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x01ba, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x01ba, 26)
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20081217
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01bb, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01bb, 65)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01bb, 90)
+#elif PACKETVER >= 20081022
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01bb, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x01bb, 32)
+#elif PACKETVER >= 20080924
+packetLen(0x01bb, 27)
+#elif PACKETVER >= 20080910
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01bb, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01bb, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x01bb, 79)
+#elif PACKETVER >= 20080730
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01bb, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x01bb, 20)
+#elif PACKETVER >= 20080708
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01bb, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01bb, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01bb, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01bb, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x01bb, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01bb, 43)
+#elif PACKETVER >= 20080318
+packetLen(0x01bb, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x01bb, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01bb, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01bb, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01bb, 81)
+#elif PACKETVER >= 20080102
+packetLen(0x01bb, 26)
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20081217
+packetLen(0x01bc, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x01bc, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01bc, 26)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01bc, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01bc, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01bc, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01bc, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x01bc, 55)
+#elif PACKETVER >= 20080820
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01bc, 43)
+#elif PACKETVER >= 20080806
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01bc, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01bc, 28)
+#elif PACKETVER >= 20080708
+packetLen(0x01bc, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01bc, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x01bc, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x01bc, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x01bc, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x01bc, 20)
+#elif PACKETVER >= 20080507
+packetLen(0x01bc, 39)
+#elif PACKETVER >= 20080429
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01bc, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01bc, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x01bc, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x01bc, 26)
+#elif PACKETVER >= 20080318
+packetLen(0x01bc, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01bc, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x01bc, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01bc, 86)
+#elif PACKETVER >= 20080219
+packetLen(0x01bc, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x01bc, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01bc, 26)
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20081217
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x01bd, 26)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01bd, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01bd, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x01bd, 97)
+#elif PACKETVER >= 20080820
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01bd, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01bd, 43)
+#elif PACKETVER >= 20080701
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x01bd, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x01bd, 44)
+#elif PACKETVER >= 20080610
+packetLen(0x01bd, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01bd, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x01bd, 35)
+#elif PACKETVER >= 20080507
+packetLen(0x01bd, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01bd, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01bd, 102)
+#elif PACKETVER >= 20080401
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01bd, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01bd, 102)
+#elif PACKETVER >= 20080226
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01bd, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01bd, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20081217
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01c3, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01c3, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x01c3, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01c3, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x01c3, 26)
+#elif PACKETVER >= 20081015
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01c3, 186)
+#elif PACKETVER >= 20080924
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01c3, 31)
+#elif PACKETVER >= 20080910
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01c3, 59)
+#elif PACKETVER >= 20080827
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01c3, 43)
+#elif PACKETVER >= 20080813
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01c3, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01c3, 26)
+#elif PACKETVER >= 20080708
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01c3, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01c3, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01c3, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01c3, 66)
+#elif PACKETVER >= 20080507
+packetLen(0x01c3, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x01c3, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01c3, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x01c3, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01c3, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x01c3, 30)
+#elif PACKETVER >= 20080318
+packetLen(0x01c3, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x01c3, 58)
+#elif PACKETVER >= 20080304
+packetLen(0x01c3, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01c3, 14)
+#elif PACKETVER >= 20080124
+packetLen(0x01c3, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01c3, -1)
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20081217
+packetLen(0x01c4, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x01c4, 22)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c4, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01c4, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x01c4, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x01c4, 282)
+#elif PACKETVER >= 20080910
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01c4, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01c4, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01c4, 34)
+#elif PACKETVER >= 20080715
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01c4, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01c4, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x01c4, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01c4, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x01c4, 31)
+#elif PACKETVER >= 20080429
+packetLen(0x01c4, 53)
+#elif PACKETVER >= 20080422
+packetLen(0x01c4, 34)
+#elif PACKETVER >= 20080415
+packetLen(0x01c4, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01c4, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01c4, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x01c4, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01c4, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20081126
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01c5, 97)
+#elif PACKETVER >= 20081112
+packetLen(0x01c5, 22)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c5, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x01c5, 15)
+#elif PACKETVER >= 20081008
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01c5, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x01c5, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01c5, 13)
+#elif PACKETVER >= 20080827
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01c5, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x01c5, 23)
+#elif PACKETVER >= 20080730
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01c5, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01c5, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01c5, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x01c5, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x01c5, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01c5, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x01c5, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01c5, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01c5, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01c5, 31)
+#elif PACKETVER >= 20080318
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01c5, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01c5, 28)
+#elif PACKETVER >= 20080124
+packetLen(0x01c5, 90)
+#elif PACKETVER >= 20080102
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20081126
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01c8, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x01c8, 13)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01c8, 35)
+#elif PACKETVER >= 20081015
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x01c8, 35)
+#elif PACKETVER >= 20081001
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01c8, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01c8, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01c8, 65)
+#elif PACKETVER >= 20080610
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01c8, 29)
+#elif PACKETVER >= 20080429
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01c8, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x01c8, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01c8, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01c8, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01c8, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01c8, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01c8, 13)
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20081217
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01c9, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x01c9, 97)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01c9, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01c9, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x01c9, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01c9, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01c9, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x01c9, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01c9, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x01c9, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01c9, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x01c9, 58)
+#elif PACKETVER >= 20080408
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01c9, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x01c9, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01c9, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01c9, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x01c9, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01c9, 97)
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+#if PACKETVER >= 20081217
+packetLen(0x01cd, 20)
+#elif PACKETVER >= 20081203
+packetLen(0x01cd, 114)
+#elif PACKETVER >= 20081126
+packetLen(0x01cd, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x01cd, 30)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01cd, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01cd, 33)
+#elif PACKETVER >= 20080903
+packetLen(0x01cd, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01cd, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01cd, 102)
+#elif PACKETVER >= 20080603
+packetLen(0x01cd, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01cd, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01cd, 12)
+#elif PACKETVER >= 20080401
+packetLen(0x01cd, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01cd, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01cd, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01cd, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01cd, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01cd, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x01cd, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01cd, 30)
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20081203
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x01ce, 15)
+#elif PACKETVER >= 20081112
+packetLen(0x01ce, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01ce, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01ce, 53)
+#elif PACKETVER >= 20080917
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01ce, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x01ce, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x01ce, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01ce, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x01ce, 13)
+#elif PACKETVER >= 20080624
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01ce, 27)
+#elif PACKETVER >= 20080610
+packetLen(0x01ce, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01ce, 22)
+#elif PACKETVER >= 20080520
+packetLen(0x01ce, 53)
+#elif PACKETVER >= 20080513
+packetLen(0x01ce, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x01ce, 65)
+#elif PACKETVER >= 20080429
+packetLen(0x01ce, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01ce, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x01ce, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01ce, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01ce, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01ce, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x01ce, 6)
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20081217
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01cf, 54)
+#elif PACKETVER >= 20081126
+packetLen(0x01cf, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01cf, 28)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01cf, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01cf, 15)
+#elif PACKETVER >= 20080924
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01cf, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01cf, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01cf, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x01cf, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01cf, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x01cf, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x01cf, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01cf, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01cf, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x01cf, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01cf, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01cf, 39)
+#elif PACKETVER >= 20080401
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01cf, 186)
+#elif PACKETVER >= 20080318
+packetLen(0x01cf, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01cf, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01cf, 102)
+#elif PACKETVER >= 20080124
+packetLen(0x01cf, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01cf, 28)
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20081217
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01d0, 282)
+#elif PACKETVER >= 20081126
+packetLen(0x01d0, 31)
+#elif PACKETVER >= 20081119
+packetLen(0x01d0, 27)
+#elif PACKETVER >= 20081112
+packetLen(0x01d0, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01d0, 21)
+#elif PACKETVER >= 20081015
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01d0, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01d0, 31)
+#elif PACKETVER >= 20080820
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01d0, 32)
+#elif PACKETVER >= 20080806
+packetLen(0x01d0, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01d0, 33)
+#elif PACKETVER >= 20080701
+packetLen(0x01d0, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x01d0, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x01d0, 53)
+#elif PACKETVER >= 20080610
+packetLen(0x01d0, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x01d0, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01d0, 65)
+#elif PACKETVER >= 20080318
+packetLen(0x01d0, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01d0, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01d0, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01d0, 8)
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+#if PACKETVER >= 20081217
+packetLen(0x01d2, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01d2, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d2, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x01d2, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x01d2, 29)
+#elif PACKETVER >= 20081015
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01d2, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x01d2, 28)
+#elif PACKETVER >= 20080917
+packetLen(0x01d2, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01d2, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01d2, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01d2, 21)
+#elif PACKETVER >= 20080722
+packetLen(0x01d2, 28)
+#elif PACKETVER >= 20080708
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01d2, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01d2, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x01d2, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01d2, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x01d2, 58)
+#elif PACKETVER >= 20080415
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01d2, 18)
+#elif PACKETVER >= 20080401
+packetLen(0x01d2, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01d2, 12)
+#elif PACKETVER >= 20080318
+packetLen(0x01d2, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x01d2, 19)
+#elif PACKETVER >= 20080304
+packetLen(0x01d2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01d2, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01d2, 53)
+#elif PACKETVER >= 20080102
+packetLen(0x01d2, 10)
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+#if PACKETVER >= 20081203
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01d4, 29)
+#elif PACKETVER >= 20081112
+packetLen(0x01d4, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d4, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01d4, 12)
+#elif PACKETVER >= 20080924
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01d4, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x01d4, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01d4, 22)
+#elif PACKETVER >= 20080813
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01d4, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01d4, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x01d4, 54)
+#elif PACKETVER >= 20080617
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01d4, 20)
+#elif PACKETVER >= 20080520
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01d4, 19)
+#elif PACKETVER >= 20080318
+packetLen(0x01d4, 60)
+#elif PACKETVER >= 20080311
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01d4, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01d4, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x01d4, 6)
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20081217
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01d5, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x01d5, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01d5, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d5, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x01d5, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01d5, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x01d5, 21)
+#elif PACKETVER >= 20080924
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01d5, 18)
+#elif PACKETVER >= 20080910
+packetLen(0x01d5, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x01d5, 29)
+#elif PACKETVER >= 20080827
+packetLen(0x01d5, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01d5, 53)
+#elif PACKETVER >= 20080715
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01d5, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x01d5, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x01d5, 27)
+#elif PACKETVER >= 20080610
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01d5, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01d5, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01d5, 97)
+#elif PACKETVER >= 20080325
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01d5, 34)
+#elif PACKETVER >= 20080311
+packetLen(0x01d5, 13)
+#elif PACKETVER >= 20080304
+packetLen(0x01d5, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01d5, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01d5, -1)
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20081217
+packetLen(0x01d6, 11)
+#elif PACKETVER >= 20081203
+packetLen(0x01d6, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x01d6, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x01d6, 86)
+#elif PACKETVER >= 20081112
+packetLen(0x01d6, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01d6, 28)
+#elif PACKETVER >= 20080917
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01d6, 22)
+#elif PACKETVER >= 20080903
+packetLen(0x01d6, 58)
+#elif PACKETVER >= 20080827
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01d6, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x01d6, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x01d6, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x01d6, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x01d6, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01d6, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x01d6, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x01d6, 35)
+#elif PACKETVER >= 20080507
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01d6, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x01d6, 54)
+#elif PACKETVER >= 20080401
+packetLen(0x01d6, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x01d6, 54)
+#elif PACKETVER >= 20080318
+packetLen(0x01d6, 58)
+#elif PACKETVER >= 20080311
+packetLen(0x01d6, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01d6, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01d6, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01d6, 4)
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20081217
+packetLen(0x01d7, 114)
+#elif PACKETVER >= 20081203
+packetLen(0x01d7, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x01d7, 11)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01d7, 55)
+#elif PACKETVER >= 20081015
+packetLen(0x01d7, 60)
+#elif PACKETVER >= 20081008
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01d7, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01d7, 102)
+#elif PACKETVER >= 20080827
+packetLen(0x01d7, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x01d7, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01d7, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01d7, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x01d7, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01d7, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01d7, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x01d7, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x01d7, 282)
+#elif PACKETVER >= 20080513
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01d7, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01d7, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01d7, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01d7, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01d7, 35)
+#elif PACKETVER >= 20080124
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01d7, 11)
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20081217
+packetLen(0x01d8, 39)
+#elif PACKETVER >= 20081203
+packetLen(0x01d8, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01d8, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x01d8, 54)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d8, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01d8, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01d8, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x01d8, 34)
+#elif PACKETVER >= 20080722
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01d8, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01d8, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x01d8, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01d8, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01d8, 186)
+#elif PACKETVER >= 20080415
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01d8, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x01d8, 27)
+#elif PACKETVER >= 20080325
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01d8, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x01d8, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01d8, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01d8, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01d8, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01d8, 54)
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20081217
+packetLen(0x01d9, 28)
+#elif PACKETVER >= 20081203
+packetLen(0x01d9, 14)
+#elif PACKETVER >= 20081126
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x01d9, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x01d9, 53)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01d9, 23)
+#elif PACKETVER >= 20081008
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01d9, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01d9, 282)
+#elif PACKETVER >= 20080903
+packetLen(0x01d9, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01d9, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x01d9, 27)
+#elif PACKETVER >= 20080730
+packetLen(0x01d9, 13)
+#elif PACKETVER >= 20080708
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01d9, 39)
+#elif PACKETVER >= 20080624
+packetLen(0x01d9, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x01d9, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01d9, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01d9, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01d9, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x01d9, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x01d9, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01d9, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x01d9, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01d9, 42)
+#elif PACKETVER >= 20080226
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01d9, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01d9, 53)
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20081217
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01da, 28)
+#elif PACKETVER >= 20081126
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01da, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x01da, 60)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01da, 282)
+#elif PACKETVER >= 20081008
+packetLen(0x01da, 55)
+#elif PACKETVER >= 20081001
+packetLen(0x01da, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x01da, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x01da, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x01da, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01da, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01da, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x01da, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x01da, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01da, 60)
+#elif PACKETVER >= 20080513
+packetLen(0x01da, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x01da, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01da, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x01da, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01da, 79)
+#elif PACKETVER >= 20080226
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01da, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x01da, 60)
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+#if PACKETVER >= 20081126
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01de, 16)
+#elif PACKETVER >= 20081112
+packetLen(0x01de, 33)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01de, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01de, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x01de, 86)
+#elif PACKETVER >= 20080827
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01de, 60)
+#elif PACKETVER >= 20080813
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01de, 27)
+#elif PACKETVER >= 20080722
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01de, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x01de, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x01de, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x01de, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01de, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01de, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x01de, 15)
+#elif PACKETVER >= 20080325
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01de, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01de, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x01de, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01de, 33)
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+#if PACKETVER >= 20081217
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01e1, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x01e1, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e1, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x01e1, 86)
+#elif PACKETVER >= 20081022
+packetLen(0x01e1, 39)
+#elif PACKETVER >= 20081008
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01e1, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x01e1, 19)
+#elif PACKETVER >= 20080917
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01e1, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01e1, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x01e1, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x01e1, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01e1, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01e1, 43)
+#elif PACKETVER >= 20080520
+packetLen(0x01e1, 32)
+#elif PACKETVER >= 20080513
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01e1, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01e1, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x01e1, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x01e1, 71)
+#elif PACKETVER >= 20080401
+packetLen(0x01e1, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01e1, 17)
+#elif PACKETVER >= 20080318
+packetLen(0x01e1, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01e1, 32)
+#elif PACKETVER >= 20080219
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01e1, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x01e1, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20081126
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x01e7, 2)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e7, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x01e7, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01e7, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01e7, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01e7, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x01e7, 34)
+#elif PACKETVER >= 20080820
+packetLen(0x01e7, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x01e7, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x01e7, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x01e7, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x01e7, 21)
+#elif PACKETVER >= 20080715
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01e7, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01e7, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01e7, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x01e7, 39)
+#elif PACKETVER >= 20080520
+packetLen(0x01e7, 22)
+#elif PACKETVER >= 20080513
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x01e7, 54)
+#elif PACKETVER >= 20080429
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01e7, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x01e7, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x01e7, 20)
+#elif PACKETVER >= 20080318
+packetLen(0x01e7, 18)
+#elif PACKETVER >= 20080311
+packetLen(0x01e7, 55)
+#elif PACKETVER >= 20080304
+packetLen(0x01e7, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01e7, 2)
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20081203
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x01e8, 28)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e8, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x01e8, 59)
+#elif PACKETVER >= 20081022
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01e8, 54)
+#elif PACKETVER >= 20080924
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01e8, 33)
+#elif PACKETVER >= 20080730
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01e8, 59)
+#elif PACKETVER >= 20080715
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01e8, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01e8, 22)
+#elif PACKETVER >= 20080617
+packetLen(0x01e8, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x01e8, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01e8, 53)
+#elif PACKETVER >= 20080520
+packetLen(0x01e8, 3)
+#elif PACKETVER >= 20080513
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x01e8, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20080415
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01e8, 16)
+#elif PACKETVER >= 20080401
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x01e8, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01e8, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01e8, 44)
+#elif PACKETVER >= 20080102
+packetLen(0x01e8, 28)
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20081217
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01e9, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x01e9, 186)
+#elif PACKETVER >= 20081119
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01e9, 81)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01e9, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01e9, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01e9, 15)
+#elif PACKETVER >= 20080806
+packetLen(0x01e9, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x01e9, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01e9, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01e9, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x01e9, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01e9, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01e9, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x01e9, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x01e9, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01e9, 34)
+#elif PACKETVER >= 20080401
+packetLen(0x01e9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01e9, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x01e9, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01e9, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01e9, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01e9, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01e9, 81)
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20081217
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x01ea, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x01ea, 6)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01ea, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01ea, 39)
+#elif PACKETVER >= 20081008
+packetLen(0x01ea, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x01ea, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x01ea, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x01ea, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01ea, 33)
+#elif PACKETVER >= 20080722
+packetLen(0x01ea, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01ea, 97)
+#elif PACKETVER >= 20080624
+packetLen(0x01ea, 79)
+#elif PACKETVER >= 20080617
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ea, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01ea, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01ea, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x01ea, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01ea, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01ea, 27)
+#elif PACKETVER >= 20080318
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ea, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x01ea, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01ea, 6)
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20081126
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01eb, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x01eb, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01eb, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01eb, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01eb, 16)
+#elif PACKETVER >= 20080827
+packetLen(0x01eb, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01eb, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01eb, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01eb, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x01eb, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01eb, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x01eb, 114)
+#elif PACKETVER >= 20080429
+packetLen(0x01eb, 27)
+#elif PACKETVER >= 20080422
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x01eb, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x01eb, 13)
+#elif PACKETVER >= 20080401
+packetLen(0x01eb, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01eb, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x01eb, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x01eb, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01eb, 53)
+#elif PACKETVER >= 20080102
+packetLen(0x01eb, 10)
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+#if PACKETVER >= 20081217
+packetLen(0x01ed, 67)
+#elif PACKETVER >= 20081203
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01ed, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x01ed, 2)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x01ed, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01ed, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x01ed, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x01ed, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01ed, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x01ed, 31)
+#elif PACKETVER >= 20080813
+packetLen(0x01ed, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x01ed, 27)
+#elif PACKETVER >= 20080730
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01ed, 15)
+#elif PACKETVER >= 20080708
+packetLen(0x01ed, 54)
+#elif PACKETVER >= 20080701
+packetLen(0x01ed, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x01ed, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01ed, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x01ed, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01ed, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01ed, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x01ed, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x01ed, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01ed, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01ed, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x01ed, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01ed, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01ed, 22)
+#elif PACKETVER >= 20080124
+packetLen(0x01ed, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ed, 2)
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20081217
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x01ee, 39)
+#elif PACKETVER >= 20081126
+packetLen(0x01ee, 17)
+#elif PACKETVER >= 20081112
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x01ee, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01ee, 23)
+#elif PACKETVER >= 20080903
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01ee, 31)
+#elif PACKETVER >= 20080820
+packetLen(0x01ee, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01ee, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x01ee, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01ee, 23)
+#elif PACKETVER >= 20080701
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x01ee, 23)
+#elif PACKETVER >= 20080610
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x01ee, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01ee, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01ee, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01ee, 71)
+#elif PACKETVER >= 20080311
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01ee, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ee, -1)
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20081217
+packetLen(0x01ef, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01ef, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x01ef, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01ef, 24)
+#elif PACKETVER >= 20081029
+packetLen(0x01ef, 18)
+#elif PACKETVER >= 20081001
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01ef, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x01ef, 90)
+#elif PACKETVER >= 20080813
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x01ef, 58)
+#elif PACKETVER >= 20080730
+packetLen(0x01ef, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01ef, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x01ef, 7)
+#elif PACKETVER >= 20080624
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01ef, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x01ef, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x01ef, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x01ef, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x01ef, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x01ef, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x01ef, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01ef, 29)
+#elif PACKETVER >= 20080318
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ef, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01ef, 35)
+#elif PACKETVER >= 20080124
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ef, -1)
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20081217
+packetLen(0x01f0, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01f0, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x01f0, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01f0, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01f0, 65)
+#elif PACKETVER >= 20080903
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01f0, 12)
+#elif PACKETVER >= 20080820
+packetLen(0x01f0, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x01f0, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01f0, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01f0, 55)
+#elif PACKETVER >= 20080701
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01f0, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x01f0, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01f0, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01f0, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01f0, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01f0, 53)
+#elif PACKETVER >= 20080408
+packetLen(0x01f0, 22)
+#elif PACKETVER >= 20080401
+packetLen(0x01f0, 44)
+#elif PACKETVER >= 20080325
+packetLen(0x01f0, 13)
+#elif PACKETVER >= 20080318
+packetLen(0x01f0, 39)
+#elif PACKETVER >= 20080311
+packetLen(0x01f0, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01f0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01f0, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x01f0, -1)
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+#if PACKETVER >= 20081126
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x01f2, 90)
+#elif PACKETVER >= 20081112
+packetLen(0x01f2, 42)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01f2, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x01f2, 59)
+#elif PACKETVER >= 20081015
+packetLen(0x01f2, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01f2, 32)
+#elif PACKETVER >= 20080910
+packetLen(0x01f2, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01f2, 86)
+#elif PACKETVER >= 20080806
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x01f2, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x01f2, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x01f2, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x01f2, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x01f2, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01f2, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20080415
+packetLen(0x01f2, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x01f2, 186)
+#elif PACKETVER >= 20080401
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x01f2, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x01f2, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x01f2, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01f2, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01f2, 27)
+#elif PACKETVER >= 20080219
+packetLen(0x01f2, 31)
+#elif PACKETVER >= 20080124
+packetLen(0x01f2, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x01f2, 20)
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+#if PACKETVER >= 20081217
+packetLen(0x01f4, 12)
+#elif PACKETVER >= 20081203
+packetLen(0x01f4, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01f4, 32)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x01f4, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x01f4, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01f4, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x01f4, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x01f4, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01f4, 53)
+#elif PACKETVER >= 20080806
+packetLen(0x01f4, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x01f4, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01f4, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01f4, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01f4, 67)
+#elif PACKETVER >= 20080507
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x01f4, 28)
+#elif PACKETVER >= 20080422
+packetLen(0x01f4, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x01f4, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01f4, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x01f4, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01f4, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x01f4, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01f4, 32)
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20081112
+packetLen(0x01f5, 9)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20080924
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01f5, 23)
+#elif PACKETVER >= 20080910
+packetLen(0x01f5, 102)
+#elif PACKETVER >= 20080903
+packetLen(0x01f5, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01f5, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x01f5, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01f5, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01f5, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x01f5, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x01f5, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x01f5, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01f5, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x01f5, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01f5, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01f5, 14)
+#elif PACKETVER >= 20080318
+packetLen(0x01f5, 55)
+#elif PACKETVER >= 20080311
+packetLen(0x01f5, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x01f5, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01f5, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01f5, 114)
+#elif PACKETVER >= 20080124
+packetLen(0x01f5, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x01f5, 9)
+#endif
+
+// 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
+#if PACKETVER >= 20081217
+packetLen(0x01fc, 11)
+#elif PACKETVER >= 20081203
+packetLen(0x01fc, 15)
+#elif PACKETVER >= 20081126
+packetLen(0x01fc, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x01fc, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x01fc, 44)
+#elif PACKETVER >= 20081001
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01fc, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x01fc, 16)
+#elif PACKETVER >= 20080903
+packetLen(0x01fc, 27)
+#elif PACKETVER >= 20080827
+packetLen(0x01fc, 90)
+#elif PACKETVER >= 20080820
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x01fc, 16)
+#elif PACKETVER >= 20080806
+packetLen(0x01fc, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x01fc, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x01fc, 186)
+#elif PACKETVER >= 20080610
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01fc, 71)
+#elif PACKETVER >= 20080528
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x01fc, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x01fc, 59)
+#elif PACKETVER >= 20080318
+packetLen(0x01fc, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01fc, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01fc, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x01fc, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01fc, -1)
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20081203
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x01fd, 32)
+#elif PACKETVER >= 20081119
+packetLen(0x01fd, 20)
+#elif PACKETVER >= 20081112
+packetLen(0x01fd, 15)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01fd, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x01fd, 32)
+#elif PACKETVER >= 20080917
+packetLen(0x01fd, 27)
+#elif PACKETVER >= 20080910
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x01fd, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x01fd, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x01fd, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x01fd, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01fd, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x01fd, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x01fd, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01fd, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x01fd, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01fd, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01fd, 15)
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20081217
+packetLen(0x01fe, 15)
+#elif PACKETVER >= 20081119
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x01fe, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x01fe, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x01fe, 97)
+#elif PACKETVER >= 20080910
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x01fe, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x01fe, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x01fe, 20)
+#elif PACKETVER >= 20080806
+packetLen(0x01fe, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x01fe, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x01fe, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x01fe, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x01fe, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x01fe, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x01fe, 54)
+#elif PACKETVER >= 20080325
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x01fe, 20)
+#elif PACKETVER >= 20080311
+packetLen(0x01fe, 18)
+#elif PACKETVER >= 20080304
+packetLen(0x01fe, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x01fe, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01fe, 13)
+#elif PACKETVER >= 20080124
+packetLen(0x01fe, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01fe, 5)
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+#if PACKETVER >= 20081217
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0201, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0201, 67)
+#elif PACKETVER >= 20081119
+packetLen(0x0201, 11)
+#elif PACKETVER >= 20081105
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0201, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0201, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0201, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0201, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x0201, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0201, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0201, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x0201, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0201, 67)
+#elif PACKETVER >= 20080429
+packetLen(0x0201, 33)
+#elif PACKETVER >= 20080422
+packetLen(0x0201, 68)
+#elif PACKETVER >= 20080415
+packetLen(0x0201, 58)
+#elif PACKETVER >= 20080408
+packetLen(0x0201, 54)
+#elif PACKETVER >= 20080401
+packetLen(0x0201, 7)
+#elif PACKETVER >= 20080325
+packetLen(0x0201, 5)
+#elif PACKETVER >= 20080318
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0201, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0201, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0201, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0201, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0201, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x0201, -1)
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20081217
+packetLen(0x0202, 9)
+#elif PACKETVER >= 20081203
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0202, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x0202, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0202, 26)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0202, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0202, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0202, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0202, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0202, 19)
+#elif PACKETVER >= 20080429
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0202, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0202, 33)
+#elif PACKETVER >= 20080304
+packetLen(0x0202, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0202, 44)
+#elif PACKETVER >= 20080219
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20081112
+packetLen(0x0203, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0203, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0203, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0203, 58)
+#elif PACKETVER >= 20080903
+packetLen(0x0203, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x0203, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0203, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0203, 282)
+#elif PACKETVER >= 20080715
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0203, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0203, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0203, 34)
+#elif PACKETVER >= 20080520
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0203, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0203, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0203, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0203, 67)
+#elif PACKETVER >= 20080311
+packetLen(0x0203, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0203, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0203, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0203, 10)
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20081217
+packetLen(0x0206, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0206, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0206, 11)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0206, 44)
+#elif PACKETVER >= 20081029
+packetLen(0x0206, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x0206, 81)
+#elif PACKETVER >= 20080910
+packetLen(0x0206, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0206, 65)
+#elif PACKETVER >= 20080827
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0206, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0206, 282)
+#elif PACKETVER >= 20080708
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0206, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0206, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0206, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0206, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0206, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0206, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0206, 59)
+#elif PACKETVER >= 20080325
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0206, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0206, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0206, 7)
+#elif PACKETVER >= 20080124
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0206, 11)
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20081112
+packetLen(0x0207, 34)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0207, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0207, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0207, 54)
+#elif PACKETVER >= 20080820
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0207, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x0207, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0207, 60)
+#elif PACKETVER >= 20080722
+packetLen(0x0207, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0207, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0207, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x0207, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0207, 28)
+#elif PACKETVER >= 20080513
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0207, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0207, 102)
+#elif PACKETVER >= 20080325
+packetLen(0x0207, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0207, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0207, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0207, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0207, 66)
+#elif PACKETVER >= 20080124
+packetLen(0x0207, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x0207, 34)
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20081112
+packetLen(0x0208, 14)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0208, 27)
+#elif PACKETVER >= 20081015
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0208, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0208, 18)
+#elif PACKETVER >= 20080820
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0208, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0208, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0208, 12)
+#elif PACKETVER >= 20080708
+packetLen(0x0208, 16)
+#elif PACKETVER >= 20080701
+packetLen(0x0208, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0208, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0208, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0208, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0208, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0208, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0208, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0208, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0208, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0208, 71)
+#elif PACKETVER >= 20080124
+packetLen(0x0208, 65)
+#elif PACKETVER >= 20080102
+packetLen(0x0208, 14)
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20081112
+packetLen(0x0209, 36)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0209, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x0209, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0209, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0209, 12)
+#elif PACKETVER >= 20080827
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0209, 20)
+#elif PACKETVER >= 20080730
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0209, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x0209, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0209, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0209, 39)
+#elif PACKETVER >= 20080520
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0209, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0209, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0209, 18)
+#elif PACKETVER >= 20080415
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x0209, 3)
+#elif PACKETVER >= 20080318
+packetLen(0x0209, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0209, 30)
+#elif PACKETVER >= 20080124
+packetLen(0x0209, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0209, 36)
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20081217
+packetLen(0x020a, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x020a, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x020a, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x020a, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x020a, 27)
+#elif PACKETVER >= 20080924
+packetLen(0x020a, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x020a, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x020a, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x020a, 29)
+#elif PACKETVER >= 20080813
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x020a, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x020a, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x020a, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x020a, 68)
+#elif PACKETVER >= 20080617
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x020a, 186)
+#elif PACKETVER >= 20080603
+packetLen(0x020a, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x020a, 32)
+#elif PACKETVER >= 20080520
+packetLen(0x020a, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x020a, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x020a, 71)
+#elif PACKETVER >= 20080422
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x020a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x020a, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x020a, 13)
+#elif PACKETVER >= 20080318
+packetLen(0x020a, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x020a, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x020a, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x020a, 20)
+#elif PACKETVER >= 20080124
+packetLen(0x020a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x020a, 10)
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+#if PACKETVER >= 20081217
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x020e, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x020e, 32)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x020e, 67)
+#elif PACKETVER >= 20081015
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x020e, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x020e, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x020e, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x020e, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x020e, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x020e, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x020e, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x020e, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x020e, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x020e, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x020e, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x020e, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x020e, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x020e, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x020e, 102)
+#elif PACKETVER >= 20080102
+packetLen(0x020e, 32)
+#endif
+
+// 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
+#if PACKETVER >= 20081126
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0217, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x0217, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0217, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0217, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0217, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0217, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0217, 55)
+#elif PACKETVER >= 20080806
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0217, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0217, 54)
+#elif PACKETVER >= 20080708
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0217, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x0217, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0217, 53)
+#elif PACKETVER >= 20080603
+packetLen(0x0217, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20080513
+packetLen(0x0217, 65)
+#elif PACKETVER >= 20080507
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0217, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0217, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0217, 13)
+#elif PACKETVER >= 20080325
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0217, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0217, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x0217, 44)
+#elif PACKETVER >= 20080226
+packetLen(0x0217, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0217, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0217, 2)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20081203
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0218, 102)
+#elif PACKETVER >= 20081119
+packetLen(0x0218, 13)
+#elif PACKETVER >= 20081112
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x0218, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0218, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0218, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0218, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0218, 33)
+#elif PACKETVER >= 20080715
+packetLen(0x0218, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0218, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0218, 68)
+#elif PACKETVER >= 20080610
+packetLen(0x0218, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0218, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0218, 18)
+#elif PACKETVER >= 20080422
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0218, 67)
+#elif PACKETVER >= 20080325
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0218, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0218, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0218, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0218, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0218, 26)
+#elif PACKETVER >= 20080124
+packetLen(0x0218, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0218, 2)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20081217
+packetLen(0x0219, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x0219, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x0219, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0219, 282)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0219, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0219, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0219, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0219, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0219, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0219, 186)
+#elif PACKETVER >= 20080722
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0219, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0219, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0219, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0219, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0219, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x0219, 28)
+#elif PACKETVER >= 20080401
+packetLen(0x0219, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x0219, 15)
+#elif PACKETVER >= 20080318
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0219, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0219, 17)
+#elif PACKETVER >= 20080124
+packetLen(0x0219, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0219, 282)
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20081217
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x021a, 13)
+#elif PACKETVER >= 20081126
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x021a, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x021a, 282)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x021a, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x021a, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x021a, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x021a, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x021a, 39)
+#elif PACKETVER >= 20080715
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x021a, 79)
+#elif PACKETVER >= 20080701
+packetLen(0x021a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x021a, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x021a, 97)
+#elif PACKETVER >= 20080610
+packetLen(0x021a, 23)
+#elif PACKETVER >= 20080603
+packetLen(0x021a, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x021a, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x021a, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x021a, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x021a, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x021a, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x021a, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x021a, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x021a, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x021a, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x021a, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x021a, 282)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20081217
+packetLen(0x021b, 28)
+#elif PACKETVER >= 20081203
+packetLen(0x021b, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x021b, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x021b, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x021b, 58)
+#elif PACKETVER >= 20080903
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x021b, 33)
+#elif PACKETVER >= 20080820
+packetLen(0x021b, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x021b, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x021b, 22)
+#elif PACKETVER >= 20080715
+packetLen(0x021b, 29)
+#elif PACKETVER >= 20080701
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x021b, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x021b, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x021b, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x021b, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x021b, 44)
+#elif PACKETVER >= 20080415
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x021b, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x021b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x021b, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x021b, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x021b, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x021b, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x021b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x021b, 15)
+#elif PACKETVER >= 20080124
+packetLen(0x021b, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x021b, 10)
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20081119
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x021c, 33)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x021c, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x021c, 39)
+#elif PACKETVER >= 20080917
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x021c, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x021c, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x021c, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x021c, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x021c, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x021c, 13)
+#elif PACKETVER >= 20080528
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x021c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x021c, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x021c, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x021c, 18)
+#elif PACKETVER >= 20080422
+packetLen(0x021c, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x021c, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x021c, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x021c, 102)
+#elif PACKETVER >= 20080318
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x021c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x021c, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x021c, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x021c, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x021c, 10)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20081217
+packetLen(0x0224, 60)
+#elif PACKETVER >= 20081203
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0224, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0224, 10)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0224, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0224, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0224, 282)
+#elif PACKETVER >= 20081001
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0224, 66)
+#elif PACKETVER >= 20080903
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0224, 42)
+#elif PACKETVER >= 20080820
+packetLen(0x0224, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0224, 17)
+#elif PACKETVER >= 20080730
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0224, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x0224, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0224, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0224, 42)
+#elif PACKETVER >= 20080610
+packetLen(0x0224, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0224, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0224, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0224, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0224, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0224, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x0224, 81)
+#elif PACKETVER >= 20080401
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x0224, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0224, 20)
+#elif PACKETVER >= 20080304
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0224, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0224, 12)
+#elif PACKETVER >= 20080124
+packetLen(0x0224, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x0224, 10)
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20081203
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0225, 23)
+#elif PACKETVER >= 20081119
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0225, 28)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0225, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0225, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0225, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x0225, 32)
+#elif PACKETVER >= 20080603
+packetLen(0x0225, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0225, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0225, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0225, 5)
+#elif PACKETVER >= 20080325
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x0225, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x0225, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0225, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0225, 2)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20081217
+packetLen(0x0226, 102)
+#elif PACKETVER >= 20081203
+packetLen(0x0226, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0226, 282)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0226, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0226, 65)
+#elif PACKETVER >= 20080820
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0226, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0226, 43)
+#elif PACKETVER >= 20080722
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0226, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0226, 36)
+#elif PACKETVER >= 20080422
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0226, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0226, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0226, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0226, 42)
+#elif PACKETVER >= 20080124
+packetLen(0x0226, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0226, 282)
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20081217
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0227, 68)
+#elif PACKETVER >= 20081126
+packetLen(0x0227, 39)
+#elif PACKETVER >= 20081119
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0227, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0227, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0227, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0227, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0227, 36)
+#elif PACKETVER >= 20080813
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0227, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x0227, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0227, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0227, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0227, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0227, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0227, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x0227, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0227, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0227, 31)
+#elif PACKETVER >= 20080219
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20080124
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0227, 18)
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+#if PACKETVER >= 20081217
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0229, 18)
+#elif PACKETVER >= 20081126
+packetLen(0x0229, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x0229, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0229, 15)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0229, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0229, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0229, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0229, 12)
+#elif PACKETVER >= 20080715
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0229, 20)
+#elif PACKETVER >= 20080701
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0229, 21)
+#elif PACKETVER >= 20080603
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0229, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x0229, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0229, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0229, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0229, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0229, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x0229, 33)
+#elif PACKETVER >= 20080226
+packetLen(0x0229, 182)
+#elif PACKETVER >= 20080219
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0229, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x0229, 15)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20081217
+packetLen(0x022a, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x022a, 58)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x022a, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x022a, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x022a, 19)
+#elif PACKETVER >= 20081008
+packetLen(0x022a, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x022a, 21)
+#elif PACKETVER >= 20080903
+packetLen(0x022a, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x022a, 13)
+#elif PACKETVER >= 20080806
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x022a, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x022a, 66)
+#elif PACKETVER >= 20080701
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x022a, 5)
+#elif PACKETVER >= 20080507
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x022a, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x022a, 23)
+#elif PACKETVER >= 20080415
+packetLen(0x022a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x022a, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x022a, 114)
+#elif PACKETVER >= 20080318
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x022a, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080124
+packetLen(0x022a, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20081217
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x022b, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x022b, 57)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x022b, 282)
+#elif PACKETVER >= 20081008
+packetLen(0x022b, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x022b, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x022b, 90)
+#elif PACKETVER >= 20080617
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x022b, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x022b, 18)
+#elif PACKETVER >= 20080528
+packetLen(0x022b, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x022b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x022b, 26)
+#elif PACKETVER >= 20080415
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x022b, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x022b, 282)
+#elif PACKETVER >= 20080318
+packetLen(0x022b, 102)
+#elif PACKETVER >= 20080311
+packetLen(0x022b, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x022b, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x022b, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20081217
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x022c, 54)
+#elif PACKETVER >= 20081126
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x022c, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x022c, 65)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x022c, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x022c, 13)
+#elif PACKETVER >= 20081001
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x022c, 15)
+#elif PACKETVER >= 20080917
+packetLen(0x022c, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x022c, 282)
+#elif PACKETVER >= 20080730
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x022c, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x022c, 59)
+#elif PACKETVER >= 20080603
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x022c, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x022c, 33)
+#elif PACKETVER >= 20080415
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x022c, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x022c, 68)
+#elif PACKETVER >= 20080318
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x022c, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x022c, 31)
+#elif PACKETVER >= 20080219
+packetLen(0x022c, 53)
+#elif PACKETVER >= 20080124
+packetLen(0x022c, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x022c, 65)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20081217
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x022d, 44)
+#elif PACKETVER >= 20081126
+packetLen(0x022d, 20)
+#elif PACKETVER >= 20081112
+packetLen(0x022d, 5)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x022d, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x022d, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x022d, 29)
+#elif PACKETVER >= 20080429
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x022d, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x022d, 11)
+#elif PACKETVER >= 20080318
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x022d, 9)
+#elif PACKETVER >= 20080124
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20081217
+packetLen(0x022e, 186)
+#elif PACKETVER >= 20081203
+packetLen(0x022e, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x022e, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x022e, 71)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x022e, 60)
+#elif PACKETVER >= 20081022
+packetLen(0x022e, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x022e, 17)
+#elif PACKETVER >= 20080924
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x022e, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x022e, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x022e, 18)
+#elif PACKETVER >= 20080730
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x022e, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x022e, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x022e, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x022e, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x022e, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x022e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x022e, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x022e, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x022e, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x022e, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x022e, 55)
+#elif PACKETVER >= 20080226
+packetLen(0x022e, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x022e, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x022e, 71)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20081217
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x022f, 9)
+#elif PACKETVER >= 20081126
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x022f, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x022f, 5)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x022f, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x022f, 182)
+#elif PACKETVER >= 20080924
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x022f, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x022f, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x022f, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x022f, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x022f, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x022f, 67)
+#elif PACKETVER >= 20080318
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x022f, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x022f, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x022f, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x022f, 5)
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20081217
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0230, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0230, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0230, 12)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0230, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0230, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0230, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0230, 71)
+#elif PACKETVER >= 20080903
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0230, 22)
+#elif PACKETVER >= 20080813
+packetLen(0x0230, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0230, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0230, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0230, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0230, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0230, 43)
+#elif PACKETVER >= 20080325
+packetLen(0x0230, 8)
+#elif PACKETVER >= 20080318
+packetLen(0x0230, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0230, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0230, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x0230, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x0230, 54)
+#elif PACKETVER >= 20080124
+packetLen(0x0230, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0230, 12)
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+#if PACKETVER >= 20081217
+packetLen(0x0232, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x0232, 58)
+#elif PACKETVER >= 20081126
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0232, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0232, 9)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0232, 102)
+#elif PACKETVER >= 20081008
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0232, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0232, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0232, 28)
+#elif PACKETVER >= 20080708
+packetLen(0x0232, 12)
+#elif PACKETVER >= 20080701
+packetLen(0x0232, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0232, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0232, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0232, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0232, 17)
+#elif PACKETVER >= 20080429
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0232, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x0232, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0232, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0232, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0232, 36)
+#elif PACKETVER >= 20080124
+packetLen(0x0232, 17)
+#elif PACKETVER >= 20080102
+packetLen(0x0232, 9)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20081217
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0233, 32)
+#elif PACKETVER >= 20081112
+packetLen(0x0233, 11)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0233, 16)
+#elif PACKETVER >= 20081022
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0233, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0233, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0233, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0233, 42)
+#elif PACKETVER >= 20080722
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0233, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0233, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0233, 66)
+#elif PACKETVER >= 20080603
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0233, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0233, 68)
+#elif PACKETVER >= 20080429
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0233, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x0233, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0233, 22)
+#elif PACKETVER >= 20080325
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080318
+packetLen(0x0233, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0233, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0233, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0233, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0233, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x0233, 11)
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20081217
+packetLen(0x0234, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0234, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0234, 20)
+#elif PACKETVER >= 20081029
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0234, 60)
+#elif PACKETVER >= 20080910
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0234, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0234, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0234, 58)
+#elif PACKETVER >= 20080715
+packetLen(0x0234, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0234, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0234, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0234, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0234, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0234, 43)
+#elif PACKETVER >= 20080304
+packetLen(0x0234, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0234, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x0234, 282)
+#elif PACKETVER >= 20080124
+packetLen(0x0234, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0234, 6)
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20081217
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0235, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0235, 58)
+#elif PACKETVER >= 20081112
+packetLen(0x0235, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0235, 59)
+#elif PACKETVER >= 20081029
+packetLen(0x0235, 282)
+#elif PACKETVER >= 20081022
+packetLen(0x0235, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0235, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x0235, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0235, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0235, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0235, 9)
+#elif PACKETVER >= 20080708
+packetLen(0x0235, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0235, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0235, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0235, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x0235, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0235, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0235, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0235, 19)
+#elif PACKETVER >= 20080325
+packetLen(0x0235, 42)
+#elif PACKETVER >= 20080318
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0235, 44)
+#elif PACKETVER >= 20080304
+packetLen(0x0235, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0235, 33)
+#elif PACKETVER >= 20080219
+packetLen(0x0235, 15)
+#elif PACKETVER >= 20080124
+packetLen(0x0235, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+#if PACKETVER >= 20081217
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0237, 15)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0237, 23)
+#elif PACKETVER >= 20081001
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0237, 5)
+#elif PACKETVER >= 20080917
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0237, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0237, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x0237, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0237, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0237, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0237, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x0237, 29)
+#elif PACKETVER >= 20080624
+packetLen(0x0237, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0237, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x0237, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0237, 19)
+#elif PACKETVER >= 20080520
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0237, 24)
+#elif PACKETVER >= 20080422
+packetLen(0x0237, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0237, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x0237, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0237, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0237, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0237, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080124
+packetLen(0x0237, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0237, 2)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20081217
+packetLen(0x0238, 22)
+#elif PACKETVER >= 20081203
+packetLen(0x0238, 9)
+#elif PACKETVER >= 20081126
+packetLen(0x0238, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0238, 35)
+#elif PACKETVER >= 20081112
+packetLen(0x0238, 282)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0238, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0238, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0238, 71)
+#elif PACKETVER >= 20080903
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0238, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0238, 71)
+#elif PACKETVER >= 20080722
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0238, 21)
+#elif PACKETVER >= 20080513
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0238, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0238, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0238, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x0238, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0238, 282)
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20081217
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0239, 86)
+#elif PACKETVER >= 20081126
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0239, 29)
+#elif PACKETVER >= 20081112
+packetLen(0x0239, 11)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0239, 19)
+#elif PACKETVER >= 20080917
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0239, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0239, 12)
+#elif PACKETVER >= 20080806
+packetLen(0x0239, 32)
+#elif PACKETVER >= 20080730
+packetLen(0x0239, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0239, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0239, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0239, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0239, 29)
+#elif PACKETVER >= 20080520
+packetLen(0x0239, 282)
+#elif PACKETVER >= 20080513
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0239, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0239, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0239, 36)
+#elif PACKETVER >= 20080401
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080318
+packetLen(0x0239, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0239, 39)
+#elif PACKETVER >= 20080219
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080124
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0239, 11)
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20081217
+packetLen(0x023a, 90)
+#elif PACKETVER >= 20081203
+packetLen(0x023a, 97)
+#elif PACKETVER >= 20081126
+packetLen(0x023a, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x023a, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x023a, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x023a, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x023a, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x023a, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x023a, 28)
+#elif PACKETVER >= 20080715
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x023a, 9)
+#elif PACKETVER >= 20080701
+packetLen(0x023a, 13)
+#elif PACKETVER >= 20080624
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x023a, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x023a, 28)
+#elif PACKETVER >= 20080429
+packetLen(0x023a, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x023a, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x023a, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x023a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x023a, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x023a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x023a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x023a, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x023a, 71)
+#elif PACKETVER >= 20080102
+packetLen(0x023a, 4)
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+#if PACKETVER >= 20081217
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x023c, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x023c, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x023c, 6)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x023c, 18)
+#elif PACKETVER >= 20081008
+packetLen(0x023c, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x023c, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x023c, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x023c, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x023c, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x023c, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x023c, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x023c, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x023c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x023c, 12)
+#elif PACKETVER >= 20080325
+packetLen(0x023c, 79)
+#elif PACKETVER >= 20080318
+packetLen(0x023c, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x023c, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x023c, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x023c, 6)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20081126
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0274, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0274, 8)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0274, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0274, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0274, 186)
+#elif PACKETVER >= 20080924
+packetLen(0x0274, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0274, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0274, 35)
+#elif PACKETVER >= 20080715
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0274, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0274, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0274, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0274, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0274, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0274, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0274, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x0274, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0274, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0274, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0274, 53)
+#elif PACKETVER >= 20080318
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0274, 67)
+#elif PACKETVER >= 20080304
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0274, 24)
+#elif PACKETVER >= 20080219
+packetLen(0x0274, 32)
+#elif PACKETVER >= 20080124
+packetLen(0x0274, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0274, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20080722
+packetLen(0x027c, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x027c, 96)
+#elif PACKETVER >= 20080102
+packetLen(0x027c, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20081105
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0287, 60)
+#elif PACKETVER >= 20081022
+packetLen(0x0287, 42)
+#elif PACKETVER >= 20081015
+packetLen(0x0287, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0287, 114)
+#elif PACKETVER >= 20080820
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0287, 97)
+#elif PACKETVER >= 20080806
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0287, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0287, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0287, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0287, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0287, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0287, 11)
+#elif PACKETVER >= 20080422
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0287, 31)
+#elif PACKETVER >= 20080408
+packetLen(0x0287, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0287, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0287, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x0287, 32)
+#elif PACKETVER >= 20080311
+packetLen(0x0287, 18)
+#elif PACKETVER >= 20080304
+packetLen(0x0287, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0287, 11)
+#elif PACKETVER >= 20080124
+packetLen(0x0287, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0287, -1)
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10)
+
+// 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
+#if PACKETVER >= 20081203
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0295, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0295, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0295, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0295, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0295, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0295, 54)
+#elif PACKETVER >= 20080715
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0295, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0295, 31)
+#elif PACKETVER >= 20080610
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0295, 30)
+#elif PACKETVER >= 20080513
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0295, 53)
+#elif PACKETVER >= 20080415
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0295, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0295, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x0295, 66)
+#elif PACKETVER >= 20080318
+packetLen(0x0295, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0295, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0295, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0295, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20080124
+packetLen(0x0295, 34)
+#elif PACKETVER >= 20080102
+packetLen(0x0295, -1)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20081217
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0296, 23)
+#elif PACKETVER >= 20081126
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0296, 21)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0296, 16)
+#elif PACKETVER >= 20081008
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0296, 19)
+#elif PACKETVER >= 20080924
+packetLen(0x0296, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0296, 86)
+#elif PACKETVER >= 20080730
+packetLen(0x0296, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0296, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0296, 19)
+#elif PACKETVER >= 20080610
+packetLen(0x0296, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0296, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0296, 53)
+#elif PACKETVER >= 20080507
+packetLen(0x0296, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0296, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0296, 14)
+#elif PACKETVER >= 20080401
+packetLen(0x0296, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0296, 9)
+#elif PACKETVER >= 20080318
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0296, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x0296, 90)
+#elif PACKETVER >= 20080226
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0296, 5)
+#elif PACKETVER >= 20080124
+packetLen(0x0296, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0296, -1)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20081217
+packetLen(0x0297, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0297, 9)
+#elif PACKETVER >= 20081105
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0297, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0297, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0297, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0297, 14)
+#elif PACKETVER >= 20080806
+packetLen(0x0297, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0297, 86)
+#elif PACKETVER >= 20080715
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0297, 67)
+#elif PACKETVER >= 20080701
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0297, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0297, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0297, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0297, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0297, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x0297, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x0297, 36)
+#elif PACKETVER >= 20080311
+packetLen(0x0297, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0297, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0297, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x0297, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x0297, -1)
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+#if PACKETVER >= 20081217
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x029a, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x029a, 27)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x029a, 20)
+#elif PACKETVER >= 20081022
+packetLen(0x029a, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x029a, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x029a, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x029a, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x029a, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x029a, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x029a, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x029a, 55)
+#elif PACKETVER >= 20080513
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x029a, 12)
+#elif PACKETVER >= 20080429
+packetLen(0x029a, 44)
+#elif PACKETVER >= 20080422
+packetLen(0x029a, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x029a, 14)
+#elif PACKETVER >= 20080325
+packetLen(0x029a, 2)
+#elif PACKETVER >= 20080318
+packetLen(0x029a, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x029a, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x029a, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x029a, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080124
+packetLen(0x029a, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x029a, 27)
+#endif
+
+// 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
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a6, 204)
+#elif PACKETVER >= 20080102
+packetLen(0x02a6, 22)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a7, 204)
+#elif PACKETVER >= 20080102
+packetLen(0x02a7, 22)
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a8, 162)
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a9, 58)
+#endif
+
+// 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, 22)
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191)
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11)
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8)
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6)
+
+// Packet: 0x02bf
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02bf, 10)
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02c0, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20080304
+packetLen(0x02d4, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x02d4, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x02d4, 29)
+#elif PACKETVER >= 20080124
+packetLen(0x02d4, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x02d4, 29)
+#endif
+
+// 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
+#if PACKETVER >= 20081217
+packetLen(0x02e1, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x02e1, 33)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02e1, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x02e1, 90)
+#elif PACKETVER >= 20081008
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02e1, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x02e1, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x02e1, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x02e1, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02e1, 13)
+#elif PACKETVER >= 20080813
+packetLen(0x02e1, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x02e1, 102)
+#elif PACKETVER >= 20080715
+packetLen(0x02e1, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02e1, 26)
+#elif PACKETVER >= 20080603
+packetLen(0x02e1, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x02e1, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x02e1, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02e1, 55)
+#elif PACKETVER >= 20080507
+packetLen(0x02e1, 22)
+#elif PACKETVER >= 20080408
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02e1, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x02e1, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x02e1, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x02e1, 33)
+#endif
+
+// 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
+#if PACKETVER >= 20081203
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x02ec, 67)
+// ignored packet from 2008-11-12dRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02ec, 68)
+#elif PACKETVER >= 20081022
+packetLen(0x02ec, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x02ec, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02ec, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x02ec, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x02ec, 28)
+#elif PACKETVER >= 20080806
+packetLen(0x02ec, 68)
+#elif PACKETVER >= 20080730
+packetLen(0x02ec, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x02ec, 29)
+#elif PACKETVER >= 20080715
+packetLen(0x02ec, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x02ec, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02ec, 42)
+#elif PACKETVER >= 20080610
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x02ec, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x02ec, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x02ec, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ec, 43)
+#elif PACKETVER >= 20080422
+packetLen(0x02ec, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x02ec, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x02ec, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x02ec, 17)
+#elif PACKETVER >= 20080325
+packetLen(0x02ec, 29)
+#elif PACKETVER >= 20080318
+packetLen(0x02ec, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x02ec, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x02ec, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x02ec, 67)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20081119
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02ed, 59)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x02ed, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x02ed, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x02ed, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x02ed, 17)
+#elif PACKETVER >= 20080917
+packetLen(0x02ed, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02ed, 15)
+#elif PACKETVER >= 20080827
+packetLen(0x02ed, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x02ed, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x02ed, 29)
+#elif PACKETVER >= 20080715
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02ed, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02ed, 60)
+#elif PACKETVER >= 20080610
+packetLen(0x02ed, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02ed, 97)
+#elif PACKETVER >= 20080520
+packetLen(0x02ed, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x02ed, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x02ed, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x02ed, 30)
+#elif PACKETVER >= 20080415
+packetLen(0x02ed, 53)
+#elif PACKETVER >= 20080408
+packetLen(0x02ed, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x02ed, 11)
+#elif PACKETVER >= 20080325
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080318
+packetLen(0x02ed, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x02ed, 59)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20081203
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x02ee, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x02ee, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x02ee, 60)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02ee, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x02ee, 60)
+#elif PACKETVER >= 20081008
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02ee, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02ee, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x02ee, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02ee, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x02ee, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x02ee, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02ee, 36)
+#elif PACKETVER >= 20080610
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02ee, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x02ee, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x02ee, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ee, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x02ee, 97)
+#elif PACKETVER >= 20080415
+packetLen(0x02ee, 60)
+#elif PACKETVER >= 20080408
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02ee, 42)
+#elif PACKETVER >= 20080325
+packetLen(0x02ee, 4)
+#elif PACKETVER >= 20080318
+packetLen(0x02ee, 13)
+#elif PACKETVER >= 20080311
+packetLen(0x02ee, 81)
+#elif PACKETVER >= 20080304
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x02ee, 60)
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+#if PACKETVER >= 20080318
+packetLen(0x02f0, 10)
+#endif
+
+// Packet: 0x02f1
+#if PACKETVER >= 20080318
+packetLen(0x02f1, 2)
+#endif
+
+// Packet: 0x02f2
+#if PACKETVER >= 20080318
+packetLen(0x02f2, 2)
+#endif
+
+// Packet: 0x02f3
+#if PACKETVER >= 20081217
+packetLen(0x02f3, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x02f3, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x02f3, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02f3, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x02f3, 58)
+#elif PACKETVER >= 20080910
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02f3, 21)
+#elif PACKETVER >= 20080827
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02f3, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x02f3, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x02f3, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x02f3, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x02f3, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x02f3, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f3, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f3, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x02f3, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x02f3, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x02f3, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x02f3, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02f3, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x02f3, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x02f3, 67)
+#elif PACKETVER >= 20080408
+packetLen(0x02f3, 23)
+#elif PACKETVER >= 20080401
+packetLen(0x02f3, 71)
+#elif PACKETVER >= 20080325
+packetLen(0x02f3, 2)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20081217
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x02f4, 15)
+#elif PACKETVER >= 20081126
+packetLen(0x02f4, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x02f4, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x02f4, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x02f4, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x02f4, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x02f4, 55)
+#elif PACKETVER >= 20080910
+packetLen(0x02f4, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x02f4, 35)
+#elif PACKETVER >= 20080715
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02f4, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f4, 30)
+#elif PACKETVER >= 20080507
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02f4, 29)
+#elif PACKETVER >= 20080422
+packetLen(0x02f4, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02f4, 9)
+#elif PACKETVER >= 20080325
+packetLen(0x02f4, 4)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20081217
+packetLen(0x02f5, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02f5, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x02f5, 90)
+#elif PACKETVER >= 20081029
+packetLen(0x02f5, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x02f5, 71)
+#elif PACKETVER >= 20081001
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x02f5, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02f5, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x02f5, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x02f5, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x02f5, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x02f5, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x02f5, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x02f5, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02f5, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02f5, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x02f5, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x02f5, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x02f5, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f5, 60)
+#elif PACKETVER >= 20080401
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20080325
+packetLen(0x02f5, 86)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20081217
+packetLen(0x02f6, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02f6, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x02f6, 29)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02f6, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02f6, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x02f6, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02f6, 22)
+#elif PACKETVER >= 20080806
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x02f6, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f6, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02f6, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x02f6, 12)
+#elif PACKETVER >= 20080513
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x02f6, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x02f6, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x02f6, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x02f6, 6)
+#elif PACKETVER >= 20080325
+packetLen(0x02f6, 4)
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20081217
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02f7, 2)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02f7, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x02f7, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x02f7, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02f7, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02f7, 54)
+#elif PACKETVER >= 20080730
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x02f7, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02f7, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x02f7, 12)
+#elif PACKETVER >= 20080603
+packetLen(0x02f7, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x02f7, 8)
+#elif PACKETVER >= 20080520
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02f7, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x02f7, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x02f7, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f7, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02f7, 26)
+#elif PACKETVER >= 20080325
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20081126
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02f8, 26)
+#elif PACKETVER >= 20081105
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02f8, 43)
+#elif PACKETVER >= 20081015
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02f8, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x02f8, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x02f8, 39)
+#elif PACKETVER >= 20080806
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x02f8, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x02f8, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x02f8, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x02f8, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f8, 12)
+#elif PACKETVER >= 20080617
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x02f8, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02f8, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x02f8, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x02f8, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02f8, 7)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20081217
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x02f9, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x02f9, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x02f9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x02f9, 17)
+#elif PACKETVER >= 20080806
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x02f9, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x02f9, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02f9, 43)
+#elif PACKETVER >= 20080617
+packetLen(0x02f9, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x02f9, 71)
+#elif PACKETVER >= 20080528
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x02f9, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x02f9, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x02f9, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20080325
+packetLen(0x02f9, 6)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20081217
+packetLen(0x02fa, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fa, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02fa, 23)
+#elif PACKETVER >= 20081022
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x02fa, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02fa, 54)
+#elif PACKETVER >= 20080903
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x02fa, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x02fa, 97)
+#elif PACKETVER >= 20080813
+packetLen(0x02fa, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x02fa, 27)
+#elif PACKETVER >= 20080715
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fa, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x02fa, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x02fa, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fa, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fa, 27)
+#elif PACKETVER >= 20080507
+packetLen(0x02fa, 33)
+#elif PACKETVER >= 20080429
+packetLen(0x02fa, 68)
+#elif PACKETVER >= 20080422
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fa, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x02fa, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x02fa, 16)
+#elif PACKETVER >= 20080325
+packetLen(0x02fa, 3)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20081217
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x02fb, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x02fb, 20)
+#elif PACKETVER >= 20081112
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x02fb, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x02fb, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x02fb, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fb, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x02fb, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fb, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fb, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x02fb, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x02fb, 10)
+#elif PACKETVER >= 20080325
+packetLen(0x02fb, 3)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20081217
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x02fc, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fc, 54)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x02fc, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02fc, 42)
+#elif PACKETVER >= 20080903
+packetLen(0x02fc, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x02fc, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x02fc, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fc, 17)
+#elif PACKETVER >= 20080701
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x02fc, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x02fc, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x02fc, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fc, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fc, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20081217
+packetLen(0x02fd, 11)
+#elif PACKETVER >= 20081203
+packetLen(0x02fd, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fd, 55)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x02fd, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x02fd, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02fd, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x02fd, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x02fd, 20)
+#elif PACKETVER >= 20080715
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x02fd, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fd, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x02fd, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02fd, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02fd, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x02fd, 29)
+#elif PACKETVER >= 20080325
+packetLen(0x02fd, 3)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20081217
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x02fe, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x02fe, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x02fe, 34)
+#elif PACKETVER >= 20081008
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x02fe, 53)
+#elif PACKETVER >= 20080910
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x02fe, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x02fe, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x02fe, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x02fe, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x02fe, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20080401
+packetLen(0x02fe, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20081112
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x02ff, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x02ff, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x02ff, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x02ff, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x02ff, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x02ff, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x02ff, 18)
+#elif PACKETVER >= 20080820
+packetLen(0x02ff, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x02ff, 54)
+#elif PACKETVER >= 20080715
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x02ff, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x02ff, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02ff, 11)
+#elif PACKETVER >= 20080603
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x02ff, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x02ff, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x02ff, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x02ff, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x02ff, 6)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20081217
+packetLen(0x0300, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0300, 28)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0300, 67)
+#elif PACKETVER >= 20081008
+packetLen(0x0300, 22)
+#elif PACKETVER >= 20080910
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0300, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0300, 39)
+#elif PACKETVER >= 20080806
+packetLen(0x0300, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0300, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0300, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x0300, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0300, 26)
+#elif PACKETVER >= 20080520
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0300, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0300, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0300, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0300, 17)
+#elif PACKETVER >= 20080415
+packetLen(0x0300, 20)
+#elif PACKETVER >= 20080325
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20081203
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0301, 30)
+#elif PACKETVER >= 20081105
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0301, 17)
+#elif PACKETVER >= 20081022
+packetLen(0x0301, 33)
+#elif PACKETVER >= 20081015
+packetLen(0x0301, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0301, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0301, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0301, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0301, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0301, 15)
+#elif PACKETVER >= 20080513
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0301, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0301, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20081217
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0302, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0302, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0302, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0302, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0302, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x0302, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0302, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0302, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0302, 68)
+#elif PACKETVER >= 20080528
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0302, 58)
+#elif PACKETVER >= 20080513
+packetLen(0x0302, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0302, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20081203
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0303, 13)
+#elif PACKETVER >= 20081119
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0303, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0303, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0303, 54)
+#elif PACKETVER >= 20080820
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0303, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0303, 12)
+#elif PACKETVER >= 20080715
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0303, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0303, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0303, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0303, 22)
+#elif PACKETVER >= 20080603
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0303, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0303, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0303, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0303, 282)
+#elif PACKETVER >= 20080401
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20081217
+packetLen(0x0304, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0304, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0304, 53)
+#elif PACKETVER >= 20081029
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0304, 57)
+#elif PACKETVER >= 20081008
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0304, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x0304, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0304, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0304, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0304, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0304, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0304, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0304, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0304, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0304, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0304, 16)
+#elif PACKETVER >= 20080415
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20081217
+packetLen(0x0305, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x0305, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20081105
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0305, 24)
+#elif PACKETVER >= 20081008
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0305, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x0305, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0305, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0305, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0305, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0305, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0305, 15)
+#elif PACKETVER >= 20080603
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0305, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0305, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0305, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0305, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0305, 27)
+#elif PACKETVER >= 20080401
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20081217
+packetLen(0x0306, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0306, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0306, 39)
+#elif PACKETVER >= 20081022
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0306, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0306, 18)
+#elif PACKETVER >= 20080910
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0306, 34)
+#elif PACKETVER >= 20080827
+packetLen(0x0306, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0306, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0306, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0306, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0306, 12)
+#elif PACKETVER >= 20080701
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0306, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0306, 23)
+#elif PACKETVER >= 20080520
+packetLen(0x0306, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0306, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0306, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20081203
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0307, 21)
+#elif PACKETVER >= 20081112
+packetLen(0x0307, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0307, 29)
+#elif PACKETVER >= 20081022
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0307, 67)
+#elif PACKETVER >= 20080903
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0307, 186)
+#elif PACKETVER >= 20080820
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0307, 58)
+#elif PACKETVER >= 20080603
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0307, 15)
+#elif PACKETVER >= 20080520
+packetLen(0x0307, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0307, 16)
+#elif PACKETVER >= 20080422
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0307, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20081217
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0308, 13)
+#elif PACKETVER >= 20081119
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0308, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0308, 33)
+#elif PACKETVER >= 20081022
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0308, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0308, 44)
+#elif PACKETVER >= 20080917
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0308, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0308, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0308, 67)
+#elif PACKETVER >= 20080722
+packetLen(0x0308, 54)
+#elif PACKETVER >= 20080617
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0308, 182)
+#elif PACKETVER >= 20080603
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0308, 5)
+#elif PACKETVER >= 20080513
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0308, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0308, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0308, 10)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20081217
+packetLen(0x0309, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0309, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x0309, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0309, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0309, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x0309, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0309, 182)
+#elif PACKETVER >= 20080827
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0309, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0309, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0309, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0309, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x0309, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0309, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0309, 15)
+#elif PACKETVER >= 20080422
+packetLen(0x0309, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0309, 6)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20081217
+packetLen(0x030a, 32)
+#elif PACKETVER >= 20081203
+packetLen(0x030a, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x030a, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x030a, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x030a, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x030a, 282)
+#elif PACKETVER >= 20080910
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x030a, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x030a, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030a, 35)
+#elif PACKETVER >= 20080610
+packetLen(0x030a, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x030a, 16)
+#elif PACKETVER >= 20080513
+packetLen(0x030a, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x030a, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20081203
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x030b, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x030b, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x030b, 32)
+#elif PACKETVER >= 20080730
+packetLen(0x030b, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x030b, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x030b, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080610
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x030b, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x030b, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x030b, 65)
+#elif PACKETVER >= 20080513
+packetLen(0x030b, 16)
+#elif PACKETVER >= 20080507
+packetLen(0x030b, 15)
+#elif PACKETVER >= 20080429
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030b, 17)
+#elif PACKETVER >= 20080408
+packetLen(0x030b, 10)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20081217
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x030c, 66)
+#elif PACKETVER >= 20081112
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x030c, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x030c, 21)
+#elif PACKETVER >= 20081008
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x030c, 29)
+#elif PACKETVER >= 20080924
+packetLen(0x030c, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x030c, 27)
+#elif PACKETVER >= 20080910
+packetLen(0x030c, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x030c, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x030c, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x030c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x030c, 282)
+#elif PACKETVER >= 20080603
+packetLen(0x030c, 36)
+#elif PACKETVER >= 20080520
+packetLen(0x030c, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030c, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030c, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x030c, 66)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20081217
+packetLen(0x030d, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x030d, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x030d, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x030d, 54)
+#elif PACKETVER >= 20081015
+packetLen(0x030d, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x030d, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x030d, 97)
+#elif PACKETVER >= 20080924
+packetLen(0x030d, 28)
+#elif PACKETVER >= 20080903
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x030d, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x030d, 31)
+#elif PACKETVER >= 20080806
+packetLen(0x030d, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x030d, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x030d, 32)
+#elif PACKETVER >= 20080708
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x030d, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x030d, 282)
+#elif PACKETVER >= 20080610
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030d, 71)
+#elif PACKETVER >= 20080520
+packetLen(0x030d, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x030d, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030d, 19)
+#elif PACKETVER >= 20080408
+packetLen(0x030d, 10)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20081217
+packetLen(0x030e, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x030e, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x030e, 58)
+#elif PACKETVER >= 20080910
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x030e, 21)
+#elif PACKETVER >= 20080730
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x030e, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030e, 13)
+#elif PACKETVER >= 20080617
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x030e, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x030e, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x030e, 3)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20081217
+packetLen(0x030f, 53)
+#elif PACKETVER >= 20081203
+packetLen(0x030f, 28)
+#elif PACKETVER >= 20081029
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x030f, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x030f, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x030f, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x030f, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x030f, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x030f, 10)
+#elif PACKETVER >= 20080603
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x030f, 67)
+#elif PACKETVER >= 20080507
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x030f, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x030f, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20081217
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0310, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0310, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0310, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0310, 17)
+#elif PACKETVER >= 20080924
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0310, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x0310, 27)
+#elif PACKETVER >= 20080820
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0310, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0310, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0310, 13)
+#elif PACKETVER >= 20080708
+packetLen(0x0310, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0310, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x0310, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0310, 16)
+#elif PACKETVER >= 20080610
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0310, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0310, 57)
+#elif PACKETVER >= 20080415
+packetLen(0x0310, 59)
+#elif PACKETVER >= 20080408
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20081217
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0311, 15)
+#elif PACKETVER >= 20081126
+packetLen(0x0311, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0311, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0311, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0311, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0311, 71)
+#elif PACKETVER >= 20080820
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0311, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0311, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0311, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x0311, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0311, 30)
+#elif PACKETVER >= 20080603
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0311, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x0311, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x0311, 10)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20081022
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0312, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0312, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0312, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0312, 34)
+#elif PACKETVER >= 20080603
+packetLen(0x0312, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0312, 13)
+#elif PACKETVER >= 20080507
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0312, 81)
+#elif PACKETVER >= 20080422
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0312, 67)
+#elif PACKETVER >= 20080408
+packetLen(0x0312, 6)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20081126
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0313, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0313, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0313, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0313, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0313, 9)
+#elif PACKETVER >= 20080903
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0313, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0313, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0313, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0313, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0313, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080429
+packetLen(0x0313, 282)
+#elif PACKETVER >= 20080422
+packetLen(0x0313, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0313, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0313, 2)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20081217
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0314, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0314, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0314, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0314, 32)
+#elif PACKETVER >= 20081001
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0314, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0314, 42)
+#elif PACKETVER >= 20080903
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0314, 13)
+#elif PACKETVER >= 20080820
+packetLen(0x0314, 14)
+#elif PACKETVER >= 20080806
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0314, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0314, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0314, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0314, 29)
+#elif PACKETVER >= 20080408
+packetLen(0x0314, 12)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20081217
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0315, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0315, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0315, 18)
+#elif PACKETVER >= 20081029
+packetLen(0x0315, 12)
+#elif PACKETVER >= 20081022
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0315, 54)
+#elif PACKETVER >= 20081008
+packetLen(0x0315, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0315, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0315, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0315, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0315, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x0315, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0315, 67)
+#elif PACKETVER >= 20080513
+packetLen(0x0315, 60)
+#elif PACKETVER >= 20080429
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0315, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0315, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0315, 44)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20081217
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0316, 31)
+#elif PACKETVER >= 20081126
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0316, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0316, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x0316, 282)
+#elif PACKETVER >= 20080820
+packetLen(0x0316, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x0316, 97)
+#elif PACKETVER >= 20080617
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0316, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0316, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x0316, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0316, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0316, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0316, 16)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20081022
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0317, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x0317, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x0317, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0317, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x0317, 18)
+#elif PACKETVER >= 20080903
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0317, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0317, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x0317, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0317, 79)
+#elif PACKETVER >= 20080715
+packetLen(0x0317, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0317, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0317, 21)
+#elif PACKETVER >= 20080520
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0317, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0317, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20081217
+packetLen(0x0318, 59)
+#elif PACKETVER >= 20081126
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0318, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0318, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0318, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0318, 22)
+#elif PACKETVER >= 20080903
+packetLen(0x0318, 42)
+#elif PACKETVER >= 20080827
+packetLen(0x0318, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0318, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0318, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0318, 54)
+#elif PACKETVER >= 20080415
+packetLen(0x0318, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0318, 26)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20081112
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0319, 12)
+#elif PACKETVER >= 20081022
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0319, 29)
+#elif PACKETVER >= 20081001
+packetLen(0x0319, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0319, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x0319, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0319, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0319, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0319, 22)
+#elif PACKETVER >= 20080422
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0319, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0319, 17)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20081217
+packetLen(0x031a, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x031a, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x031a, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x031a, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x031a, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031a, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x031a, 12)
+#elif PACKETVER >= 20080701
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x031a, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031a, 86)
+#elif PACKETVER >= 20080507
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031a, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031a, 7)
+#elif PACKETVER >= 20080408
+packetLen(0x031a, 4)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20081217
+packetLen(0x031b, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x031b, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x031b, 18)
+#elif PACKETVER >= 20081105
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031b, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x031b, 18)
+#elif PACKETVER >= 20081001
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x031b, 20)
+#elif PACKETVER >= 20080910
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x031b, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x031b, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x031b, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x031b, 114)
+#elif PACKETVER >= 20080610
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x031b, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x031b, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x031b, 42)
+#elif PACKETVER >= 20080429
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x031b, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x031b, 10)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20081126
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031c, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x031c, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x031c, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x031c, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x031c, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x031c, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x031c, 39)
+#elif PACKETVER >= 20080708
+packetLen(0x031c, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x031c, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x031c, 44)
+#elif PACKETVER >= 20080513
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x031c, 17)
+#elif PACKETVER >= 20080429
+packetLen(0x031c, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x031c, 9)
+#elif PACKETVER >= 20080415
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031c, 23)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20081217
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x031d, 60)
+#elif PACKETVER >= 20081126
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x031d, 22)
+#elif PACKETVER >= 20081105
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031d, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x031d, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x031d, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x031d, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x031d, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031d, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x031d, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x031d, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x031d, 31)
+#elif PACKETVER >= 20080715
+packetLen(0x031d, 282)
+#elif PACKETVER >= 20080708
+packetLen(0x031d, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x031d, 28)
+#elif PACKETVER >= 20080507
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031d, 35)
+#elif PACKETVER >= 20080422
+packetLen(0x031d, 12)
+#elif PACKETVER >= 20080415
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031d, 2)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20081217
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x031e, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x031e, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x031e, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x031e, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x031e, 15)
+#elif PACKETVER >= 20080924
+packetLen(0x031e, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x031e, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x031e, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x031e, 13)
+#elif PACKETVER >= 20080715
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x031e, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x031e, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x031e, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x031e, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x031e, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x031e, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20081203
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x031f, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x031f, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x031f, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x031f, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x031f, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x031f, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x031f, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x031f, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x031f, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x031f, 54)
+#elif PACKETVER >= 20080603
+packetLen(0x031f, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x031f, 2)
+#elif PACKETVER >= 20080513
+packetLen(0x031f, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x031f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x031f, 282)
+#elif PACKETVER >= 20080415
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x031f, 30)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20081217
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0320, 21)
+#elif PACKETVER >= 20081126
+packetLen(0x0320, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0320, 35)
+#elif PACKETVER >= 20081029
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0320, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0320, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0320, 28)
+#elif PACKETVER >= 20080708
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0320, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0320, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0320, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0320, 15)
+#elif PACKETVER >= 20080415
+packetLen(0x0320, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0320, 15)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20081217
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0321, 53)
+#elif PACKETVER >= 20081126
+packetLen(0x0321, 37)
+#elif PACKETVER >= 20081119
+packetLen(0x0321, 68)
+#elif PACKETVER >= 20081029
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0321, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0321, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0321, 29)
+#elif PACKETVER >= 20080910
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0321, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0321, 29)
+#elif PACKETVER >= 20080820
+packetLen(0x0321, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0321, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0321, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0321, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0321, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0321, 23)
+#elif PACKETVER >= 20080507
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0321, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0321, 24)
+#elif PACKETVER >= 20080408
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20081217
+packetLen(0x0322, 27)
+#elif PACKETVER >= 20081126
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0322, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0322, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0322, 31)
+#elif PACKETVER >= 20081015
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0322, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0322, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0322, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0322, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0322, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0322, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0322, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0322, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0322, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0322, 5)
+#elif PACKETVER >= 20080429
+packetLen(0x0322, 12)
+#elif PACKETVER >= 20080422
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0322, 68)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20081217
+packetLen(0x0323, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0323, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x0323, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0323, 54)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0323, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0323, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0323, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0323, 182)
+#elif PACKETVER >= 20080730
+packetLen(0x0323, 68)
+#elif PACKETVER >= 20080701
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0323, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080520
+packetLen(0x0323, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0323, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x0323, 186)
+#elif PACKETVER >= 20080429
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0323, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0323, 34)
+#elif PACKETVER >= 20080408
+packetLen(0x0323, 7)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20081217
+packetLen(0x0324, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x0324, 21)
+#elif PACKETVER >= 20081126
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0324, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0324, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x0324, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0324, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0324, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0324, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0324, 31)
+#elif PACKETVER >= 20080715
+packetLen(0x0324, 22)
+#elif PACKETVER >= 20080701
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0324, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x0324, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0324, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0324, 13)
+#elif PACKETVER >= 20080429
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080422
+packetLen(0x0324, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0324, 26)
+#elif PACKETVER >= 20080408
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20081203
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0325, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0325, 31)
+#elif PACKETVER >= 20081022
+packetLen(0x0325, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0325, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0325, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0325, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0325, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0325, 13)
+#elif PACKETVER >= 20080701
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0325, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0325, 39)
+#elif PACKETVER >= 20080513
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0325, 2)
+#elif PACKETVER >= 20080415
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0325, 6)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20081217
+packetLen(0x0326, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0326, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0326, 39)
+#elif PACKETVER >= 20081008
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0326, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0326, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0326, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x0326, 36)
+#elif PACKETVER >= 20080617
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0326, 42)
+#elif PACKETVER >= 20080528
+packetLen(0x0326, 282)
+#elif PACKETVER >= 20080520
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0326, 21)
+#elif PACKETVER >= 20080507
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0326, 7)
+#elif PACKETVER >= 20080422
+packetLen(0x0326, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20080917
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0327, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0327, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0327, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0327, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0327, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x0327, 54)
+#elif PACKETVER >= 20080701
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0327, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0327, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0327, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0327, 5)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20081217
+packetLen(0x0328, 26)
+#elif PACKETVER >= 20081203
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0328, 19)
+#elif PACKETVER >= 20081119
+packetLen(0x0328, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0328, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0328, 58)
+#elif PACKETVER >= 20081008
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0328, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x0328, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0328, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0328, 65)
+#elif PACKETVER >= 20080903
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0328, 55)
+#elif PACKETVER >= 20080708
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0328, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0328, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0328, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0328, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0328, 54)
+#elif PACKETVER >= 20080513
+packetLen(0x0328, 19)
+#elif PACKETVER >= 20080507
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0328, 90)
+#elif PACKETVER >= 20080422
+packetLen(0x0328, 22)
+#elif PACKETVER >= 20080415
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0328, 14)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20081203
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0329, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0329, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0329, 22)
+#elif PACKETVER >= 20081008
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0329, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0329, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0329, 54)
+#elif PACKETVER >= 20080708
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0329, 186)
+#elif PACKETVER >= 20080624
+packetLen(0x0329, 66)
+#elif PACKETVER >= 20080610
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0329, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x0329, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0329, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0329, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0329, 30)
+#elif PACKETVER >= 20080408
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20081217
+packetLen(0x032a, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x032a, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x032a, 21)
+#elif PACKETVER >= 20081022
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x032a, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x032a, 29)
+#elif PACKETVER >= 20080910
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x032a, 114)
+#elif PACKETVER >= 20080827
+packetLen(0x032a, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x032a, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032a, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032a, 17)
+#elif PACKETVER >= 20080624
+packetLen(0x032a, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x032a, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x032a, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032a, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x032a, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x032a, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x032a, 8)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20081203
+packetLen(0x032b, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x032b, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x032b, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032b, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x032b, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x032b, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032b, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x032b, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032b, 7)
+#elif PACKETVER >= 20080507
+packetLen(0x032b, 44)
+#elif PACKETVER >= 20080429
+packetLen(0x032b, 14)
+#elif PACKETVER >= 20080422
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032b, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20081126
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x032c, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x032c, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x032c, 22)
+#elif PACKETVER >= 20081022
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032c, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x032c, 67)
+#elif PACKETVER >= 20080917
+packetLen(0x032c, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x032c, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x032c, 22)
+#elif PACKETVER >= 20080813
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032c, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032c, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x032c, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x032c, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032c, 12)
+#elif PACKETVER >= 20080520
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032c, 3)
+#elif PACKETVER >= 20080429
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x032c, 8)
+#elif PACKETVER >= 20080415
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20081217
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x032d, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x032d, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x032d, 17)
+#elif PACKETVER >= 20081029
+packetLen(0x032d, 282)
+#elif PACKETVER >= 20081022
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x032d, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x032d, 58)
+#elif PACKETVER >= 20080820
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x032d, 12)
+#elif PACKETVER >= 20080806
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x032d, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x032d, 32)
+#elif PACKETVER >= 20080617
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032d, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x032d, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x032d, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x032d, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x032d, 90)
+#elif PACKETVER >= 20080415
+packetLen(0x032d, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20081203
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x032e, 44)
+#elif PACKETVER >= 20081015
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032e, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x032e, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x032e, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x032e, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x032e, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x032e, 67)
+#elif PACKETVER >= 20080708
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x032e, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032e, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x032e, 20)
+#elif PACKETVER >= 20080507
+packetLen(0x032e, 24)
+#elif PACKETVER >= 20080429
+packetLen(0x032e, 42)
+#elif PACKETVER >= 20080422
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x032e, 27)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20081126
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x032f, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x032f, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x032f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x032f, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x032f, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x032f, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x032f, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x032f, 53)
+#elif PACKETVER >= 20080603
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x032f, 58)
+#elif PACKETVER >= 20080520
+packetLen(0x032f, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x032f, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x032f, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x032f, 27)
+#elif PACKETVER >= 20080408
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20081217
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0330, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0330, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0330, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0330, 22)
+#elif PACKETVER >= 20080820
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0330, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0330, 54)
+#elif PACKETVER >= 20080722
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0330, 15)
+#elif PACKETVER >= 20080708
+packetLen(0x0330, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0330, 67)
+#elif PACKETVER >= 20080603
+packetLen(0x0330, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0330, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0330, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0330, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x0330, 54)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20081217
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0331, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0331, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0331, 60)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0331, 15)
+#elif PACKETVER >= 20081029
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0331, 186)
+#elif PACKETVER >= 20081015
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0331, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0331, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0331, 18)
+#elif PACKETVER >= 20080617
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0331, 8)
+#elif PACKETVER >= 20080603
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0331, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080507
+packetLen(0x0331, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0331, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0331, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0331, 12)
+#elif PACKETVER >= 20080408
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20081217
+packetLen(0x0332, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0332, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0332, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0332, 58)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0332, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0332, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0332, 60)
+#elif PACKETVER >= 20081001
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0332, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0332, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0332, 15)
+#elif PACKETVER >= 20080624
+packetLen(0x0332, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0332, 114)
+#elif PACKETVER >= 20080415
+packetLen(0x0332, 8)
+#elif PACKETVER >= 20080408
+packetLen(0x0332, 4)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20081217
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0333, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0333, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0333, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0333, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0333, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x0333, 90)
+#elif PACKETVER >= 20080722
+packetLen(0x0333, 186)
+#elif PACKETVER >= 20080715
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0333, 18)
+#elif PACKETVER >= 20080701
+packetLen(0x0333, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0333, 17)
+#elif PACKETVER >= 20080528
+packetLen(0x0333, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0333, 29)
+#elif PACKETVER >= 20080507
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0333, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0333, 35)
+#elif PACKETVER >= 20080415
+packetLen(0x0333, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20081217
+packetLen(0x0334, 27)
+#elif PACKETVER >= 20081203
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0334, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0334, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x0334, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0334, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0334, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0334, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0334, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0334, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0334, 28)
+#elif PACKETVER >= 20080520
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080507
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0334, 60)
+#elif PACKETVER >= 20080415
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0334, 5)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20081217
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0335, 9)
+#elif PACKETVER >= 20081126
+packetLen(0x0335, 36)
+#elif PACKETVER >= 20081119
+packetLen(0x0335, 282)
+#elif PACKETVER >= 20081022
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0335, 60)
+#elif PACKETVER >= 20081008
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0335, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0335, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0335, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0335, 28)
+#elif PACKETVER >= 20080701
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0335, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x0335, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0335, 7)
+#elif PACKETVER >= 20080520
+packetLen(0x0335, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0335, 28)
+#elif PACKETVER >= 20080408
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20081126
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0336, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x0336, 23)
+#elif PACKETVER >= 20081001
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0336, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0336, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0336, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0336, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0336, 97)
+#elif PACKETVER >= 20080722
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0336, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0336, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0336, 33)
+#elif PACKETVER >= 20080603
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x0336, 6)
+#elif PACKETVER >= 20080520
+packetLen(0x0336, 7)
+#elif PACKETVER >= 20080513
+packetLen(0x0336, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0336, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0336, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0336, 6)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20081217
+packetLen(0x0337, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0337, 36)
+#elif PACKETVER >= 20080924
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0337, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x0337, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0337, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0337, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0337, 43)
+#elif PACKETVER >= 20080722
+packetLen(0x0337, 33)
+#elif PACKETVER >= 20080715
+packetLen(0x0337, 23)
+#elif PACKETVER >= 20080708
+packetLen(0x0337, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20080603
+packetLen(0x0337, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0337, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x0337, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0337, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0337, 58)
+#elif PACKETVER >= 20080415
+packetLen(0x0337, 9)
+#elif PACKETVER >= 20080408
+packetLen(0x0337, 42)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20081001
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0338, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0338, 28)
+#elif PACKETVER >= 20080903
+packetLen(0x0338, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0338, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0338, 44)
+#elif PACKETVER >= 20080701
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0338, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0338, 32)
+#elif PACKETVER >= 20080507
+packetLen(0x0338, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0338, 67)
+#elif PACKETVER >= 20080415
+packetLen(0x0338, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20081217
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0339, 17)
+#elif PACKETVER >= 20081126
+packetLen(0x0339, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0339, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0339, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0339, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0339, 16)
+#elif PACKETVER >= 20080806
+packetLen(0x0339, 17)
+#elif PACKETVER >= 20080730
+packetLen(0x0339, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0339, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x0339, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0339, 39)
+#elif PACKETVER >= 20080617
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0339, 27)
+#elif PACKETVER >= 20080603
+packetLen(0x0339, 79)
+#elif PACKETVER >= 20080528
+packetLen(0x0339, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0339, 7)
+#elif PACKETVER >= 20080415
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0339, 7)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20081217
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x033a, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x033a, 114)
+#elif PACKETVER >= 20081119
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x033a, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x033a, 57)
+#elif PACKETVER >= 20080903
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033a, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x033a, 67)
+#elif PACKETVER >= 20080730
+packetLen(0x033a, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033a, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x033a, 67)
+#elif PACKETVER >= 20080520
+packetLen(0x033a, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033a, 39)
+#elif PACKETVER >= 20080507
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x033a, 4)
+#elif PACKETVER >= 20080415
+packetLen(0x033a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x033a, 32)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20081217
+packetLen(0x033b, 97)
+#elif PACKETVER >= 20081203
+packetLen(0x033b, 67)
+#elif PACKETVER >= 20081126
+packetLen(0x033b, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x033b, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x033b, 186)
+#elif PACKETVER >= 20081029
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x033b, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x033b, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x033b, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033b, 14)
+#elif PACKETVER >= 20080603
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033b, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033b, 182)
+#elif PACKETVER >= 20080507
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x033b, 20)
+#elif PACKETVER >= 20080422
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033b, 3)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20081203
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x033c, 282)
+#elif PACKETVER >= 20081105
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x033c, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x033c, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x033c, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x033c, 59)
+#elif PACKETVER >= 20081001
+packetLen(0x033c, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x033c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033c, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x033c, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x033c, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x033c, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x033c, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x033c, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x033c, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033c, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20080429
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x033c, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x033c, 21)
+#elif PACKETVER >= 20080408
+packetLen(0x033c, 86)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20081217
+packetLen(0x033d, 43)
+#elif PACKETVER >= 20081203
+packetLen(0x033d, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x033d, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x033d, 29)
+#elif PACKETVER >= 20080924
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x033d, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x033d, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033d, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x033d, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x033d, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x033d, 32)
+#elif PACKETVER >= 20080624
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033d, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20080513
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x033d, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x033d, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x033d, 10)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20081203
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x033e, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x033e, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x033e, 71)
+#elif PACKETVER >= 20080924
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x033e, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x033e, 22)
+#elif PACKETVER >= 20080820
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x033e, 12)
+#elif PACKETVER >= 20080806
+packetLen(0x033e, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080528
+packetLen(0x033e, 11)
+#elif PACKETVER >= 20080520
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080513
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x033e, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x033e, 33)
+#elif PACKETVER >= 20080422
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033e, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x033e, 9)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20081126
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x033f, 12)
+#elif PACKETVER >= 20081112
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x033f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x033f, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x033f, 33)
+#elif PACKETVER >= 20081008
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x033f, 31)
+#elif PACKETVER >= 20080924
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x033f, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x033f, 57)
+#elif PACKETVER >= 20080722
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x033f, 17)
+#elif PACKETVER >= 20080701
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x033f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x033f, 5)
+#elif PACKETVER >= 20080520
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x033f, 282)
+#elif PACKETVER >= 20080507
+packetLen(0x033f, 27)
+#elif PACKETVER >= 20080429
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x033f, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20081217
+packetLen(0x0340, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0340, 66)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0340, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0340, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0340, 32)
+#elif PACKETVER >= 20080715
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0340, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0340, 19)
+#elif PACKETVER >= 20080513
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20080507
+packetLen(0x0340, 18)
+#elif PACKETVER >= 20080429
+packetLen(0x0340, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0340, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20081112
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0341, 27)
+#elif PACKETVER >= 20081029
+packetLen(0x0341, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0341, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x0341, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0341, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0341, 57)
+#elif PACKETVER >= 20080813
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0341, 33)
+#elif PACKETVER >= 20080722
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0341, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x0341, 58)
+#elif PACKETVER >= 20080617
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0341, 16)
+#elif PACKETVER >= 20080429
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0341, 11)
+#elif PACKETVER >= 20080415
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0341, 2)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20081203
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0342, 60)
+#elif PACKETVER >= 20081112
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0342, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0342, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0342, 9)
+#elif PACKETVER >= 20080813
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0342, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0342, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0342, 186)
+#elif PACKETVER >= 20080610
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0342, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0342, 14)
+#elif PACKETVER >= 20080429
+packetLen(0x0342, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0342, 5)
+#elif PACKETVER >= 20080408
+packetLen(0x0342, 4)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20081217
+packetLen(0x0343, 21)
+#elif PACKETVER >= 20081203
+packetLen(0x0343, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0343, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0343, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0343, 67)
+#elif PACKETVER >= 20081029
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0343, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x0343, 97)
+#elif PACKETVER >= 20081008
+packetLen(0x0343, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0343, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0343, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0343, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0343, 71)
+#elif PACKETVER >= 20080827
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0343, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0343, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0343, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0343, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0343, 17)
+#elif PACKETVER >= 20080422
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0343, 2)
+#elif PACKETVER >= 20080408
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20081217
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0344, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0344, 32)
+#elif PACKETVER >= 20080924
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0344, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0344, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0344, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0344, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0344, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0344, 35)
+#elif PACKETVER >= 20080603
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0344, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0344, 10)
+#elif PACKETVER >= 20080507
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20080422
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20081217
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0345, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x0345, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0345, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x0345, 186)
+#elif PACKETVER >= 20080827
+packetLen(0x0345, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0345, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0345, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x0345, 11)
+#elif PACKETVER >= 20080715
+packetLen(0x0345, 27)
+#elif PACKETVER >= 20080708
+packetLen(0x0345, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0345, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0345, 60)
+#elif PACKETVER >= 20080617
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0345, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0345, 9)
+#elif PACKETVER >= 20080513
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0345, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0345, 14)
+#elif PACKETVER >= 20080408
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20081217
+packetLen(0x0346, 13)
+#elif PACKETVER >= 20081126
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0346, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0346, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0346, 31)
+#elif PACKETVER >= 20080924
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0346, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0346, 15)
+#elif PACKETVER >= 20080617
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0346, 16)
+#elif PACKETVER >= 20080603
+packetLen(0x0346, 3)
+#elif PACKETVER >= 20080520
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0346, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0346, 11)
+#elif PACKETVER >= 20080429
+packetLen(0x0346, 5)
+#elif PACKETVER >= 20080422
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0346, 55)
+#elif PACKETVER >= 20080408
+packetLen(0x0346, 8)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20081217
+packetLen(0x0347, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0347, 32)
+#elif PACKETVER >= 20080813
+packetLen(0x0347, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0347, 16)
+#elif PACKETVER >= 20080701
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0347, 29)
+#elif PACKETVER >= 20080513
+packetLen(0x0347, 8)
+#elif PACKETVER >= 20080507
+packetLen(0x0347, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080422
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0347, 39)
+#elif PACKETVER >= 20080408
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20081217
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0348, 5)
+#elif PACKETVER >= 20081105
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0348, 31)
+#elif PACKETVER >= 20081015
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0348, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0348, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0348, 17)
+#elif PACKETVER >= 20080827
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0348, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0348, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0348, 11)
+#elif PACKETVER >= 20080701
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0348, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0348, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0348, 26)
+#elif PACKETVER >= 20080507
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0348, 6)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20081217
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0349, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0349, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0349, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0349, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0349, 31)
+#elif PACKETVER >= 20080917
+packetLen(0x0349, 32)
+#elif PACKETVER >= 20080910
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0349, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x0349, 20)
+#elif PACKETVER >= 20080806
+packetLen(0x0349, 16)
+#elif PACKETVER >= 20080730
+packetLen(0x0349, 26)
+#elif PACKETVER >= 20080722
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x0349, 30)
+#elif PACKETVER >= 20080708
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0349, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0349, 26)
+#elif PACKETVER >= 20080513
+packetLen(0x0349, 36)
+#elif PACKETVER >= 20080507
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20080429
+packetLen(0x0349, 54)
+#elif PACKETVER >= 20080422
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0349, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x0349, 4)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20081217
+packetLen(0x034a, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x034a, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x034a, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x034a, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x034a, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x034a, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x034a, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x034a, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x034a, 57)
+#elif PACKETVER >= 20080624
+packetLen(0x034a, 34)
+#elif PACKETVER >= 20080617
+packetLen(0x034a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034a, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x034a, 9)
+#elif PACKETVER >= 20080520
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034a, 59)
+#elif PACKETVER >= 20080429
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20080408
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20081203
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x034b, 27)
+#elif PACKETVER >= 20081119
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x034b, 14)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x034b, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x034b, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x034b, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x034b, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x034b, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x034b, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x034b, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x034b, 282)
+#elif PACKETVER >= 20080730
+packetLen(0x034b, 18)
+#elif PACKETVER >= 20080715
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x034b, 8)
+#elif PACKETVER >= 20080701
+packetLen(0x034b, 24)
+#elif PACKETVER >= 20080624
+packetLen(0x034b, 33)
+#elif PACKETVER >= 20080617
+packetLen(0x034b, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034b, 10)
+#elif PACKETVER >= 20080513
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034b, 60)
+#elif PACKETVER >= 20080422
+packetLen(0x034b, 14)
+#elif PACKETVER >= 20080415
+packetLen(0x034b, 65)
+#elif PACKETVER >= 20080408
+packetLen(0x034b, 7)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20081217
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x034c, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x034c, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x034c, 282)
+#elif PACKETVER >= 20080924
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x034c, 21)
+#elif PACKETVER >= 20080813
+packetLen(0x034c, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x034c, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x034c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x034c, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x034c, 86)
+#elif PACKETVER >= 20080520
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034c, 14)
+#elif PACKETVER >= 20080507
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x034c, 16)
+#elif PACKETVER >= 20080408
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20081217
+packetLen(0x034d, 60)
+#elif PACKETVER >= 20081126
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x034d, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x034d, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x034d, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x034d, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x034d, 36)
+#elif PACKETVER >= 20080715
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034d, 36)
+#elif PACKETVER >= 20080415
+packetLen(0x034d, 23)
+#elif PACKETVER >= 20080408
+packetLen(0x034d, 2)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20081217
+packetLen(0x034e, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x034e, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x034e, 32)
+#elif PACKETVER >= 20081022
+packetLen(0x034e, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x034e, 19)
+#elif PACKETVER >= 20080722
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x034e, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x034e, 59)
+#elif PACKETVER >= 20080520
+packetLen(0x034e, 7)
+#elif PACKETVER >= 20080429
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x034e, 27)
+#elif PACKETVER >= 20080415
+packetLen(0x034e, 90)
+#elif PACKETVER >= 20080408
+packetLen(0x034e, 11)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20081217
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x034f, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x034f, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x034f, 67)
+#elif PACKETVER >= 20080924
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x034f, 35)
+#elif PACKETVER >= 20080820
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x034f, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x034f, 20)
+#elif PACKETVER >= 20080701
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x034f, 71)
+#elif PACKETVER >= 20080617
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x034f, 2)
+#elif PACKETVER >= 20080603
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x034f, 27)
+#elif PACKETVER >= 20080520
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x034f, 8)
+#elif PACKETVER >= 20080429
+packetLen(0x034f, 4)
+#elif PACKETVER >= 20080422
+packetLen(0x034f, 18)
+#elif PACKETVER >= 20080415
+packetLen(0x034f, 11)
+#elif PACKETVER >= 20080408
+packetLen(0x034f, 2)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20081203
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0350, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0350, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0350, 15)
+#elif PACKETVER >= 20081015
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0350, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0350, 66)
+#elif PACKETVER >= 20080722
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0350, 43)
+#elif PACKETVER >= 20080708
+packetLen(0x0350, 13)
+#elif PACKETVER >= 20080624
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0350, 60)
+#elif PACKETVER >= 20080520
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0350, 6)
+#elif PACKETVER >= 20080415
+packetLen(0x0350, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20081217
+packetLen(0x0351, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0351, 33)
+#elif PACKETVER >= 20081029
+packetLen(0x0351, 66)
+#elif PACKETVER >= 20081022
+packetLen(0x0351, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0351, 27)
+#elif PACKETVER >= 20081001
+packetLen(0x0351, 23)
+#elif PACKETVER >= 20080917
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0351, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0351, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0351, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x0351, 16)
+#elif PACKETVER >= 20080708
+packetLen(0x0351, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0351, 282)
+#elif PACKETVER >= 20080617
+packetLen(0x0351, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0351, 20)
+#elif PACKETVER >= 20080513
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20080422
+packetLen(0x0351, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x0351, 15)
+#elif PACKETVER >= 20080408
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20081217
+packetLen(0x0352, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0352, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x0352, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x0352, 22)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0352, 66)
+#elif PACKETVER >= 20081029
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0352, 17)
+#elif PACKETVER >= 20081001
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0352, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0352, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0352, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0352, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0352, 60)
+#elif PACKETVER >= 20080603
+packetLen(0x0352, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0352, 54)
+#elif PACKETVER >= 20080520
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0352, 9)
+#elif PACKETVER >= 20080507
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20080422
+packetLen(0x0352, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0352, 8)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20081217
+packetLen(0x0353, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0353, 29)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0353, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x0353, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x0353, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0353, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x0353, 29)
+#elif PACKETVER >= 20080722
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0353, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x0353, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080603
+packetLen(0x0353, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0353, 30)
+#elif PACKETVER >= 20080520
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080513
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20080507
+packetLen(0x0353, 34)
+#elif PACKETVER >= 20080429
+packetLen(0x0353, 9)
+#elif PACKETVER >= 20080422
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20080408
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20081217
+packetLen(0x0354, 19)
+#elif PACKETVER >= 20081126
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0354, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0354, 36)
+#elif PACKETVER >= 20080910
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0354, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0354, 23)
+#elif PACKETVER >= 20080624
+packetLen(0x0354, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0354, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0354, 10)
+#elif PACKETVER >= 20080520
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0354, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20080429
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0354, 182)
+#elif PACKETVER >= 20080415
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0354, 3)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20081217
+packetLen(0x0355, 16)
+#elif PACKETVER >= 20081203
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0355, 26)
+#elif PACKETVER >= 20081119
+packetLen(0x0355, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0355, 60)
+#elif PACKETVER >= 20081029
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0355, 20)
+#elif PACKETVER >= 20081015
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0355, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0355, 53)
+#elif PACKETVER >= 20080903
+packetLen(0x0355, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0355, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x0355, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0355, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0355, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0355, 7)
+#elif PACKETVER >= 20080603
+packetLen(0x0355, 55)
+#elif PACKETVER >= 20080528
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0355, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x0355, 33)
+#elif PACKETVER >= 20080507
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080429
+packetLen(0x0355, 36)
+#elif PACKETVER >= 20080422
+packetLen(0x0355, 39)
+#elif PACKETVER >= 20080415
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0355, 2)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20081119
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0356, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0356, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x0356, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0356, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0356, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0356, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0356, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0356, 29)
+#elif PACKETVER >= 20080603
+packetLen(0x0356, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0356, 27)
+#elif PACKETVER >= 20080513
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x0356, 2)
+#elif PACKETVER >= 20080429
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0356, 10)
+#elif PACKETVER >= 20080415
+packetLen(0x0356, 54)
+#elif PACKETVER >= 20080408
+packetLen(0x0356, 57)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20081126
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0357, 54)
+#elif PACKETVER >= 20081112
+packetLen(0x0357, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0357, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0357, 23)
+#elif PACKETVER >= 20081015
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0357, 36)
+#elif PACKETVER >= 20081001
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0357, 67)
+#elif PACKETVER >= 20080917
+packetLen(0x0357, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0357, 23)
+#elif PACKETVER >= 20080827
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0357, 282)
+#elif PACKETVER >= 20080708
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0357, 3)
+#elif PACKETVER >= 20080603
+packetLen(0x0357, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080513
+packetLen(0x0357, 31)
+#elif PACKETVER >= 20080507
+packetLen(0x0357, 22)
+#elif PACKETVER >= 20080429
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20080422
+packetLen(0x0357, 21)
+#elif PACKETVER >= 20080415
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20080408
+packetLen(0x0357, 33)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20081119
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0358, 13)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0358, 27)
+#elif PACKETVER >= 20080924
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0358, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0358, 20)
+#elif PACKETVER >= 20080624
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0358, 5)
+#elif PACKETVER >= 20080603
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0358, 14)
+#elif PACKETVER >= 20080513
+packetLen(0x0358, 6)
+#elif PACKETVER >= 20080507
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080429
+packetLen(0x0358, 10)
+#elif PACKETVER >= 20080422
+packetLen(0x0358, 3)
+#elif PACKETVER >= 20080415
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x0358, 10)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20081105
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0359, 16)
+#elif PACKETVER >= 20081022
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0359, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0359, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x0359, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0359, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0359, 102)
+#elif PACKETVER >= 20080617
+packetLen(0x0359, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0359, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x0359, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080513
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080507
+packetLen(0x0359, 55)
+#elif PACKETVER >= 20080429
+packetLen(0x0359, 30)
+#elif PACKETVER >= 20080422
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20080415
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20081217
+packetLen(0x035a, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x035a, 20)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x035a, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x035a, 53)
+#elif PACKETVER >= 20080910
+packetLen(0x035a, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x035a, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x035a, 55)
+#elif PACKETVER >= 20080730
+packetLen(0x035a, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x035a, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x035a, 28)
+#elif PACKETVER >= 20080603
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x035a, 4)
+#elif PACKETVER >= 20080520
+packetLen(0x035a, 31)
+#elif PACKETVER >= 20080513
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20080507
+packetLen(0x035a, 282)
+#elif PACKETVER >= 20080429
+packetLen(0x035a, 8)
+#elif PACKETVER >= 20080422
+packetLen(0x035a, 79)
+#elif PACKETVER >= 20080415
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20080408
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20081203
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x035b, 31)
+#elif PACKETVER >= 20081022
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x035b, 24)
+#elif PACKETVER >= 20081001
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x035b, 29)
+#elif PACKETVER >= 20080910
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x035b, 19)
+#elif PACKETVER >= 20080813
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x035b, 11)
+#elif PACKETVER >= 20080730
+packetLen(0x035b, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x035b, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x035b, 29)
+#elif PACKETVER >= 20080610
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080603
+packetLen(0x035b, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x035b, 16)
+#elif PACKETVER >= 20080520
+packetLen(0x035b, 6)
+#elif PACKETVER >= 20080513
+packetLen(0x035b, 11)
+#elif PACKETVER >= 20080507
+packetLen(0x035b, 9)
+#elif PACKETVER >= 20080429
+packetLen(0x035b, 5)
+#elif PACKETVER >= 20080415
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20080408
+packetLen(0x035b, 3)
+#endif
+
+// Packet: 0x035c
+#if PACKETVER >= 20080520
+packetLen(0x035c, 2)
+#endif
+
+// Packet: 0x035d
+#if PACKETVER >= 20080521
+packetLen(0x035d, -1)
+#elif PACKETVER >= 20080520
+packetLen(0x035d, 10)
+#endif
+
+// Packet: 0x035e
+#if PACKETVER >= 20080521
+packetLen(0x035e, 2)
+#elif PACKETVER >= 20080520
+packetLen(0x035e, -1)
+#endif
+
+// Packet: 0x035f
+#if PACKETVER >= 20081126
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x035f, 59)
+#elif PACKETVER >= 20081112
+packetLen(0x035f, 186)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x035f, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x035f, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x035f, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x035f, 282)
+#elif PACKETVER >= 20080715
+packetLen(0x035f, 9)
+#elif PACKETVER >= 20080708
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x035f, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x035f, -1)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20081217
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0360, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x0360, 28)
+#elif PACKETVER >= 20081022
+packetLen(0x0360, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0360, 16)
+#elif PACKETVER >= 20080917
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x0360, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x0360, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0360, 12)
+#elif PACKETVER >= 20080806
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0360, 21)
+#elif PACKETVER >= 20080722
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0360, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x0360, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0360, -1)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20081217
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x0361, 9)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0361, 60)
+#elif PACKETVER >= 20080813
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0361, 81)
+#elif PACKETVER >= 20080708
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0361, 27)
+#elif PACKETVER >= 20080624
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0361, -1)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20081112
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0362, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x0362, 34)
+#elif PACKETVER >= 20080813
+packetLen(0x0362, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0362, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0362, 66)
+#elif PACKETVER >= 20080708
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0362, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0362, -1)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20081203
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0363, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0363, 17)
+#elif PACKETVER >= 20081008
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x0363, 13)
+#elif PACKETVER >= 20080910
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0363, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x0363, 58)
+#elif PACKETVER >= 20080528
+packetLen(0x0363, -1)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20081203
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0364, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0364, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0364, 29)
+#elif PACKETVER >= 20081022
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0364, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0364, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0364, 182)
+#elif PACKETVER >= 20080708
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0364, 43)
+#elif PACKETVER >= 20080624
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20080617
+packetLen(0x0364, 15)
+#elif PACKETVER >= 20080528
+packetLen(0x0364, -1)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20081217
+packetLen(0x0365, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0365, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0365, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0365, 9)
+#elif PACKETVER >= 20081001
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0365, 86)
+#elif PACKETVER >= 20080917
+packetLen(0x0365, 13)
+#elif PACKETVER >= 20080910
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0365, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0365, 30)
+#elif PACKETVER >= 20080806
+packetLen(0x0365, 79)
+#elif PACKETVER >= 20080708
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20080528
+packetLen(0x0365, -1)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20081105
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0366, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0366, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0366, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0366, 71)
+#elif PACKETVER >= 20080701
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0366, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20081217
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x0367, 58)
+#elif PACKETVER >= 20081001
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0367, 11)
+#elif PACKETVER >= 20080917
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0367, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0367, 282)
+#elif PACKETVER >= 20080813
+packetLen(0x0367, 59)
+#elif PACKETVER >= 20080708
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0367, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x0367, -1)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20081217
+packetLen(0x0368, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0368, 34)
+#elif PACKETVER >= 20081105
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0368, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0368, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0368, 13)
+#elif PACKETVER >= 20080917
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0368, 43)
+#elif PACKETVER >= 20080827
+packetLen(0x0368, 21)
+#elif PACKETVER >= 20080820
+packetLen(0x0368, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0368, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0368, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0368, -1)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20081126
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x0369, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0369, 53)
+#elif PACKETVER >= 20080924
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0369, 15)
+#elif PACKETVER >= 20080910
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0369, 33)
+#elif PACKETVER >= 20080827
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0369, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0369, 29)
+#elif PACKETVER >= 20080708
+packetLen(0x0369, 39)
+#elif PACKETVER >= 20080701
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20080624
+packetLen(0x0369, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x0369, -1)
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20081217
+packetLen(0x036a, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036a, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x036a, 32)
+#elif PACKETVER >= 20081001
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x036a, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036a, 68)
+#elif PACKETVER >= 20080903
+packetLen(0x036a, 54)
+#elif PACKETVER >= 20080827
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x036a, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x036a, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x036a, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x036a, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x036a, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20081217
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x036b, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x036b, 97)
+#elif PACKETVER >= 20081029
+packetLen(0x036b, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x036b, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x036b, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x036b, 32)
+#elif PACKETVER >= 20080903
+packetLen(0x036b, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036b, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20081217
+packetLen(0x036c, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036c, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x036c, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x036c, 35)
+#elif PACKETVER >= 20081015
+packetLen(0x036c, 42)
+#elif PACKETVER >= 20081001
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036c, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x036c, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x036c, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x036c, 32)
+#elif PACKETVER >= 20080806
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x036c, 9)
+#elif PACKETVER >= 20080708
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20081217
+packetLen(0x036d, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x036d, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x036d, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036d, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x036d, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x036d, 33)
+#elif PACKETVER >= 20080813
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x036d, 20)
+#elif PACKETVER >= 20080730
+packetLen(0x036d, 10)
+#elif PACKETVER >= 20080708
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036d, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x036d, 21)
+#elif PACKETVER >= 20080617
+packetLen(0x036d, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20081217
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036e, 53)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x036e, 31)
+#elif PACKETVER >= 20080917
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x036e, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x036e, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x036e, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20081217
+packetLen(0x036f, 28)
+#elif PACKETVER >= 20081203
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x036f, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x036f, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x036f, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x036f, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x036f, 20)
+#elif PACKETVER >= 20081001
+packetLen(0x036f, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x036f, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x036f, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x036f, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x036f, 114)
+#elif PACKETVER >= 20080708
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x036f, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x036f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20081217
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0370, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0370, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0370, 19)
+#elif PACKETVER >= 20081112
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0370, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0370, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0370, 31)
+#elif PACKETVER >= 20080910
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0370, 16)
+#elif PACKETVER >= 20080806
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0370, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0370, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0370, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20081203
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0371, 282)
+#elif PACKETVER >= 20081105
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0371, 55)
+#elif PACKETVER >= 20080924
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0371, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0371, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0371, 20)
+#elif PACKETVER >= 20080813
+packetLen(0x0371, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0371, 55)
+#elif PACKETVER >= 20080715
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0371, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x0371, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20081203
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0372, 23)
+#elif PACKETVER >= 20081119
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0372, 17)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0372, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0372, 66)
+#elif PACKETVER >= 20080917
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0372, 23)
+#elif PACKETVER >= 20080903
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0372, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0372, 15)
+#elif PACKETVER >= 20080730
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0372, 67)
+#elif PACKETVER >= 20080715
+packetLen(0x0372, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0372, 34)
+#elif PACKETVER >= 20080701
+packetLen(0x0372, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20081217
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0373, 12)
+#elif PACKETVER >= 20081126
+packetLen(0x0373, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0373, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0373, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0373, 33)
+#elif PACKETVER >= 20080708
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0373, 9)
+#elif PACKETVER >= 20080624
+packetLen(0x0373, 86)
+#elif PACKETVER >= 20080528
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20081217
+packetLen(0x0374, 36)
+#elif PACKETVER >= 20081126
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0374, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0374, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0374, 68)
+#elif PACKETVER >= 20080917
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0374, 22)
+#elif PACKETVER >= 20080903
+packetLen(0x0374, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0374, 17)
+#elif PACKETVER >= 20080813
+packetLen(0x0374, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0374, 90)
+#elif PACKETVER >= 20080730
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0374, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0374, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20081217
+packetLen(0x0375, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0375, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x0375, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0375, 15)
+#elif PACKETVER >= 20081112
+packetLen(0x0375, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0375, 28)
+#elif PACKETVER >= 20081008
+packetLen(0x0375, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0375, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0375, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x0375, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x0375, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x0375, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x0375, 5)
+#elif PACKETVER >= 20080624
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0375, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20081217
+packetLen(0x0376, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0376, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0376, 31)
+#elif PACKETVER >= 20081001
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0376, 31)
+#elif PACKETVER >= 20080903
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0376, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0376, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0376, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x0376, 12)
+#elif PACKETVER >= 20080528
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20081203
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0377, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0377, 33)
+#elif PACKETVER >= 20081112
+packetLen(0x0377, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0377, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0377, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0377, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0377, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x0377, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20081126
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0378, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0378, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0378, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0378, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0378, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0378, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x0378, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0378, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0378, 22)
+#elif PACKETVER >= 20080715
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0378, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20081126
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0379, 34)
+#elif PACKETVER >= 20081015
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0379, 28)
+#elif PACKETVER >= 20080917
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0379, 54)
+#elif PACKETVER >= 20080820
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0379, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0379, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0379, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0379, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x0379, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20081217
+packetLen(0x037a, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x037a, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x037a, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x037a, 71)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x037a, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x037a, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037a, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x037a, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x037a, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x037a, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x037a, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20081126
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x037b, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x037b, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x037b, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x037b, 39)
+#elif PACKETVER >= 20080903
+packetLen(0x037b, 22)
+#elif PACKETVER >= 20080827
+packetLen(0x037b, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x037b, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x037b, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x037b, 81)
+#elif PACKETVER >= 20080708
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x037b, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20081217
+packetLen(0x037c, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x037c, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x037c, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x037c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037c, 26)
+#elif PACKETVER >= 20080806
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x037c, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x037c, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037c, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x037c, 53)
+#elif PACKETVER >= 20080528
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20081126
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x037d, 27)
+#elif PACKETVER >= 20081029
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x037d, 17)
+#elif PACKETVER >= 20081001
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x037d, 282)
+#elif PACKETVER >= 20080903
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037d, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x037d, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x037d, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x037d, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20081217
+packetLen(0x037e, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x037e, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x037e, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x037e, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x037e, 67)
+#elif PACKETVER >= 20080910
+packetLen(0x037e, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037e, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x037e, 114)
+#elif PACKETVER >= 20080715
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x037e, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x037e, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20081217
+packetLen(0x037f, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x037f, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x037f, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x037f, 68)
+#elif PACKETVER >= 20080917
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x037f, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x037f, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x037f, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x037f, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x037f, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20081126
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0380, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0380, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0380, 5)
+#elif PACKETVER >= 20081022
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0380, 282)
+#elif PACKETVER >= 20081008
+packetLen(0x0380, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0380, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x0380, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x0380, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0380, 32)
+#elif PACKETVER >= 20080708
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0380, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20081217
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0381, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0381, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0381, 53)
+#elif PACKETVER >= 20081022
+packetLen(0x0381, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0381, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0381, 9)
+#elif PACKETVER >= 20080820
+packetLen(0x0381, 35)
+#elif PACKETVER >= 20080813
+packetLen(0x0381, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0381, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0381, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20081217
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0382, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x0382, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0382, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0382, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0382, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0382, 10)
+#elif PACKETVER >= 20080730
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0382, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0382, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0382, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20081217
+packetLen(0x0383, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0383, 114)
+#elif PACKETVER >= 20080910
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0383, 18)
+#elif PACKETVER >= 20080827
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0383, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x0383, 57)
+#elif PACKETVER >= 20080806
+packetLen(0x0383, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0383, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0383, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20081126
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0384, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0384, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0384, 54)
+#elif PACKETVER >= 20081001
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0384, 34)
+#elif PACKETVER >= 20080917
+packetLen(0x0384, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x0384, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0384, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x0384, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x0384, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0384, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0384, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0384, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20081217
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0385, 53)
+#elif PACKETVER >= 20081029
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0385, 39)
+#elif PACKETVER >= 20081001
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0385, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0385, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0385, 28)
+#elif PACKETVER >= 20080813
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0385, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x0385, 67)
+#elif PACKETVER >= 20080708
+packetLen(0x0385, 97)
+#elif PACKETVER >= 20080624
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0385, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20081217
+packetLen(0x0386, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x0386, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0386, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0386, 23)
+#elif PACKETVER >= 20081001
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0386, 43)
+#elif PACKETVER >= 20080917
+packetLen(0x0386, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0386, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x0386, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x0386, 9)
+#elif PACKETVER >= 20080617
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20081217
+packetLen(0x0387, 71)
+#elif PACKETVER >= 20081203
+packetLen(0x0387, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x0387, 90)
+#elif PACKETVER >= 20081119
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0387, 60)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0387, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0387, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0387, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x0387, 53)
+#elif PACKETVER >= 20080924
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0387, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0387, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0387, 114)
+#elif PACKETVER >= 20080722
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0387, 17)
+#elif PACKETVER >= 20080708
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0387, 22)
+#elif PACKETVER >= 20080624
+packetLen(0x0387, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x0387, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20081217
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0388, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0388, 13)
+#elif PACKETVER >= 20081029
+packetLen(0x0388, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0388, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0388, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0388, 29)
+#elif PACKETVER >= 20080917
+packetLen(0x0388, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x0388, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0388, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0388, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0388, 30)
+#elif PACKETVER >= 20080624
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0388, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20081217
+packetLen(0x0389, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0389, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0389, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0389, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0389, 21)
+#elif PACKETVER >= 20080806
+packetLen(0x0389, 102)
+#elif PACKETVER >= 20080730
+packetLen(0x0389, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0389, 39)
+#elif PACKETVER >= 20080701
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0389, 8)
+#elif PACKETVER >= 20080617
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20081217
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x038a, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x038a, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x038a, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x038a, 54)
+#elif PACKETVER >= 20080827
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x038a, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x038a, 24)
+#elif PACKETVER >= 20080715
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x038a, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x038a, 102)
+#elif PACKETVER >= 20080624
+packetLen(0x038a, 26)
+#elif PACKETVER >= 20080617
+packetLen(0x038a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20081217
+packetLen(0x038b, 27)
+#elif PACKETVER >= 20081203
+packetLen(0x038b, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x038b, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x038b, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x038b, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x038b, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x038b, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x038b, 30)
+#elif PACKETVER >= 20080813
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x038b, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x038b, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x038b, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x038b, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x038b, 11)
+#elif PACKETVER >= 20080617
+packetLen(0x038b, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20081217
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x038c, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x038c, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x038c, 5)
+#elif PACKETVER >= 20081029
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x038c, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x038c, 102)
+#elif PACKETVER >= 20081008
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x038c, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x038c, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x038c, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x038c, 11)
+#elif PACKETVER >= 20080806
+packetLen(0x038c, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x038c, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x038c, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x038c, 30)
+#elif PACKETVER >= 20080617
+packetLen(0x038c, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20081217
+packetLen(0x038d, 32)
+#elif PACKETVER >= 20081203
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x038d, 33)
+#elif PACKETVER >= 20081119
+packetLen(0x038d, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x038d, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x038d, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x038d, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x038d, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x038d, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x038d, 21)
+#elif PACKETVER >= 20080903
+packetLen(0x038d, 27)
+#elif PACKETVER >= 20080827
+packetLen(0x038d, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x038d, 182)
+#elif PACKETVER >= 20080722
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x038d, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038d, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x038d, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20081217
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x038e, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x038e, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x038e, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x038e, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x038e, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x038e, 44)
+#elif PACKETVER >= 20080730
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x038e, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x038e, 282)
+#elif PACKETVER >= 20080701
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038e, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20081217
+packetLen(0x038f, 39)
+#elif PACKETVER >= 20081203
+packetLen(0x038f, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x038f, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x038f, 19)
+#elif PACKETVER >= 20081008
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x038f, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x038f, 22)
+#elif PACKETVER >= 20080917
+packetLen(0x038f, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x038f, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x038f, 16)
+#elif PACKETVER >= 20080820
+packetLen(0x038f, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x038f, 114)
+#elif PACKETVER >= 20080701
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x038f, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20081203
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0390, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0390, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0390, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0390, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0390, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0390, 182)
+#elif PACKETVER >= 20080708
+packetLen(0x0390, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20081217
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0391, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x0391, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0391, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0391, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0391, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0391, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0391, 11)
+#elif PACKETVER >= 20080910
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0391, 16)
+#elif PACKETVER >= 20080813
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0391, 29)
+#elif PACKETVER >= 20080722
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0391, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20081217
+packetLen(0x0392, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x0392, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0392, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x0392, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0392, 11)
+#elif PACKETVER >= 20081029
+packetLen(0x0392, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0392, 24)
+#elif PACKETVER >= 20081015
+packetLen(0x0392, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0392, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0392, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0392, 17)
+#elif PACKETVER >= 20080820
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0392, 29)
+#elif PACKETVER >= 20080806
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0392, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0392, 22)
+#elif PACKETVER >= 20080708
+packetLen(0x0392, 60)
+#elif PACKETVER >= 20080624
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0392, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20081217
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0393, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0393, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0393, 60)
+#elif PACKETVER >= 20081015
+packetLen(0x0393, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0393, 33)
+#elif PACKETVER >= 20080924
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0393, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0393, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x0393, 7)
+#elif PACKETVER >= 20080730
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0393, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0393, 26)
+#elif PACKETVER >= 20080701
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0393, 17)
+#elif PACKETVER >= 20080617
+packetLen(0x0393, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20081203
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0394, 28)
+#elif PACKETVER >= 20081105
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0394, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x0394, 58)
+#elif PACKETVER >= 20081015
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0394, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x0394, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0394, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0394, 54)
+#elif PACKETVER >= 20080813
+packetLen(0x0394, 15)
+#elif PACKETVER >= 20080806
+packetLen(0x0394, 19)
+#elif PACKETVER >= 20080730
+packetLen(0x0394, 282)
+#elif PACKETVER >= 20080722
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0394, 19)
+#elif PACKETVER >= 20080708
+packetLen(0x0394, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x0394, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20081217
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0395, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x0395, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0395, 55)
+#elif PACKETVER >= 20081112
+packetLen(0x0395, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0395, 58)
+#elif PACKETVER >= 20081022
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0395, 21)
+#elif PACKETVER >= 20081001
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0395, 35)
+#elif PACKETVER >= 20080903
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0395, 32)
+#elif PACKETVER >= 20080813
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x0395, 8)
+#elif PACKETVER >= 20080730
+packetLen(0x0395, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x0395, 5)
+#elif PACKETVER >= 20080701
+packetLen(0x0395, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0395, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20081217
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0396, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0396, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0396, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0396, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0396, 186)
+#elif PACKETVER >= 20080708
+packetLen(0x0396, 60)
+#elif PACKETVER >= 20080701
+packetLen(0x0396, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0396, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20081217
+packetLen(0x0397, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0397, 282)
+#elif PACKETVER >= 20081112
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0397, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x0397, 114)
+#elif PACKETVER >= 20081022
+packetLen(0x0397, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0397, 12)
+#elif PACKETVER >= 20080910
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0397, 13)
+#elif PACKETVER >= 20080827
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0397, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x0397, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x0397, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0397, 53)
+#elif PACKETVER >= 20080708
+packetLen(0x0397, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x0397, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20081203
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0398, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0398, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0398, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0398, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x0398, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0398, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0398, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x0398, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x0398, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x0398, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x0398, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20081217
+packetLen(0x0399, 9)
+#elif PACKETVER >= 20081203
+packetLen(0x0399, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0399, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0399, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0399, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0399, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x0399, 9)
+#elif PACKETVER >= 20080806
+packetLen(0x0399, 30)
+#elif PACKETVER >= 20080730
+packetLen(0x0399, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x0399, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x0399, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x0399, 16)
+#elif PACKETVER >= 20080624
+packetLen(0x0399, 65)
+#elif PACKETVER >= 20080528
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20081217
+packetLen(0x039a, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x039a, 17)
+#elif PACKETVER >= 20081126
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x039a, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x039a, 29)
+#elif PACKETVER >= 20081008
+packetLen(0x039a, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x039a, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20081217
+packetLen(0x039b, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x039b, 43)
+#elif PACKETVER >= 20081119
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x039b, 36)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x039b, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x039b, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x039b, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x039b, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x039b, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20081217
+packetLen(0x039c, 86)
+#elif PACKETVER >= 20081203
+packetLen(0x039c, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x039c, 12)
+#elif PACKETVER >= 20081105
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x039c, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x039c, 18)
+#elif PACKETVER >= 20081015
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x039c, 67)
+#elif PACKETVER >= 20080820
+packetLen(0x039c, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x039c, 31)
+#elif PACKETVER >= 20080730
+packetLen(0x039c, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039c, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20081217
+packetLen(0x039d, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x039d, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x039d, 30)
+#elif PACKETVER >= 20081119
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x039d, 27)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x039d, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x039d, 17)
+#elif PACKETVER >= 20080827
+packetLen(0x039d, 24)
+#elif PACKETVER >= 20080820
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x039d, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x039d, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x039d, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x039d, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x039d, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x039d, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20081119
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x039e, 182)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x039e, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x039e, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x039e, 39)
+#elif PACKETVER >= 20080910
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x039e, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x039e, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x039e, 42)
+#elif PACKETVER >= 20080722
+packetLen(0x039e, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x039e, 27)
+#elif PACKETVER >= 20080701
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039e, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x039e, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20081217
+packetLen(0x039f, 30)
+#elif PACKETVER >= 20081203
+packetLen(0x039f, 39)
+#elif PACKETVER >= 20081126
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x039f, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x039f, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x039f, 282)
+#elif PACKETVER >= 20081001
+packetLen(0x039f, 14)
+#elif PACKETVER >= 20080924
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x039f, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x039f, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x039f, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x039f, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x039f, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20081203
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x03a0, 17)
+#elif PACKETVER >= 20081112
+packetLen(0x03a0, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a0, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x03a0, 22)
+#elif PACKETVER >= 20081015
+packetLen(0x03a0, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03a0, 5)
+#elif PACKETVER >= 20080813
+packetLen(0x03a0, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a0, 16)
+#elif PACKETVER >= 20080715
+packetLen(0x03a0, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20081203
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a1, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a1, 32)
+#elif PACKETVER >= 20081022
+packetLen(0x03a1, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03a1, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03a1, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x03a1, 15)
+#elif PACKETVER >= 20080715
+packetLen(0x03a1, 71)
+#elif PACKETVER >= 20080708
+packetLen(0x03a1, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03a1, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20081217
+packetLen(0x03a2, 282)
+#elif PACKETVER >= 20081203
+packetLen(0x03a2, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03a2, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03a2, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x03a2, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x03a2, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03a2, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03a2, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x03a2, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a2, 13)
+#elif PACKETVER >= 20080806
+packetLen(0x03a2, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a2, 26)
+#elif PACKETVER >= 20080715
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a2, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20081126
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03a3, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a3, 20)
+#elif PACKETVER >= 20080910
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03a3, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x03a3, 21)
+#elif PACKETVER >= 20080820
+packetLen(0x03a3, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03a3, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x03a3, 23)
+#elif PACKETVER >= 20080722
+packetLen(0x03a3, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03a3, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03a3, 21)
+#elif PACKETVER >= 20080624
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a3, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20081217
+packetLen(0x03a4, 44)
+#elif PACKETVER >= 20081203
+packetLen(0x03a4, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x03a4, 58)
+#elif PACKETVER >= 20081119
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a4, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a4, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03a4, 12)
+#elif PACKETVER >= 20080910
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03a4, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x03a4, 33)
+#elif PACKETVER >= 20080820
+packetLen(0x03a4, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a4, 30)
+#elif PACKETVER >= 20080701
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a4, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20081217
+packetLen(0x03a5, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a5, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a5, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x03a5, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03a5, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03a5, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03a5, 26)
+#elif PACKETVER >= 20080903
+packetLen(0x03a5, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03a5, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a5, 26)
+#elif PACKETVER >= 20080730
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a5, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03a5, 2)
+#elif PACKETVER >= 20080708
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20080701
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20080617
+packetLen(0x03a5, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20081203
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03a6, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a6, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03a6, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03a6, 18)
+#elif PACKETVER >= 20080903
+packetLen(0x03a6, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a6, 27)
+#elif PACKETVER >= 20080730
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03a6, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03a6, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03a6, 31)
+#elif PACKETVER >= 20080701
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03a6, 59)
+#elif PACKETVER >= 20080528
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20081217
+packetLen(0x03a7, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x03a7, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x03a7, 67)
+#elif PACKETVER >= 20081119
+packetLen(0x03a7, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03a7, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03a7, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03a7, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03a7, 17)
+#elif PACKETVER >= 20080820
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03a7, 28)
+#elif PACKETVER >= 20080806
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03a7, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x03a7, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a7, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03a7, 68)
+#elif PACKETVER >= 20080624
+packetLen(0x03a7, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20081203
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03a8, 59)
+#elif PACKETVER >= 20081119
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a8, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a8, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03a8, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a8, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x03a8, 3)
+#elif PACKETVER >= 20080624
+packetLen(0x03a8, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03a8, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20081217
+packetLen(0x03a9, 15)
+#elif PACKETVER >= 20081203
+packetLen(0x03a9, 18)
+#elif PACKETVER >= 20081119
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03a9, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03a9, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03a9, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03a9, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03a9, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20081217
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03aa, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03aa, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03aa, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03aa, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x03aa, 26)
+#elif PACKETVER >= 20081001
+packetLen(0x03aa, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03aa, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x03aa, 20)
+#elif PACKETVER >= 20080827
+packetLen(0x03aa, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03aa, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03aa, 39)
+#elif PACKETVER >= 20080715
+packetLen(0x03aa, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03aa, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20081217
+packetLen(0x03ab, 8)
+#elif PACKETVER >= 20081203
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03ab, 9)
+#elif PACKETVER >= 20081119
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03ab, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ab, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ab, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03ab, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ab, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ab, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03ab, 18)
+#elif PACKETVER >= 20080730
+packetLen(0x03ab, 11)
+#elif PACKETVER >= 20080722
+packetLen(0x03ab, 53)
+#elif PACKETVER >= 20080715
+packetLen(0x03ab, 8)
+#elif PACKETVER >= 20080708
+packetLen(0x03ab, 86)
+#elif PACKETVER >= 20080624
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ab, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20081203
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03ac, 10)
+#elif PACKETVER >= 20081112
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03ac, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ac, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ac, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x03ac, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03ac, 58)
+#elif PACKETVER >= 20080827
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ac, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03ac, 9)
+#elif PACKETVER >= 20080730
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03ac, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ac, 282)
+#elif PACKETVER >= 20080528
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20081217
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ad, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03ad, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x03ad, 16)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ad, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x03ad, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ad, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ad, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x03ad, 8)
+#elif PACKETVER >= 20080722
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03ad, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ad, 2)
+#elif PACKETVER >= 20080617
+packetLen(0x03ad, 21)
+#elif PACKETVER >= 20080528
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20081217
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ae, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x03ae, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03ae, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03ae, 58)
+#elif PACKETVER >= 20081008
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ae, 20)
+#elif PACKETVER >= 20080917
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ae, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03ae, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x03ae, 7)
+#elif PACKETVER >= 20080708
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03ae, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ae, 57)
+#elif PACKETVER >= 20080528
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20081217
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03af, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03af, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x03af, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03af, 13)
+#elif PACKETVER >= 20081001
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03af, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03af, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03af, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03af, 60)
+#elif PACKETVER >= 20080813
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03af, 23)
+#elif PACKETVER >= 20080730
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03af, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03af, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03af, 14)
+#elif PACKETVER >= 20080528
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20081217
+packetLen(0x03b0, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03b0, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b0, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03b0, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b0, 33)
+#elif PACKETVER >= 20080827
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03b0, 81)
+#elif PACKETVER >= 20080813
+packetLen(0x03b0, 282)
+#elif PACKETVER >= 20080806
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b0, 10)
+#elif PACKETVER >= 20080722
+packetLen(0x03b0, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03b0, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20081217
+packetLen(0x03b1, 22)
+#elif PACKETVER >= 20081029
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03b1, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b1, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03b1, 20)
+#elif PACKETVER >= 20080917
+packetLen(0x03b1, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03b1, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03b1, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03b1, 4)
+#elif PACKETVER >= 20080715
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03b1, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20081217
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x03b2, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x03b2, 32)
+#elif PACKETVER >= 20081029
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b2, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03b2, 282)
+#elif PACKETVER >= 20081008
+packetLen(0x03b2, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b2, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03b2, 86)
+#elif PACKETVER >= 20080715
+packetLen(0x03b2, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20081203
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03b3, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03b3, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x03b3, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03b3, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b3, 17)
+#elif PACKETVER >= 20080924
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03b3, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03b3, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x03b3, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03b3, 24)
+#elif PACKETVER >= 20080730
+packetLen(0x03b3, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b3, 32)
+#elif PACKETVER >= 20080528
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20081203
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03b4, 42)
+#elif PACKETVER >= 20081119
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03b4, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03b4, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x03b4, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03b4, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b4, 60)
+#elif PACKETVER >= 20080924
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03b4, 54)
+#elif PACKETVER >= 20080910
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b4, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x03b4, 15)
+#elif PACKETVER >= 20080820
+packetLen(0x03b4, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03b4, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b4, 15)
+#elif PACKETVER >= 20080722
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03b4, 2)
+#elif PACKETVER >= 20080701
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03b4, 27)
+#elif PACKETVER >= 20080617
+packetLen(0x03b4, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20081217
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03b5, 20)
+#elif PACKETVER >= 20081126
+packetLen(0x03b5, 33)
+#elif PACKETVER >= 20081119
+packetLen(0x03b5, 8)
+#elif PACKETVER >= 20081112
+packetLen(0x03b5, 2)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b5, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03b5, 66)
+#elif PACKETVER >= 20080917
+packetLen(0x03b5, 31)
+#elif PACKETVER >= 20080910
+packetLen(0x03b5, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03b5, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03b5, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03b5, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20081112
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03b6, 16)
+#elif PACKETVER >= 20081029
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b6, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03b6, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03b6, 86)
+#elif PACKETVER >= 20080924
+packetLen(0x03b6, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03b6, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03b6, 28)
+#elif PACKETVER >= 20080806
+packetLen(0x03b6, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03b6, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03b6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20081217
+packetLen(0x03b7, 29)
+#elif PACKETVER >= 20081203
+packetLen(0x03b7, 182)
+#elif PACKETVER >= 20081126
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x03b7, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03b7, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03b7, 28)
+#elif PACKETVER >= 20081008
+packetLen(0x03b7, 34)
+#elif PACKETVER >= 20081001
+packetLen(0x03b7, 30)
+#elif PACKETVER >= 20080924
+packetLen(0x03b7, 21)
+#elif PACKETVER >= 20080903
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x03b7, 68)
+#elif PACKETVER >= 20080813
+packetLen(0x03b7, 34)
+#elif PACKETVER >= 20080806
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b7, 67)
+#elif PACKETVER >= 20080722
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03b7, 9)
+#elif PACKETVER >= 20080708
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080624
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20080617
+packetLen(0x03b7, 8)
+#elif PACKETVER >= 20080528
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20081119
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03b8, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03b8, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b8, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x03b8, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b8, 53)
+#elif PACKETVER >= 20080827
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03b8, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03b8, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20081217
+packetLen(0x03b9, 18)
+#elif PACKETVER >= 20081203
+packetLen(0x03b9, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x03b9, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03b9, 30)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03b9, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x03b9, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03b9, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03b9, 22)
+#elif PACKETVER >= 20080910
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03b9, 18)
+#elif PACKETVER >= 20080827
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03b9, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03b9, 14)
+#elif PACKETVER >= 20080722
+packetLen(0x03b9, 5)
+#elif PACKETVER >= 20080715
+packetLen(0x03b9, 79)
+#elif PACKETVER >= 20080708
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03b9, 28)
+#elif PACKETVER >= 20080624
+packetLen(0x03b9, 19)
+#elif PACKETVER >= 20080528
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20081217
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03ba, 6)
+#elif PACKETVER >= 20081105
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ba, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x03ba, 13)
+#elif PACKETVER >= 20081015
+packetLen(0x03ba, 65)
+#elif PACKETVER >= 20081008
+packetLen(0x03ba, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ba, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x03ba, 60)
+#elif PACKETVER >= 20080903
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ba, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x03ba, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03ba, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03ba, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x03ba, 14)
+#elif PACKETVER >= 20080624
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03ba, 26)
+#elif PACKETVER >= 20080528
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20081217
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03bb, 30)
+#elif PACKETVER >= 20081126
+packetLen(0x03bb, 34)
+#elif PACKETVER >= 20081119
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03bb, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03bb, 17)
+#elif PACKETVER >= 20081015
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03bb, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03bb, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03bb, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x03bb, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03bb, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x03bb, 9)
+#elif PACKETVER >= 20080722
+packetLen(0x03bb, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03bb, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20081126
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03bc, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03bc, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03bc, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03bc, 14)
+#elif PACKETVER >= 20081001
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03bc, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x03bc, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03bc, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03bc, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x03bc, 2)
+#elif PACKETVER >= 20080730
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03bc, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03bc, 13)
+#elif PACKETVER >= 20080708
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03bc, 54)
+#elif PACKETVER >= 20080624
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03bc, 182)
+#elif PACKETVER >= 20080528
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20081203
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03bd, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03bd, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x03bd, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03bd, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03bd, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03bd, 27)
+#elif PACKETVER >= 20080813
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03bd, 31)
+#elif PACKETVER >= 20080730
+packetLen(0x03bd, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03bd, 29)
+#elif PACKETVER >= 20080528
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20081217
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03be, 31)
+#elif PACKETVER >= 20081112
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03be, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x03be, 28)
+#elif PACKETVER >= 20081022
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03be, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03be, 19)
+#elif PACKETVER >= 20080910
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03be, 22)
+#elif PACKETVER >= 20080806
+packetLen(0x03be, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03be, 27)
+#elif PACKETVER >= 20080715
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03be, 282)
+#elif PACKETVER >= 20080624
+packetLen(0x03be, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20081217
+packetLen(0x03bf, 28)
+#elif PACKETVER >= 20081203
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03bf, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03bf, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x03bf, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03bf, 2)
+#elif PACKETVER >= 20081001
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03bf, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03bf, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x03bf, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03bf, 2)
+#elif PACKETVER >= 20080806
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x03bf, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03bf, 23)
+#elif PACKETVER >= 20080701
+packetLen(0x03bf, 22)
+#elif PACKETVER >= 20080528
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20081119
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c0, 17)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03c0, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03c0, 36)
+#elif PACKETVER >= 20081008
+packetLen(0x03c0, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c0, 20)
+#elif PACKETVER >= 20080917
+packetLen(0x03c0, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03c0, 14)
+#elif PACKETVER >= 20080820
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03c0, 7)
+#elif PACKETVER >= 20080806
+packetLen(0x03c0, 12)
+#elif PACKETVER >= 20080722
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03c0, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x03c0, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03c0, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20081203
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03c1, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x03c1, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c1, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03c1, 18)
+#elif PACKETVER >= 20080924
+packetLen(0x03c1, 15)
+#elif PACKETVER >= 20080917
+packetLen(0x03c1, 17)
+#elif PACKETVER >= 20080910
+packetLen(0x03c1, 60)
+#elif PACKETVER >= 20080806
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c1, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03c1, 58)
+#elif PACKETVER >= 20080624
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20081126
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03c2, 20)
+#elif PACKETVER >= 20081112
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03c2, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03c2, 29)
+#elif PACKETVER >= 20081015
+packetLen(0x03c2, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03c2, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03c2, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03c2, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x03c2, 6)
+#elif PACKETVER >= 20080806
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c2, 3)
+#elif PACKETVER >= 20080722
+packetLen(0x03c2, 9)
+#elif PACKETVER >= 20080715
+packetLen(0x03c2, 14)
+#elif PACKETVER >= 20080708
+packetLen(0x03c2, 3)
+#elif PACKETVER >= 20080701
+packetLen(0x03c2, 10)
+#elif PACKETVER >= 20080624
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c2, 67)
+#elif PACKETVER >= 20080528
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20081217
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03c3, 14)
+#elif PACKETVER >= 20081119
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c3, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03c3, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x03c3, 13)
+#elif PACKETVER >= 20081008
+packetLen(0x03c3, 90)
+#elif PACKETVER >= 20081001
+packetLen(0x03c3, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x03c3, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03c3, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03c3, 3)
+#elif PACKETVER >= 20080528
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20081217
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03c4, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03c4, 33)
+#elif PACKETVER >= 20081112
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03c4, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x03c4, 186)
+#elif PACKETVER >= 20080827
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03c4, 65)
+#elif PACKETVER >= 20080813
+packetLen(0x03c4, 29)
+#elif PACKETVER >= 20080806
+packetLen(0x03c4, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x03c4, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x03c4, 7)
+#elif PACKETVER >= 20080715
+packetLen(0x03c4, 28)
+#elif PACKETVER >= 20080528
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20081217
+packetLen(0x03c5, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03c5, 18)
+#elif PACKETVER >= 20080708
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03c5, 35)
+#elif PACKETVER >= 20080624
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c5, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20081217
+packetLen(0x03c6, 7)
+#elif PACKETVER >= 20081015
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c6, 54)
+#elif PACKETVER >= 20081001
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03c6, 29)
+#elif PACKETVER >= 20080820
+packetLen(0x03c6, 32)
+#elif PACKETVER >= 20080715
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03c6, 53)
+#elif PACKETVER >= 20080624
+packetLen(0x03c6, 6)
+#elif PACKETVER >= 20080617
+packetLen(0x03c6, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20081217
+packetLen(0x03c7, 9)
+#elif PACKETVER >= 20081203
+packetLen(0x03c7, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c7, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03c7, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c7, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c7, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080722
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03c7, 4)
+#elif PACKETVER >= 20080624
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03c7, 5)
+#elif PACKETVER >= 20080528
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20081022
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03c8, 15)
+#elif PACKETVER >= 20081008
+packetLen(0x03c8, 67)
+#elif PACKETVER >= 20081001
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03c8, 53)
+#elif PACKETVER >= 20080917
+packetLen(0x03c8, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03c8, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03c8, 22)
+#elif PACKETVER >= 20080820
+packetLen(0x03c8, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x03c8, 54)
+#elif PACKETVER >= 20080806
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03c8, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03c8, 32)
+#elif PACKETVER >= 20080708
+packetLen(0x03c8, 9)
+#elif PACKETVER >= 20080528
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20081217
+packetLen(0x03c9, 68)
+#elif PACKETVER >= 20081119
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03c9, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03c9, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03c9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03c9, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03c9, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03c9, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03c9, 16)
+#elif PACKETVER >= 20080722
+packetLen(0x03c9, 2)
+#elif PACKETVER >= 20080715
+packetLen(0x03c9, 33)
+#elif PACKETVER >= 20080528
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20081217
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ca, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x03ca, 53)
+#elif PACKETVER >= 20081119
+packetLen(0x03ca, 4)
+#elif PACKETVER >= 20081105
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ca, 14)
+#elif PACKETVER >= 20081022
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ca, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ca, 29)
+#elif PACKETVER >= 20080924
+packetLen(0x03ca, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03ca, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x03ca, 53)
+#elif PACKETVER >= 20080903
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ca, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x03ca, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03ca, 5)
+#elif PACKETVER >= 20080806
+packetLen(0x03ca, 10)
+#elif PACKETVER >= 20080528
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20081217
+packetLen(0x03cb, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03cb, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x03cb, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03cb, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x03cb, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03cb, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x03cb, 9)
+#elif PACKETVER >= 20080924
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03cb, 4)
+#elif PACKETVER >= 20080730
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03cb, 22)
+#elif PACKETVER >= 20080708
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03cb, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20081203
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03cc, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03cc, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03cc, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03cc, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03cc, 36)
+#elif PACKETVER >= 20080827
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03cc, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03cc, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x03cc, 14)
+#elif PACKETVER >= 20080730
+packetLen(0x03cc, 4)
+#elif PACKETVER >= 20080722
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03cc, 31)
+#elif PACKETVER >= 20080708
+packetLen(0x03cc, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cc, 35)
+#elif PACKETVER >= 20080617
+packetLen(0x03cc, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20081203
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03cd, 43)
+#elif PACKETVER >= 20081112
+packetLen(0x03cd, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03cd, 81)
+#elif PACKETVER >= 20081015
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03cd, 79)
+#elif PACKETVER >= 20081001
+packetLen(0x03cd, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03cd, 31)
+#elif PACKETVER >= 20080820
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03cd, 8)
+#elif PACKETVER >= 20080806
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03cd, 60)
+#elif PACKETVER >= 20080722
+packetLen(0x03cd, 4)
+#elif PACKETVER >= 20080708
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03cd, 65)
+#elif PACKETVER >= 20080624
+packetLen(0x03cd, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20081119
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03ce, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03ce, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ce, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03ce, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x03ce, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03ce, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03ce, 7)
+#elif PACKETVER >= 20080617
+packetLen(0x03ce, 39)
+#elif PACKETVER >= 20080528
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20081217
+packetLen(0x03cf, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03cf, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03cf, 22)
+#elif PACKETVER >= 20081008
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03cf, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03cf, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x03cf, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03cf, 29)
+#elif PACKETVER >= 20080806
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03cf, 65)
+#elif PACKETVER >= 20080722
+packetLen(0x03cf, 10)
+#elif PACKETVER >= 20080715
+packetLen(0x03cf, 4)
+#elif PACKETVER >= 20080701
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03cf, 67)
+#elif PACKETVER >= 20080617
+packetLen(0x03cf, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20081217
+packetLen(0x03d0, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03d0, 3)
+#elif PACKETVER >= 20081029
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20080806
+packetLen(0x03d0, 9)
+#elif PACKETVER >= 20080730
+packetLen(0x03d0, 6)
+#elif PACKETVER >= 20080722
+packetLen(0x03d0, 14)
+#elif PACKETVER >= 20080715
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03d0, 10)
+#elif PACKETVER >= 20080701
+packetLen(0x03d0, 8)
+#elif PACKETVER >= 20080624
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d0, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20081203
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03d1, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x03d1, 28)
+#elif PACKETVER >= 20081112
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03d1, 13)
+#elif PACKETVER >= 20081029
+packetLen(0x03d1, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03d1, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d1, 86)
+#elif PACKETVER >= 20081001
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d1, 42)
+#elif PACKETVER >= 20080917
+packetLen(0x03d1, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d1, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d1, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03d1, 22)
+#elif PACKETVER >= 20080730
+packetLen(0x03d1, 2)
+#elif PACKETVER >= 20080722
+packetLen(0x03d1, 30)
+#elif PACKETVER >= 20080715
+packetLen(0x03d1, 17)
+#elif PACKETVER >= 20080708
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d1, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d1, 81)
+#elif PACKETVER >= 20080617
+packetLen(0x03d1, 7)
+#elif PACKETVER >= 20080528
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20081217
+packetLen(0x03d2, 29)
+#elif PACKETVER >= 20081126
+packetLen(0x03d2, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x03d2, 29)
+#elif PACKETVER >= 20081112
+packetLen(0x03d2, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d2, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03d2, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03d2, 27)
+#elif PACKETVER >= 20080806
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03d2, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d2, 90)
+#elif PACKETVER >= 20080624
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d2, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20081217
+packetLen(0x03d3, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03d3, 12)
+#elif PACKETVER >= 20081119
+packetLen(0x03d3, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x03d3, 24)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03d3, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03d3, 71)
+#elif PACKETVER >= 20081015
+packetLen(0x03d3, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x03d3, 16)
+#elif PACKETVER >= 20081001
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d3, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d3, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d3, 42)
+#elif PACKETVER >= 20080813
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03d3, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03d3, 7)
+#elif PACKETVER >= 20080701
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d3, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20081203
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20081126
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03d4, 114)
+#elif PACKETVER >= 20081105
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03d4, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03d4, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03d4, 31)
+#elif PACKETVER >= 20080924
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03d4, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d4, 32)
+#elif PACKETVER >= 20080827
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d4, 4)
+#elif PACKETVER >= 20080806
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080730
+packetLen(0x03d4, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20080708
+packetLen(0x03d4, 54)
+#elif PACKETVER >= 20080701
+packetLen(0x03d4, 12)
+#elif PACKETVER >= 20080624
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20080617
+packetLen(0x03d4, 27)
+#elif PACKETVER >= 20080528
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20081217
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03d5, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x03d5, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03d5, 102)
+#elif PACKETVER >= 20081112
+packetLen(0x03d5, 60)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03d5, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x03d5, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d5, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03d5, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03d5, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x03d5, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080806
+packetLen(0x03d5, 21)
+#elif PACKETVER >= 20080730
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d5, 11)
+#elif PACKETVER >= 20080624
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03d5, 4)
+#elif PACKETVER >= 20080528
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20081203
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03d6, 79)
+#elif PACKETVER >= 20081029
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03d6, 66)
+#elif PACKETVER >= 20081015
+packetLen(0x03d6, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03d6, 79)
+#elif PACKETVER >= 20080924
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03d6, 186)
+#elif PACKETVER >= 20080910
+packetLen(0x03d6, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03d6, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x03d6, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03d6, 5)
+#elif PACKETVER >= 20080730
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d6, 6)
+#elif PACKETVER >= 20080715
+packetLen(0x03d6, 11)
+#elif PACKETVER >= 20080708
+packetLen(0x03d6, 14)
+#elif PACKETVER >= 20080701
+packetLen(0x03d6, 114)
+#elif PACKETVER >= 20080528
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20081217
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03d7, 57)
+#elif PACKETVER >= 20081126
+packetLen(0x03d7, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03d7, 31)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03d7, 11)
+#elif PACKETVER >= 20081015
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d7, 8)
+#elif PACKETVER >= 20081001
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d7, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03d7, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d7, 3)
+#elif PACKETVER >= 20080715
+packetLen(0x03d7, 5)
+#elif PACKETVER >= 20080708
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d7, 23)
+#elif PACKETVER >= 20080528
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20081217
+packetLen(0x03d8, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x03d8, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03d8, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03d8, 14)
+#elif PACKETVER >= 20081015
+packetLen(0x03d8, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03d8, 60)
+#elif PACKETVER >= 20080917
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03d8, 29)
+#elif PACKETVER >= 20080827
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03d8, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03d8, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03d8, 8)
+#elif PACKETVER >= 20080715
+packetLen(0x03d8, 18)
+#elif PACKETVER >= 20080708
+packetLen(0x03d8, 282)
+#elif PACKETVER >= 20080701
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03d8, 3)
+#elif PACKETVER >= 20080617
+packetLen(0x03d8, 2)
+#elif PACKETVER >= 20080528
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20081217
+packetLen(0x03d9, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03d9, 7)
+#elif PACKETVER >= 20080722
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080708
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20080624
+packetLen(0x03d9, 30)
+#elif PACKETVER >= 20080528
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20081217
+packetLen(0x03da, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03da, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03da, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03da, 29)
+#elif PACKETVER >= 20081008
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03da, 22)
+#elif PACKETVER >= 20080924
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03da, 11)
+#elif PACKETVER >= 20080528
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20081105
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03db, 8)
+#elif PACKETVER >= 20081022
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03db, 10)
+#elif PACKETVER >= 20081008
+packetLen(0x03db, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03db, 23)
+#elif PACKETVER >= 20080917
+packetLen(0x03db, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03db, 30)
+#elif PACKETVER >= 20080827
+packetLen(0x03db, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03db, 3)
+#elif PACKETVER >= 20080730
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080722
+packetLen(0x03db, 3)
+#elif PACKETVER >= 20080708
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080701
+packetLen(0x03db, 79)
+#elif PACKETVER >= 20080624
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20080617
+packetLen(0x03db, 6)
+#elif PACKETVER >= 20080528
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20081217
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x03dc, 32)
+#elif PACKETVER >= 20081126
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03dc, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x03dc, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03dc, 68)
+#elif PACKETVER >= 20081022
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03dc, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03dc, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03dc, 12)
+#elif PACKETVER >= 20080820
+packetLen(0x03dc, 3)
+#elif PACKETVER >= 20080806
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080730
+packetLen(0x03dc, 30)
+#elif PACKETVER >= 20080722
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080715
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080701
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20080624
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20080617
+packetLen(0x03dc, 54)
+#elif PACKETVER >= 20080528
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+#if PACKETVER >= 20080624
+packetLen(0x03dd, 18)
+#endif
+
+// Packet: 0x03de
+#if PACKETVER >= 20080624
+packetLen(0x03de, 18)
+#endif
+
+// Packet: 0x03e2
+#if PACKETVER >= 20081217
+packetLen(0x03e2, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03e2, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03e2, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03e2, 22)
+#elif PACKETVER >= 20081015
+packetLen(0x03e2, 57)
+#elif PACKETVER >= 20081001
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e2, 28)
+#elif PACKETVER >= 20080910
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03e2, 5)
+#elif PACKETVER >= 20080827
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03e2, 7)
+#elif PACKETVER >= 20080813
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20081217
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03e3, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e3, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03e3, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03e3, 22)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20081105
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e4, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03e4, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03e4, 19)
+#elif PACKETVER >= 20081008
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03e4, 28)
+#elif PACKETVER >= 20080924
+packetLen(0x03e4, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x03e4, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x03e4, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03e4, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20081217
+packetLen(0x03e5, 3)
+#elif PACKETVER >= 20081203
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03e5, 58)
+#elif PACKETVER >= 20081119
+packetLen(0x03e5, 23)
+#elif PACKETVER >= 20081112
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03e5, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x03e5, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03e5, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03e5, 28)
+#elif PACKETVER >= 20081001
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e5, 44)
+#elif PACKETVER >= 20080910
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03e5, 12)
+#elif PACKETVER >= 20080813
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20081217
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03e6, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x03e6, 71)
+#elif PACKETVER >= 20081119
+packetLen(0x03e6, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03e6, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03e6, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03e6, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03e6, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03e6, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03e6, 30)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20081217
+packetLen(0x03e7, 66)
+#elif PACKETVER >= 20081203
+packetLen(0x03e7, 90)
+#elif PACKETVER >= 20081119
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03e7, 21)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03e7, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03e7, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20081217
+packetLen(0x03e8, 2)
+#elif PACKETVER >= 20081105
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e8, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x03e8, 10)
+#elif PACKETVER >= 20081015
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03e8, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03e8, 34)
+#elif PACKETVER >= 20080827
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03e8, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20081105
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03e9, 54)
+#elif PACKETVER >= 20081022
+packetLen(0x03e9, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03e9, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03e9, 68)
+#elif PACKETVER >= 20080910
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03e9, 39)
+#elif PACKETVER >= 20080813
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20081217
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ea, 4)
+#elif PACKETVER >= 20081126
+packetLen(0x03ea, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x03ea, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ea, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ea, 24)
+#elif PACKETVER >= 20080827
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ea, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20081126
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03eb, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x03eb, 12)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03eb, 55)
+#elif PACKETVER >= 20080903
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03eb, 20)
+#elif PACKETVER >= 20080813
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20081217
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ec, 7)
+#elif PACKETVER >= 20081126
+packetLen(0x03ec, 5)
+#elif PACKETVER >= 20081119
+packetLen(0x03ec, 9)
+#elif PACKETVER >= 20081022
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ec, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03ec, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03ec, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x03ec, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03ec, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ec, 36)
+#elif PACKETVER >= 20080813
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20081217
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03ed, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03ed, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x03ed, 11)
+#elif PACKETVER >= 20080827
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03ed, 13)
+#elif PACKETVER >= 20080813
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20081217
+packetLen(0x03ee, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x03ee, 59)
+#elif PACKETVER >= 20081112
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03ee, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x03ee, 81)
+#elif PACKETVER >= 20081022
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03ee, 3)
+#elif PACKETVER >= 20081008
+packetLen(0x03ee, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x03ee, 27)
+#elif PACKETVER >= 20080813
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20081217
+packetLen(0x03ef, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x03ef, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03ef, 6)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03ef, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03ef, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ef, 59)
+#elif PACKETVER >= 20080903
+packetLen(0x03ef, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x03ef, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x03ef, 11)
+#elif PACKETVER >= 20080813
+packetLen(0x03ef, 3)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20081217
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03f0, 22)
+#elif PACKETVER >= 20081126
+packetLen(0x03f0, 3)
+#elif PACKETVER >= 20081105
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03f0, 21)
+#elif PACKETVER >= 20081022
+packetLen(0x03f0, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03f0, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03f0, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f0, 42)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20081105
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03f1, 4)
+#elif PACKETVER >= 20081015
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f1, 4)
+#elif PACKETVER >= 20080910
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f1, 79)
+#elif PACKETVER >= 20080827
+packetLen(0x03f1, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20081126
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f2, 26)
+#elif PACKETVER >= 20081105
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03f2, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03f2, 8)
+#elif PACKETVER >= 20081015
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f2, 22)
+#elif PACKETVER >= 20081001
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f2, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f2, 14)
+#elif PACKETVER >= 20080827
+packetLen(0x03f2, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20081203
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03f3, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x03f3, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x03f3, 34)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081001
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f3, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03f3, 30)
+#elif PACKETVER >= 20080903
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03f3, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20081217
+packetLen(0x03f4, 5)
+#elif PACKETVER >= 20081203
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03f4, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03f4, 14)
+#elif PACKETVER >= 20080910
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03f4, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f4, 6)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20081217
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03f5, 19)
+#elif PACKETVER >= 20081126
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f5, 7)
+#elif PACKETVER >= 20081112
+packetLen(0x03f5, 11)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03f5, 54)
+#elif PACKETVER >= 20081029
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03f5, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f5, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f5, 33)
+#elif PACKETVER >= 20080917
+packetLen(0x03f5, 30)
+#elif PACKETVER >= 20080910
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f5, 282)
+#elif PACKETVER >= 20080827
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x03f5, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x03f5, 8)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20081217
+packetLen(0x03f6, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x03f6, 22)
+#elif PACKETVER >= 20081119
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03f6, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03f6, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03f6, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03f6, 44)
+#elif PACKETVER >= 20080910
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03f6, 10)
+#elif PACKETVER >= 20080813
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20081217
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x03f7, 27)
+#elif PACKETVER >= 20081126
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f7, 66)
+#elif PACKETVER >= 20081112
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03f7, 19)
+#elif PACKETVER >= 20081029
+packetLen(0x03f7, 7)
+#elif PACKETVER >= 20081022
+packetLen(0x03f7, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f7, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03f7, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x03f7, 39)
+#elif PACKETVER >= 20080917
+packetLen(0x03f7, 15)
+#elif PACKETVER >= 20080910
+packetLen(0x03f7, 9)
+#elif PACKETVER >= 20080903
+packetLen(0x03f7, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x03f7, 30)
+#elif PACKETVER >= 20080820
+packetLen(0x03f7, 8)
+#elif PACKETVER >= 20080813
+packetLen(0x03f7, 6)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20081126
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x03f8, 39)
+#elif PACKETVER >= 20081112
+packetLen(0x03f8, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03f8, 32)
+#elif PACKETVER >= 20081029
+packetLen(0x03f8, 27)
+#elif PACKETVER >= 20081022
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03f8, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x03f8, 14)
+#elif PACKETVER >= 20080917
+packetLen(0x03f8, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x03f8, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f8, 4)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20081203
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03f9, 21)
+#elif PACKETVER >= 20081119
+packetLen(0x03f9, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03f9, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03f9, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03f9, 3)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20081217
+packetLen(0x03fa, 33)
+#elif PACKETVER >= 20081126
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03fa, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03fa, 5)
+#elif PACKETVER >= 20081008
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x03fa, 21)
+#elif PACKETVER >= 20080924
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03fa, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03fa, 81)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20081217
+packetLen(0x03fb, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03fb, 17)
+#elif PACKETVER >= 20081029
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x03fb, 5)
+#elif PACKETVER >= 20081015
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03fb, 12)
+#elif PACKETVER >= 20081001
+packetLen(0x03fb, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03fb, 67)
+#elif PACKETVER >= 20080903
+packetLen(0x03fb, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x03fb, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03fb, 33)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20081217
+packetLen(0x03fc, 54)
+#elif PACKETVER >= 20081119
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03fc, 8)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081015
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x03fc, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x03fc, 5)
+#elif PACKETVER >= 20080924
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03fc, 67)
+#elif PACKETVER >= 20080820
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x03fc, 11)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20081203
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03fd, 2)
+#elif PACKETVER >= 20081112
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x03fd, 114)
+#elif PACKETVER >= 20081029
+packetLen(0x03fd, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x03fd, 32)
+#elif PACKETVER >= 20081015
+packetLen(0x03fd, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x03fd, 27)
+#elif PACKETVER >= 20081001
+packetLen(0x03fd, 282)
+#elif PACKETVER >= 20080924
+packetLen(0x03fd, 182)
+#elif PACKETVER >= 20080917
+packetLen(0x03fd, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x03fd, 68)
+#elif PACKETVER >= 20080827
+packetLen(0x03fd, 7)
+#elif PACKETVER >= 20080820
+packetLen(0x03fd, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x03fd, 182)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20081119
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x03fe, 67)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x03fe, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x03fe, 2)
+#elif PACKETVER >= 20081008
+packetLen(0x03fe, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x03fe, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x03fe, 57)
+#elif PACKETVER >= 20080903
+packetLen(0x03fe, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x03fe, 23)
+#elif PACKETVER >= 20080813
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20081217
+packetLen(0x03ff, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x03ff, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x03ff, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x03ff, 14)
+#elif PACKETVER >= 20080813
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20081217
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0400, 12)
+#elif PACKETVER >= 20081029
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0400, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0400, 2)
+#elif PACKETVER >= 20080813
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20081217
+packetLen(0x0401, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0401, 26)
+#elif PACKETVER >= 20081126
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0401, 11)
+#elif PACKETVER >= 20081112
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0401, 34)
+#elif PACKETVER >= 20081029
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0401, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0401, 9)
+#elif PACKETVER >= 20081008
+packetLen(0x0401, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x0401, 65)
+#elif PACKETVER >= 20080917
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0401, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x0401, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20081217
+packetLen(0x0402, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0402, 2)
+#elif PACKETVER >= 20081119
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0402, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0402, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0402, 114)
+#elif PACKETVER >= 20080924
+packetLen(0x0402, 4)
+#elif PACKETVER >= 20080917
+packetLen(0x0402, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0402, 43)
+#elif PACKETVER >= 20080827
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0402, 16)
+#elif PACKETVER >= 20080813
+packetLen(0x0402, 6)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20081119
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0403, 19)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0403, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0403, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20081217
+packetLen(0x0404, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0404, 11)
+#elif PACKETVER >= 20081022
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0404, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x0404, 13)
+#elif PACKETVER >= 20080924
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0404, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0404, 3)
+#elif PACKETVER >= 20080827
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0404, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20081217
+packetLen(0x0405, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0405, 57)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0405, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0405, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0405, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0405, 14)
+#elif PACKETVER >= 20080903
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0405, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x0405, 3)
+#elif PACKETVER >= 20080813
+packetLen(0x0405, 10)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20081217
+packetLen(0x0406, 16)
+#elif PACKETVER >= 20081203
+packetLen(0x0406, 26)
+#elif PACKETVER >= 20081112
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0406, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0406, 43)
+#elif PACKETVER >= 20081001
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0406, 3)
+#elif PACKETVER >= 20080910
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0406, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20080813
+packetLen(0x0406, 8)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20081203
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0407, 28)
+#elif PACKETVER >= 20081119
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0407, 12)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0407, 2)
+#elif PACKETVER >= 20081029
+packetLen(0x0407, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0407, 102)
+#elif PACKETVER >= 20081001
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0407, 7)
+#elif PACKETVER >= 20080903
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0407, 10)
+#elif PACKETVER >= 20080820
+packetLen(0x0407, 6)
+#elif PACKETVER >= 20080813
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20081022
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0408, 59)
+#elif PACKETVER >= 20081008
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0408, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x0408, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0408, 22)
+#elif PACKETVER >= 20080910
+packetLen(0x0408, 5)
+#elif PACKETVER >= 20080903
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0408, 28)
+#elif PACKETVER >= 20080820
+packetLen(0x0408, 29)
+#elif PACKETVER >= 20080813
+packetLen(0x0408, 2)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20081217
+packetLen(0x0409, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0409, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0409, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0409, 9)
+#elif PACKETVER >= 20081029
+packetLen(0x0409, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0409, 86)
+#elif PACKETVER >= 20081008
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0409, 26)
+#elif PACKETVER >= 20080813
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20081217
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x040a, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x040a, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x040a, 19)
+#elif PACKETVER >= 20081029
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x040a, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x040a, 186)
+#elif PACKETVER >= 20081008
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040a, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x040a, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x040a, 4)
+#elif PACKETVER >= 20080813
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20081217
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x040b, 67)
+#elif PACKETVER >= 20081126
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x040b, 5)
+#elif PACKETVER >= 20081112
+packetLen(0x040b, 97)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x040b, 27)
+#elif PACKETVER >= 20081008
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040b, 26)
+#elif PACKETVER >= 20080924
+packetLen(0x040b, 9)
+#elif PACKETVER >= 20080917
+packetLen(0x040b, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x040b, 4)
+#elif PACKETVER >= 20080820
+packetLen(0x040b, 57)
+#elif PACKETVER >= 20080813
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20081203
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x040c, 39)
+#elif PACKETVER >= 20081119
+packetLen(0x040c, 21)
+#elif PACKETVER >= 20081112
+packetLen(0x040c, 31)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x040c, 65)
+#elif PACKETVER >= 20081029
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x040c, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040c, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x040c, 28)
+#elif PACKETVER >= 20080917
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x040c, 11)
+#elif PACKETVER >= 20080903
+packetLen(0x040c, 26)
+#elif PACKETVER >= 20080827
+packetLen(0x040c, 20)
+#elif PACKETVER >= 20080820
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20081217
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x040d, 8)
+#elif PACKETVER >= 20081126
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x040d, 57)
+#elif PACKETVER >= 20081105
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x040d, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040d, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x040d, 8)
+#elif PACKETVER >= 20080917
+packetLen(0x040d, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x040d, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x040d, 28)
+#elif PACKETVER >= 20080827
+packetLen(0x040d, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x040d, 5)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20081203
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x040e, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x040e, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x040e, 58)
+#elif PACKETVER >= 20081029
+packetLen(0x040e, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x040e, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x040e, 86)
+#elif PACKETVER >= 20080827
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x040e, 6)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20081217
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x040f, 8)
+#elif PACKETVER >= 20081105
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x040f, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x040f, 68)
+#elif PACKETVER >= 20081015
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x040f, 4)
+#elif PACKETVER >= 20080827
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x040f, 8)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20081203
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0410, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0410, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0410, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0410, 33)
+#elif PACKETVER >= 20081008
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0410, 3)
+#elif PACKETVER >= 20080917
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0410, 186)
+#elif PACKETVER >= 20080903
+packetLen(0x0410, 12)
+#elif PACKETVER >= 20080827
+packetLen(0x0410, 81)
+#elif PACKETVER >= 20080820
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20081217
+packetLen(0x0411, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0411, 90)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0411, 30)
+#elif PACKETVER >= 20081008
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0411, 28)
+#elif PACKETVER >= 20080924
+packetLen(0x0411, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0411, 11)
+#elif PACKETVER >= 20080820
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20081217
+packetLen(0x0412, 2)
+#elif PACKETVER >= 20081203
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0412, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0412, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0412, 9)
+#elif PACKETVER >= 20081029
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0412, 7)
+#elif PACKETVER >= 20081008
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0412, 15)
+#elif PACKETVER >= 20080924
+packetLen(0x0412, 6)
+#elif PACKETVER >= 20080917
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0412, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0412, 282)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20081112
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0413, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0413, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x0413, 65)
+#elif PACKETVER >= 20081001
+packetLen(0x0413, 54)
+#elif PACKETVER >= 20080903
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0413, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20081203
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0414, 16)
+#elif PACKETVER >= 20081105
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0414, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0414, 97)
+#elif PACKETVER >= 20081015
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0414, 15)
+#elif PACKETVER >= 20081001
+packetLen(0x0414, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0414, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20081217
+packetLen(0x0415, 8)
+#elif PACKETVER >= 20081029
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0415, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0415, 5)
+#elif PACKETVER >= 20081001
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0415, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0415, 19)
+#elif PACKETVER >= 20080820
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20081217
+packetLen(0x0416, 5)
+#elif PACKETVER >= 20081105
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0416, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0416, 26)
+#elif PACKETVER >= 20080917
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0416, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20081217
+packetLen(0x0417, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x0417, 4)
+#elif PACKETVER >= 20081119
+packetLen(0x0417, 30)
+#elif PACKETVER >= 20081112
+packetLen(0x0417, 9)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0417, 26)
+#elif PACKETVER >= 20081022
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0417, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0417, 57)
+#elif PACKETVER >= 20080924
+packetLen(0x0417, 81)
+#elif PACKETVER >= 20080917
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0417, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0417, 4)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20081203
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0418, 10)
+#elif PACKETVER >= 20081029
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0418, 182)
+#elif PACKETVER >= 20080924
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0418, 36)
+#elif PACKETVER >= 20080910
+packetLen(0x0418, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0418, 7)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20081217
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0419, 10)
+#elif PACKETVER >= 20081126
+packetLen(0x0419, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x0419, 14)
+#elif PACKETVER >= 20081112
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0419, 55)
+#elif PACKETVER >= 20081022
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0419, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0419, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0419, 42)
+#elif PACKETVER >= 20080924
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0419, 24)
+#elif PACKETVER >= 20080903
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0419, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0419, 4)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20081217
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x041a, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x041a, 3)
+#elif PACKETVER >= 20081112
+packetLen(0x041a, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x041a, 182)
+#elif PACKETVER >= 20081029
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041a, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x041a, 11)
+#elif PACKETVER >= 20080924
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x041a, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x041a, 8)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20081217
+packetLen(0x041b, 54)
+#elif PACKETVER >= 20081203
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x041b, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x041b, 27)
+#elif PACKETVER >= 20081112
+packetLen(0x041b, 3)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x041b, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x041b, 8)
+#elif PACKETVER >= 20080903
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x041b, 44)
+#elif PACKETVER >= 20080820
+packetLen(0x041b, 6)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20081217
+packetLen(0x041c, 34)
+#elif PACKETVER >= 20081203
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x041c, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x041c, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x041c, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x041c, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x041c, 54)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20081217
+packetLen(0x041d, 67)
+#elif PACKETVER >= 20081203
+packetLen(0x041d, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x041d, 4)
+#elif PACKETVER >= 20081112
+packetLen(0x041d, 7)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x041d, 39)
+#elif PACKETVER >= 20081008
+packetLen(0x041d, 71)
+#elif PACKETVER >= 20081001
+packetLen(0x041d, 90)
+#elif PACKETVER >= 20080924
+packetLen(0x041d, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x041d, 10)
+#elif PACKETVER >= 20080903
+packetLen(0x041d, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20081112
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x041e, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041e, 12)
+#elif PACKETVER >= 20081015
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x041e, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x041e, 66)
+#elif PACKETVER >= 20080924
+packetLen(0x041e, 6)
+#elif PACKETVER >= 20080910
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x041e, 90)
+#elif PACKETVER >= 20080827
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x041e, 15)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20081203
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x041f, 57)
+#elif PACKETVER >= 20081119
+packetLen(0x041f, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x041f, 282)
+#elif PACKETVER >= 20081015
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x041f, 54)
+#elif PACKETVER >= 20081001
+packetLen(0x041f, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x041f, 20)
+#elif PACKETVER >= 20080910
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x041f, 9)
+#elif PACKETVER >= 20080827
+packetLen(0x041f, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20081217
+packetLen(0x0420, 14)
+#elif PACKETVER >= 20081203
+packetLen(0x0420, 282)
+#elif PACKETVER >= 20081126
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0420, 10)
+#elif PACKETVER >= 20081105
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0420, 79)
+#elif PACKETVER >= 20081022
+packetLen(0x0420, 3)
+#elif PACKETVER >= 20080924
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0420, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0420, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20081217
+packetLen(0x0421, 4)
+#elif PACKETVER >= 20081203
+packetLen(0x0421, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x0421, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0421, 12)
+#elif PACKETVER >= 20080917
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0421, 3)
+#elif PACKETVER >= 20080903
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0421, 2)
+#elif PACKETVER >= 20080820
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20081203
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0422, 54)
+#elif PACKETVER >= 20081119
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0422, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0422, 182)
+#elif PACKETVER >= 20081022
+packetLen(0x0422, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0422, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20081217
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0423, 11)
+#elif PACKETVER >= 20081126
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0423, 6)
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0423, 6)
+#elif PACKETVER >= 20081029
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0423, 3)
+#elif PACKETVER >= 20081015
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0423, 15)
+#elif PACKETVER >= 20080917
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0423, 282)
+#elif PACKETVER >= 20080903
+packetLen(0x0423, 31)
+#elif PACKETVER >= 20080820
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20081217
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0424, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0424, 11)
+#elif PACKETVER >= 20081105
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0424, 28)
+#elif PACKETVER >= 20081015
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20081001
+packetLen(0x0424, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0424, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0424, 34)
+#elif PACKETVER >= 20080903
+packetLen(0x0424, 44)
+#elif PACKETVER >= 20080820
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20081217
+packetLen(0x0425, 57)
+#elif PACKETVER >= 20081203
+packetLen(0x0425, 9)
+#elif PACKETVER >= 20081126
+packetLen(0x0425, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x0425, 6)
+#elif PACKETVER >= 20081112
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0425, 3)
+#elif PACKETVER >= 20081022
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0425, 68)
+#elif PACKETVER >= 20081008
+packetLen(0x0425, 12)
+#elif PACKETVER >= 20081001
+packetLen(0x0425, 6)
+#elif PACKETVER >= 20080827
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0425, 10)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20081203
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0426, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0426, 16)
+#elif PACKETVER >= 20081112
+packetLen(0x0426, 5)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0426, 23)
+#elif PACKETVER >= 20081029
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20081022
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0426, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0426, 22)
+#elif PACKETVER >= 20080917
+packetLen(0x0426, 9)
+#elif PACKETVER >= 20080910
+packetLen(0x0426, 36)
+#elif PACKETVER >= 20080903
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0426, 102)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20081217
+packetLen(0x0427, 5)
+#elif PACKETVER >= 20081126
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0427, 15)
+#elif PACKETVER >= 20081112
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0427, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0427, 8)
+#elif PACKETVER >= 20080924
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0427, 282)
+#elif PACKETVER >= 20080820
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20081217
+packetLen(0x0428, 19)
+#elif PACKETVER >= 20081203
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0428, 17)
+#elif PACKETVER >= 20081119
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0428, 6)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081008
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0428, 24)
+#elif PACKETVER >= 20080910
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0428, 7)
+#elif PACKETVER >= 20080827
+packetLen(0x0428, 60)
+#elif PACKETVER >= 20080820
+packetLen(0x0428, 21)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20081217
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0429, 10)
+#elif PACKETVER >= 20081119
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0429, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0429, 30)
+#elif PACKETVER >= 20081029
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0429, 8)
+#elif PACKETVER >= 20081008
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0429, 2)
+#elif PACKETVER >= 20080924
+packetLen(0x0429, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0429, 53)
+#elif PACKETVER >= 20080820
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20081203
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x042a, 7)
+#elif PACKETVER >= 20081119
+packetLen(0x042a, 67)
+#elif PACKETVER >= 20081112
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x042a, 31)
+#elif PACKETVER >= 20081029
+packetLen(0x042a, 13)
+#elif PACKETVER >= 20081022
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x042a, 26)
+#elif PACKETVER >= 20081008
+packetLen(0x042a, 68)
+#elif PACKETVER >= 20080910
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x042a, 8)
+#elif PACKETVER >= 20080827
+packetLen(0x042a, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20081217
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x042b, 58)
+#elif PACKETVER >= 20081126
+packetLen(0x042b, 13)
+#elif PACKETVER >= 20081022
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x042b, 9)
+#elif PACKETVER >= 20081008
+packetLen(0x042b, 282)
+#elif PACKETVER >= 20081001
+packetLen(0x042b, 6)
+#elif PACKETVER >= 20080903
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x042b, 3)
+#elif PACKETVER >= 20080820
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20081217
+packetLen(0x042c, 31)
+#elif PACKETVER >= 20081203
+packetLen(0x042c, 6)
+#elif PACKETVER >= 20081126
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x042c, 36)
+#elif PACKETVER >= 20081105
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x042c, 10)
+#elif PACKETVER >= 20081022
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x042c, 4)
+#elif PACKETVER >= 20081008
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x042c, 4)
+#elif PACKETVER >= 20080924
+packetLen(0x042c, 2)
+#elif PACKETVER >= 20080917
+packetLen(0x042c, 16)
+#elif PACKETVER >= 20080910
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x042c, 29)
+#elif PACKETVER >= 20080820
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20081203
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x042d, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x042d, 2)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x042d, 7)
+#elif PACKETVER >= 20081029
+packetLen(0x042d, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x042d, 5)
+#elif PACKETVER >= 20080910
+packetLen(0x042d, 10)
+#elif PACKETVER >= 20080827
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x042d, 186)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20081203
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20081119
+packetLen(0x042e, 12)
+#elif PACKETVER >= 20081112
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x042e, 14)
+#elif PACKETVER >= 20081029
+packetLen(0x042e, 7)
+#elif PACKETVER >= 20081001
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x042e, 57)
+#elif PACKETVER >= 20080903
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20081217
+packetLen(0x042f, 11)
+#elif PACKETVER >= 20081119
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x042f, 10)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081029
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x042f, 30)
+#elif PACKETVER >= 20081015
+packetLen(0x042f, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x042f, 4)
+#elif PACKETVER >= 20081001
+packetLen(0x042f, 6)
+#elif PACKETVER >= 20080924
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x042f, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x042f, 5)
+#elif PACKETVER >= 20080820
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20081217
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0430, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0430, 22)
+#elif PACKETVER >= 20081112
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081105
+packetLen(0x0430, 26)
+#elif PACKETVER >= 20081029
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0430, 86)
+#elif PACKETVER >= 20081008
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0430, 43)
+#elif PACKETVER >= 20080924
+packetLen(0x0430, 13)
+#elif PACKETVER >= 20080917
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0430, 4)
+#elif PACKETVER >= 20080903
+packetLen(0x0430, 31)
+#elif PACKETVER >= 20080827
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20080820
+packetLen(0x0430, 10)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20081105
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20081029
+packetLen(0x0431, 2)
+#elif PACKETVER >= 20081022
+packetLen(0x0431, 9)
+#elif PACKETVER >= 20081015
+packetLen(0x0431, 6)
+#elif PACKETVER >= 20081008
+packetLen(0x0431, 8)
+#elif PACKETVER >= 20080910
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20080903
+packetLen(0x0431, 2)
+#elif PACKETVER >= 20080827
+packetLen(0x0431, 32)
+#elif PACKETVER >= 20080820
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20081119
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0432, 26)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081022
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0432, 10)
+#elif PACKETVER >= 20081001
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0432, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x0432, 26)
+#elif PACKETVER >= 20080910
+packetLen(0x0432, 2)
+#elif PACKETVER >= 20080903
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0432, 27)
+#elif PACKETVER >= 20080820
+packetLen(0x0432, 18)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20081217
+packetLen(0x0433, 7)
+#elif PACKETVER >= 20081203
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0433, 8)
+#elif PACKETVER >= 20081119
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0433, 4)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0433, 39)
+#elif PACKETVER >= 20081029
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0433, 2)
+#elif PACKETVER >= 20081015
+packetLen(0x0433, 14)
+#elif PACKETVER >= 20081008
+packetLen(0x0433, 3)
+#elif PACKETVER >= 20081001
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0433, 54)
+#elif PACKETVER >= 20080917
+packetLen(0x0433, 17)
+#elif PACKETVER >= 20080910
+packetLen(0x0433, 26)
+#elif PACKETVER >= 20080820
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20081217
+packetLen(0x0434, 6)
+#elif PACKETVER >= 20081203
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20081126
+packetLen(0x0434, 15)
+#elif PACKETVER >= 20080903
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20080827
+packetLen(0x0434, 8)
+#elif PACKETVER >= 20080820
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20081217
+packetLen(0x0435, 3)
+#elif PACKETVER >= 20081126
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20081119
+packetLen(0x0435, 24)
+#elif PACKETVER >= 20081015
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20081008
+packetLen(0x0435, 11)
+#elif PACKETVER >= 20081001
+packetLen(0x0435, 10)
+#elif PACKETVER >= 20080924
+packetLen(0x0435, 7)
+#elif PACKETVER >= 20080917
+packetLen(0x0435, 6)
+#elif PACKETVER >= 20080820
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20081217
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20081203
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20081126
+packetLen(0x0436, 9)
+#elif PACKETVER >= 20081112
+packetLen(0x0436, 19)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0436, 60)
+#elif PACKETVER >= 20081029
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0436, 13)
+#elif PACKETVER >= 20081015
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20080924
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20080910
+packetLen(0x0436, 3)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20081112
+packetLen(0x0437, 7)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0437, 282)
+#elif PACKETVER >= 20081029
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20081022
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20081015
+packetLen(0x0437, 55)
+#elif PACKETVER >= 20081008
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20081001
+packetLen(0x0437, 33)
+#elif PACKETVER >= 20080924
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20080917
+packetLen(0x0437, 10)
+#elif PACKETVER >= 20080910
+packetLen(0x0437, -1)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20081217
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20081203
+packetLen(0x0438, 65)
+#elif PACKETVER >= 20081119
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0438, 10)
+// ignored packet from 2008-11-12dRagexe
+// ignored packet from 2008-11-12aRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0438, 4)
+#elif PACKETVER >= 20081029
+packetLen(0x0438, 12)
+#elif PACKETVER >= 20081022
+packetLen(0x0438, 30)
+#elif PACKETVER >= 20081001
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20080924
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20080917
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20080910
+packetLen(0x0438, -1)
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20081217
+packetLen(0x0439, 3)
+#elif PACKETVER >= 20081119
+packetLen(0x0439, -1)
+#elif PACKETVER >= 20081112
+packetLen(0x0439, 22)
+// ignored packet from 2008-11-12aRagexe
+// ignored packet from 2008-11-12cRagexe
+#elif PACKETVER >= 20081105
+packetLen(0x0439, 4)
+#elif PACKETVER >= 20081022
+packetLen(0x0439, -1)
+#elif PACKETVER >= 20081015
+packetLen(0x0439, 11)
+#elif PACKETVER >= 20081008
+packetLen(0x0439, 114)
+#elif PACKETVER >= 20081001
+packetLen(0x0439, 12)
+#elif PACKETVER >= 20080924
+packetLen(0x0439, 30)
+#elif PACKETVER >= 20080917
+packetLen(0x0439, -1)
+#elif PACKETVER >= 20080910
+packetLen(0x0439, 30)
+#endif
+
+// Packet: 0x043d
+#if PACKETVER >= 20081112
+packetLen(0x043d, 8)
+#endif
+
+// Packet: 0x043e
+#if PACKETVER >= 20081112
+packetLen(0x043e, -1)
+#endif
+
+// Packet: 0x043f
+#if PACKETVER >= 20081112
+packetLen(0x043f, 8)
+#endif
+
+// Packet: 0x0440
+#if PACKETVER >= 20081126
+packetLen(0x0440, 10)
+#endif
+
+// Packet: 0x0441
+#if PACKETVER >= 20081126
+packetLen(0x0441, 4)
+#endif
+
+// Packet: 0x0442
+#if PACKETVER >= 20081210
+packetLen(0x0442, 8)
+#endif
+
+// Packet: 0x0443
+#if PACKETVER >= 20081210
+packetLen(0x0443, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_MAIN_H */
diff --git a/src/common/packets/packets2008_len_re.h b/src/common/packets/packets2008_len_re.h
new file mode 100644
index 000000000..81d615190
--- /dev/null
+++ b/src/common/packets/packets2008_len_re.h
@@ -0,0 +1,2944 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2008_LEN_RE_H
+#define COMMON_PACKETS2008_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20081217
+packetLen(0x006d, 114)
+#elif PACKETVER >= 20080827
+packetLen(0x006d, 110)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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
+#if PACKETVER >= 20081126
+packetLen(0x01a2, 37)
+#elif PACKETVER >= 20080827
+packetLen(0x01a2, 35)
+#endif
+
+// Packet: 0x01a3
+packetLen(0x01a3, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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: 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, 10)
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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: 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, 22)
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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, -1)
+
+// Packet: 0x02f5
+packetLen(0x02f5, -1)
+
+// Packet: 0x02f6
+packetLen(0x02f6, -1)
+
+// Packet: 0x02f7
+packetLen(0x02f7, -1)
+
+// Packet: 0x02f8
+packetLen(0x02f8, -1)
+
+// Packet: 0x02f9
+packetLen(0x02f9, -1)
+
+// Packet: 0x02fa
+packetLen(0x02fa, -1)
+
+// Packet: 0x02fb
+packetLen(0x02fb, -1)
+
+// Packet: 0x02fc
+packetLen(0x02fc, -1)
+
+// Packet: 0x02fd
+packetLen(0x02fd, -1)
+
+// Packet: 0x02fe
+packetLen(0x02fe, -1)
+
+// Packet: 0x02ff
+packetLen(0x02ff, -1)
+
+// Packet: 0x0300
+packetLen(0x0300, -1)
+
+// Packet: 0x0301
+packetLen(0x0301, -1)
+
+// Packet: 0x0302
+packetLen(0x0302, -1)
+
+// Packet: 0x0303
+packetLen(0x0303, -1)
+
+// Packet: 0x0304
+packetLen(0x0304, -1)
+
+// Packet: 0x0305
+packetLen(0x0305, -1)
+
+// Packet: 0x0306
+packetLen(0x0306, -1)
+
+// Packet: 0x0307
+packetLen(0x0307, -1)
+
+// Packet: 0x0308
+packetLen(0x0308, -1)
+
+// Packet: 0x0309
+packetLen(0x0309, -1)
+
+// Packet: 0x030a
+packetLen(0x030a, -1)
+
+// Packet: 0x030b
+packetLen(0x030b, -1)
+
+// Packet: 0x030c
+packetLen(0x030c, -1)
+
+// Packet: 0x030d
+packetLen(0x030d, -1)
+
+// Packet: 0x030e
+packetLen(0x030e, -1)
+
+// Packet: 0x030f
+packetLen(0x030f, -1)
+
+// Packet: 0x0310
+packetLen(0x0310, -1)
+
+// Packet: 0x0311
+packetLen(0x0311, -1)
+
+// Packet: 0x0312
+packetLen(0x0312, -1)
+
+// Packet: 0x0313
+packetLen(0x0313, -1)
+
+// Packet: 0x0314
+packetLen(0x0314, -1)
+
+// Packet: 0x0315
+packetLen(0x0315, -1)
+
+// Packet: 0x0316
+packetLen(0x0316, -1)
+
+// Packet: 0x0317
+packetLen(0x0317, -1)
+
+// Packet: 0x0318
+packetLen(0x0318, -1)
+
+// Packet: 0x0319
+packetLen(0x0319, -1)
+
+// Packet: 0x031a
+packetLen(0x031a, -1)
+
+// Packet: 0x031b
+packetLen(0x031b, -1)
+
+// Packet: 0x031c
+packetLen(0x031c, -1)
+
+// Packet: 0x031d
+packetLen(0x031d, -1)
+
+// Packet: 0x031e
+packetLen(0x031e, -1)
+
+// Packet: 0x031f
+packetLen(0x031f, -1)
+
+// Packet: 0x0320
+packetLen(0x0320, -1)
+
+// Packet: 0x0321
+packetLen(0x0321, -1)
+
+// Packet: 0x0322
+packetLen(0x0322, -1)
+
+// Packet: 0x0323
+packetLen(0x0323, -1)
+
+// Packet: 0x0324
+packetLen(0x0324, -1)
+
+// Packet: 0x0325
+packetLen(0x0325, -1)
+
+// Packet: 0x0326
+packetLen(0x0326, -1)
+
+// Packet: 0x0327
+packetLen(0x0327, -1)
+
+// Packet: 0x0328
+packetLen(0x0328, -1)
+
+// Packet: 0x0329
+packetLen(0x0329, -1)
+
+// Packet: 0x032a
+packetLen(0x032a, -1)
+
+// Packet: 0x032b
+packetLen(0x032b, -1)
+
+// Packet: 0x032c
+packetLen(0x032c, -1)
+
+// Packet: 0x032d
+packetLen(0x032d, -1)
+
+// Packet: 0x032e
+packetLen(0x032e, -1)
+
+// Packet: 0x032f
+packetLen(0x032f, -1)
+
+// Packet: 0x0330
+packetLen(0x0330, -1)
+
+// Packet: 0x0331
+packetLen(0x0331, -1)
+
+// Packet: 0x0332
+packetLen(0x0332, -1)
+
+// Packet: 0x0333
+packetLen(0x0333, -1)
+
+// Packet: 0x0334
+packetLen(0x0334, -1)
+
+// Packet: 0x0335
+packetLen(0x0335, -1)
+
+// Packet: 0x0336
+packetLen(0x0336, -1)
+
+// Packet: 0x0337
+packetLen(0x0337, -1)
+
+// Packet: 0x0338
+packetLen(0x0338, -1)
+
+// Packet: 0x0339
+packetLen(0x0339, -1)
+
+// Packet: 0x033a
+packetLen(0x033a, -1)
+
+// Packet: 0x033b
+packetLen(0x033b, -1)
+
+// Packet: 0x033c
+packetLen(0x033c, -1)
+
+// Packet: 0x033d
+packetLen(0x033d, -1)
+
+// Packet: 0x033e
+packetLen(0x033e, -1)
+
+// Packet: 0x033f
+packetLen(0x033f, -1)
+
+// Packet: 0x0340
+packetLen(0x0340, -1)
+
+// Packet: 0x0341
+packetLen(0x0341, -1)
+
+// Packet: 0x0342
+packetLen(0x0342, -1)
+
+// Packet: 0x0343
+packetLen(0x0343, -1)
+
+// Packet: 0x0344
+packetLen(0x0344, -1)
+
+// Packet: 0x0345
+packetLen(0x0345, -1)
+
+// Packet: 0x0346
+packetLen(0x0346, -1)
+
+// Packet: 0x0347
+packetLen(0x0347, -1)
+
+// Packet: 0x0348
+packetLen(0x0348, -1)
+
+// Packet: 0x0349
+packetLen(0x0349, -1)
+
+// Packet: 0x034a
+packetLen(0x034a, -1)
+
+// Packet: 0x034b
+packetLen(0x034b, -1)
+
+// Packet: 0x034c
+packetLen(0x034c, -1)
+
+// Packet: 0x034d
+packetLen(0x034d, -1)
+
+// Packet: 0x034e
+packetLen(0x034e, -1)
+
+// Packet: 0x034f
+packetLen(0x034f, -1)
+
+// Packet: 0x0350
+packetLen(0x0350, -1)
+
+// Packet: 0x0351
+packetLen(0x0351, -1)
+
+// Packet: 0x0352
+packetLen(0x0352, -1)
+
+// Packet: 0x0353
+packetLen(0x0353, -1)
+
+// Packet: 0x0354
+packetLen(0x0354, -1)
+
+// Packet: 0x0355
+packetLen(0x0355, -1)
+
+// Packet: 0x0356
+packetLen(0x0356, -1)
+
+// Packet: 0x0357
+packetLen(0x0357, -1)
+
+// Packet: 0x0358
+packetLen(0x0358, -1)
+
+// Packet: 0x0359
+packetLen(0x0359, -1)
+
+// Packet: 0x035a
+packetLen(0x035a, -1)
+
+// Packet: 0x035b
+packetLen(0x035b, -1)
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+packetLen(0x035f, -1)
+
+// Packet: 0x0360
+packetLen(0x0360, -1)
+
+// Packet: 0x0361
+packetLen(0x0361, -1)
+
+// Packet: 0x0362
+packetLen(0x0362, -1)
+
+// Packet: 0x0363
+packetLen(0x0363, -1)
+
+// Packet: 0x0364
+packetLen(0x0364, -1)
+
+// Packet: 0x0365
+packetLen(0x0365, -1)
+
+// Packet: 0x0366
+packetLen(0x0366, -1)
+
+// Packet: 0x0367
+packetLen(0x0367, -1)
+
+// Packet: 0x0368
+packetLen(0x0368, -1)
+
+// Packet: 0x0369
+packetLen(0x0369, -1)
+
+// Packet: 0x036a
+packetLen(0x036a, -1)
+
+// Packet: 0x036b
+packetLen(0x036b, -1)
+
+// Packet: 0x036c
+packetLen(0x036c, -1)
+
+// Packet: 0x036d
+packetLen(0x036d, -1)
+
+// Packet: 0x036e
+packetLen(0x036e, -1)
+
+// Packet: 0x036f
+packetLen(0x036f, -1)
+
+// Packet: 0x0370
+packetLen(0x0370, -1)
+
+// Packet: 0x0371
+packetLen(0x0371, -1)
+
+// Packet: 0x0372
+packetLen(0x0372, -1)
+
+// Packet: 0x0373
+packetLen(0x0373, -1)
+
+// Packet: 0x0374
+packetLen(0x0374, -1)
+
+// Packet: 0x0375
+packetLen(0x0375, -1)
+
+// Packet: 0x0376
+packetLen(0x0376, -1)
+
+// Packet: 0x0377
+packetLen(0x0377, -1)
+
+// Packet: 0x0378
+packetLen(0x0378, -1)
+
+// Packet: 0x0379
+packetLen(0x0379, -1)
+
+// Packet: 0x037a
+packetLen(0x037a, -1)
+
+// Packet: 0x037b
+packetLen(0x037b, -1)
+
+// Packet: 0x037c
+packetLen(0x037c, -1)
+
+// Packet: 0x037d
+packetLen(0x037d, -1)
+
+// Packet: 0x037e
+packetLen(0x037e, -1)
+
+// Packet: 0x037f
+packetLen(0x037f, -1)
+
+// Packet: 0x0380
+packetLen(0x0380, -1)
+
+// Packet: 0x0381
+packetLen(0x0381, -1)
+
+// Packet: 0x0382
+packetLen(0x0382, -1)
+
+// Packet: 0x0383
+packetLen(0x0383, -1)
+
+// Packet: 0x0384
+packetLen(0x0384, -1)
+
+// Packet: 0x0385
+packetLen(0x0385, -1)
+
+// Packet: 0x0386
+packetLen(0x0386, -1)
+
+// Packet: 0x0387
+packetLen(0x0387, -1)
+
+// Packet: 0x0388
+packetLen(0x0388, -1)
+
+// Packet: 0x0389
+packetLen(0x0389, -1)
+
+// Packet: 0x038a
+packetLen(0x038a, -1)
+
+// Packet: 0x038b
+packetLen(0x038b, -1)
+
+// Packet: 0x038c
+packetLen(0x038c, -1)
+
+// Packet: 0x038d
+packetLen(0x038d, -1)
+
+// Packet: 0x038e
+packetLen(0x038e, -1)
+
+// Packet: 0x038f
+packetLen(0x038f, -1)
+
+// Packet: 0x0390
+packetLen(0x0390, -1)
+
+// Packet: 0x0391
+packetLen(0x0391, -1)
+
+// Packet: 0x0392
+packetLen(0x0392, -1)
+
+// Packet: 0x0393
+packetLen(0x0393, -1)
+
+// Packet: 0x0394
+packetLen(0x0394, -1)
+
+// Packet: 0x0395
+packetLen(0x0395, -1)
+
+// Packet: 0x0396
+packetLen(0x0396, -1)
+
+// Packet: 0x0397
+packetLen(0x0397, -1)
+
+// Packet: 0x0398
+packetLen(0x0398, -1)
+
+// Packet: 0x0399
+packetLen(0x0399, -1)
+
+// Packet: 0x039a
+packetLen(0x039a, -1)
+
+// Packet: 0x039b
+packetLen(0x039b, -1)
+
+// Packet: 0x039c
+packetLen(0x039c, -1)
+
+// Packet: 0x039d
+packetLen(0x039d, -1)
+
+// Packet: 0x039e
+packetLen(0x039e, -1)
+
+// Packet: 0x039f
+packetLen(0x039f, -1)
+
+// Packet: 0x03a0
+packetLen(0x03a0, -1)
+
+// Packet: 0x03a1
+packetLen(0x03a1, -1)
+
+// Packet: 0x03a2
+packetLen(0x03a2, -1)
+
+// Packet: 0x03a3
+packetLen(0x03a3, -1)
+
+// Packet: 0x03a4
+packetLen(0x03a4, -1)
+
+// Packet: 0x03a5
+packetLen(0x03a5, -1)
+
+// Packet: 0x03a6
+packetLen(0x03a6, -1)
+
+// Packet: 0x03a7
+packetLen(0x03a7, -1)
+
+// Packet: 0x03a8
+packetLen(0x03a8, -1)
+
+// Packet: 0x03a9
+packetLen(0x03a9, -1)
+
+// Packet: 0x03aa
+packetLen(0x03aa, -1)
+
+// Packet: 0x03ab
+packetLen(0x03ab, -1)
+
+// Packet: 0x03ac
+packetLen(0x03ac, -1)
+
+// Packet: 0x03ad
+packetLen(0x03ad, -1)
+
+// Packet: 0x03ae
+packetLen(0x03ae, -1)
+
+// Packet: 0x03af
+packetLen(0x03af, -1)
+
+// Packet: 0x03b0
+packetLen(0x03b0, -1)
+
+// Packet: 0x03b1
+packetLen(0x03b1, -1)
+
+// Packet: 0x03b2
+packetLen(0x03b2, -1)
+
+// Packet: 0x03b3
+packetLen(0x03b3, -1)
+
+// Packet: 0x03b4
+packetLen(0x03b4, -1)
+
+// Packet: 0x03b5
+packetLen(0x03b5, -1)
+
+// Packet: 0x03b6
+packetLen(0x03b6, -1)
+
+// Packet: 0x03b7
+packetLen(0x03b7, -1)
+
+// Packet: 0x03b8
+packetLen(0x03b8, -1)
+
+// Packet: 0x03b9
+packetLen(0x03b9, -1)
+
+// Packet: 0x03ba
+packetLen(0x03ba, -1)
+
+// Packet: 0x03bb
+packetLen(0x03bb, -1)
+
+// Packet: 0x03bc
+packetLen(0x03bc, -1)
+
+// Packet: 0x03bd
+packetLen(0x03bd, -1)
+
+// Packet: 0x03be
+packetLen(0x03be, -1)
+
+// Packet: 0x03bf
+packetLen(0x03bf, -1)
+
+// Packet: 0x03c0
+packetLen(0x03c0, -1)
+
+// Packet: 0x03c1
+packetLen(0x03c1, -1)
+
+// Packet: 0x03c2
+packetLen(0x03c2, -1)
+
+// Packet: 0x03c3
+packetLen(0x03c3, -1)
+
+// Packet: 0x03c4
+packetLen(0x03c4, -1)
+
+// Packet: 0x03c5
+packetLen(0x03c5, -1)
+
+// Packet: 0x03c6
+packetLen(0x03c6, -1)
+
+// Packet: 0x03c7
+packetLen(0x03c7, -1)
+
+// Packet: 0x03c8
+packetLen(0x03c8, -1)
+
+// Packet: 0x03c9
+packetLen(0x03c9, -1)
+
+// Packet: 0x03ca
+packetLen(0x03ca, -1)
+
+// Packet: 0x03cb
+packetLen(0x03cb, -1)
+
+// Packet: 0x03cc
+packetLen(0x03cc, -1)
+
+// Packet: 0x03cd
+packetLen(0x03cd, -1)
+
+// Packet: 0x03ce
+packetLen(0x03ce, -1)
+
+// Packet: 0x03cf
+packetLen(0x03cf, -1)
+
+// Packet: 0x03d0
+packetLen(0x03d0, -1)
+
+// Packet: 0x03d1
+packetLen(0x03d1, -1)
+
+// Packet: 0x03d2
+packetLen(0x03d2, -1)
+
+// Packet: 0x03d3
+packetLen(0x03d3, -1)
+
+// Packet: 0x03d4
+packetLen(0x03d4, -1)
+
+// Packet: 0x03d5
+packetLen(0x03d5, -1)
+
+// Packet: 0x03d6
+packetLen(0x03d6, -1)
+
+// Packet: 0x03d7
+packetLen(0x03d7, -1)
+
+// Packet: 0x03d8
+packetLen(0x03d8, -1)
+
+// Packet: 0x03d9
+packetLen(0x03d9, -1)
+
+// Packet: 0x03da
+packetLen(0x03da, -1)
+
+// Packet: 0x03db
+packetLen(0x03db, -1)
+
+// Packet: 0x03dc
+packetLen(0x03dc, -1)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x03e2
+packetLen(0x03e2, -1)
+
+// Packet: 0x03e3
+packetLen(0x03e3, -1)
+
+// Packet: 0x03e4
+packetLen(0x03e4, -1)
+
+// Packet: 0x03e5
+packetLen(0x03e5, -1)
+
+// Packet: 0x03e6
+packetLen(0x03e6, -1)
+
+// Packet: 0x03e7
+packetLen(0x03e7, -1)
+
+// Packet: 0x03e8
+packetLen(0x03e8, -1)
+
+// Packet: 0x03e9
+packetLen(0x03e9, -1)
+
+// Packet: 0x03ea
+packetLen(0x03ea, -1)
+
+// Packet: 0x03eb
+packetLen(0x03eb, -1)
+
+// Packet: 0x03ec
+packetLen(0x03ec, -1)
+
+// Packet: 0x03ed
+packetLen(0x03ed, -1)
+
+// Packet: 0x03ee
+packetLen(0x03ee, -1)
+
+// Packet: 0x03ef
+packetLen(0x03ef, -1)
+
+// Packet: 0x03f0
+packetLen(0x03f0, -1)
+
+// Packet: 0x03f1
+packetLen(0x03f1, -1)
+
+// Packet: 0x03f2
+packetLen(0x03f2, -1)
+
+// Packet: 0x03f3
+packetLen(0x03f3, -1)
+
+// Packet: 0x03f4
+packetLen(0x03f4, -1)
+
+// Packet: 0x03f5
+packetLen(0x03f5, -1)
+
+// Packet: 0x03f6
+packetLen(0x03f6, -1)
+
+// Packet: 0x03f7
+packetLen(0x03f7, -1)
+
+// Packet: 0x03f8
+packetLen(0x03f8, -1)
+
+// Packet: 0x03f9
+packetLen(0x03f9, -1)
+
+// Packet: 0x03fa
+packetLen(0x03fa, -1)
+
+// Packet: 0x03fb
+packetLen(0x03fb, -1)
+
+// Packet: 0x03fc
+packetLen(0x03fc, -1)
+
+// Packet: 0x03fd
+packetLen(0x03fd, -1)
+
+// Packet: 0x03fe
+packetLen(0x03fe, -1)
+
+// Packet: 0x03ff
+packetLen(0x03ff, -1)
+
+// Packet: 0x0400
+packetLen(0x0400, -1)
+
+// Packet: 0x0401
+packetLen(0x0401, -1)
+
+// Packet: 0x0402
+packetLen(0x0402, -1)
+
+// Packet: 0x0403
+packetLen(0x0403, -1)
+
+// Packet: 0x0404
+packetLen(0x0404, -1)
+
+// Packet: 0x0405
+packetLen(0x0405, -1)
+
+// Packet: 0x0406
+packetLen(0x0406, -1)
+
+// Packet: 0x0407
+packetLen(0x0407, -1)
+
+// Packet: 0x0408
+packetLen(0x0408, -1)
+
+// Packet: 0x0409
+packetLen(0x0409, -1)
+
+// Packet: 0x040a
+packetLen(0x040a, -1)
+
+// Packet: 0x040b
+packetLen(0x040b, -1)
+
+// Packet: 0x040c
+packetLen(0x040c, -1)
+
+// Packet: 0x040d
+packetLen(0x040d, -1)
+
+// Packet: 0x040e
+packetLen(0x040e, -1)
+
+// Packet: 0x040f
+packetLen(0x040f, -1)
+
+// Packet: 0x0410
+packetLen(0x0410, -1)
+
+// Packet: 0x0411
+packetLen(0x0411, -1)
+
+// Packet: 0x0412
+packetLen(0x0412, -1)
+
+// Packet: 0x0413
+packetLen(0x0413, -1)
+
+// Packet: 0x0414
+packetLen(0x0414, -1)
+
+// Packet: 0x0415
+packetLen(0x0415, -1)
+
+// Packet: 0x0416
+packetLen(0x0416, -1)
+
+// Packet: 0x0417
+packetLen(0x0417, -1)
+
+// Packet: 0x0418
+packetLen(0x0418, -1)
+
+// Packet: 0x0419
+packetLen(0x0419, -1)
+
+// Packet: 0x041a
+packetLen(0x041a, -1)
+
+// Packet: 0x041b
+packetLen(0x041b, -1)
+
+// Packet: 0x041c
+packetLen(0x041c, -1)
+
+// Packet: 0x041d
+packetLen(0x041d, -1)
+
+// Packet: 0x041e
+packetLen(0x041e, -1)
+
+// Packet: 0x041f
+packetLen(0x041f, -1)
+
+// Packet: 0x0420
+packetLen(0x0420, -1)
+
+// Packet: 0x0421
+packetLen(0x0421, -1)
+
+// Packet: 0x0422
+packetLen(0x0422, -1)
+
+// Packet: 0x0423
+packetLen(0x0423, -1)
+
+// Packet: 0x0424
+packetLen(0x0424, -1)
+
+// Packet: 0x0425
+packetLen(0x0425, -1)
+
+// Packet: 0x0426
+packetLen(0x0426, -1)
+
+// Packet: 0x0427
+packetLen(0x0427, -1)
+
+// Packet: 0x0428
+packetLen(0x0428, -1)
+
+// Packet: 0x0429
+packetLen(0x0429, -1)
+
+// Packet: 0x042a
+packetLen(0x042a, -1)
+
+// Packet: 0x042b
+packetLen(0x042b, -1)
+
+// Packet: 0x042c
+packetLen(0x042c, -1)
+
+// Packet: 0x042d
+packetLen(0x042d, -1)
+
+// Packet: 0x042e
+packetLen(0x042e, -1)
+
+// Packet: 0x042f
+packetLen(0x042f, -1)
+
+// Packet: 0x0430
+packetLen(0x0430, -1)
+
+// Packet: 0x0431
+packetLen(0x0431, -1)
+
+// Packet: 0x0432
+packetLen(0x0432, -1)
+
+// Packet: 0x0433
+packetLen(0x0433, -1)
+
+// Packet: 0x0434
+packetLen(0x0434, -1)
+
+// Packet: 0x0435
+packetLen(0x0435, -1)
+
+// Packet: 0x0436
+#if PACKETVER >= 20080910
+packetLen(0x0436, 19)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20080910
+packetLen(0x0437, 7)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20080910
+packetLen(0x0438, 10)
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20080910
+packetLen(0x0439, 8)
+#endif
+
+// Packet: 0x043d
+#if PACKETVER >= 20081111
+packetLen(0x043d, 8)
+#endif
+
+// Packet: 0x043e
+#if PACKETVER >= 20081111
+packetLen(0x043e, -1)
+#endif
+
+// Packet: 0x043f
+#if PACKETVER >= 20081111
+packetLen(0x043f, 8)
+#endif
+
+// Packet: 0x0440
+#if PACKETVER >= 20081126
+packetLen(0x0440, 10)
+#endif
+
+// Packet: 0x0441
+#if PACKETVER >= 20081126
+packetLen(0x0441, 4)
+#endif
+
+// Packet: 0x0442
+#if PACKETVER >= 20081217
+packetLen(0x0442, 8)
+#endif
+
+// Packet: 0x0443
+#if PACKETVER >= 20081217
+packetLen(0x0443, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_RE_H */
diff --git a/src/common/packets/packets2008_len_sak.h b/src/common/packets/packets2008_len_sak.h
new file mode 100644
index 000000000..38ee488ed
--- /dev/null
+++ b/src/common/packets/packets2008_len_sak.h
@@ -0,0 +1,8968 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2008_LEN_SAK_H
+#define COMMON_PACKETS2008_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 25)
+
+// Packet: 0x0073
+#if PACKETVER >= 20080618
+packetLen(0x0073, 32)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0073, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0073, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0073, 53)
+#elif PACKETVER >= 20080219
+packetLen(0x0073, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x0073, 11)
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+#if PACKETVER >= 20080618
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0075, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0075, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0075, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0075, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x0075, -1)
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+#if PACKETVER >= 20080618
+packetLen(0x0077, 5)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0077, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0077, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0077, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x0077, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x0077, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0077, 5)
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20080618
+packetLen(0x0078, 55)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0078, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0078, 55)
+#elif PACKETVER >= 20080304
+packetLen(0x0078, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0078, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0078, 55)
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20080618
+packetLen(0x0079, 53)
+#elif PACKETVER >= 20080610
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0079, 53)
+#elif PACKETVER >= 20080304
+packetLen(0x0079, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0079, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0079, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x0079, 53)
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20080618
+packetLen(0x007a, 58)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x007a, 58)
+#elif PACKETVER >= 20080304
+packetLen(0x007a, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x007a, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x007a, 58)
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20080618
+packetLen(0x007b, 60)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007b, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x007b, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x007b, 56)
+#elif PACKETVER >= 20080226
+packetLen(0x007b, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x007b, 60)
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20080618
+packetLen(0x007c, 42)
+#elif PACKETVER >= 20080610
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x007c, 42)
+#elif PACKETVER >= 20080304
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x007c, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x007c, 186)
+#elif PACKETVER >= 20080102
+packetLen(0x007c, 42)
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20080618
+packetLen(0x007d, 2)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007d, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x007d, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x007d, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x007d, 2)
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 102)
+
+// Packet: 0x007f
+#if PACKETVER >= 20080618
+packetLen(0x007f, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x007f, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x007f, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x007f, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x007f, 6)
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20080618
+packetLen(0x0080, 7)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0080, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0080, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0080, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0080, 7)
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+#if PACKETVER >= 20080618
+packetLen(0x0083, 34)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0083, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0083, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0083, 2)
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 11)
+
+// Packet: 0x0086
+#if PACKETVER >= 20080618
+packetLen(0x0086, 16)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0086, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x0086, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x0086, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0086, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x0086, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0086, 16)
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20080618
+packetLen(0x0087, 12)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0087, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0087, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x0087, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0087, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0087, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x0087, 12)
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20080618
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0088, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0088, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0088, 10)
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 8)
+
+// Packet: 0x008a
+#if PACKETVER >= 20080618
+packetLen(0x008a, 29)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x008a, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x008a, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x008a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x008a, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x008a, 29)
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 11)
+
+// Packet: 0x008d
+#if PACKETVER >= 20080618
+packetLen(0x008d, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x008d, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x008d, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x008d, 79)
+#elif PACKETVER >= 20080102
+packetLen(0x008d, -1)
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20080618
+packetLen(0x008e, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x008e, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x008e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x008e, 33)
+#elif PACKETVER >= 20080102
+packetLen(0x008e, -1)
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20080618
+packetLen(0x0090, 7)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0090, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x0090, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0090, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0090, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0090, 7)
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20080618
+packetLen(0x0091, 22)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0091, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x0091, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0091, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0091, 22)
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20080618
+packetLen(0x0092, 28)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0092, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x0092, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0092, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0092, 28)
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20080618
+packetLen(0x0093, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0093, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0093, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0093, 67)
+#elif PACKETVER >= 20080102
+packetLen(0x0093, 2)
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 14)
+
+// Packet: 0x0095
+#if PACKETVER >= 20080618
+packetLen(0x0095, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0095, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0095, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0095, 39)
+#elif PACKETVER >= 20080219
+packetLen(0x0095, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0095, 30)
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20080311
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0096, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0096, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0096, -1)
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20080618
+packetLen(0x0097, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080304
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0097, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x0097, -1)
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20080618
+packetLen(0x0098, 24)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0098, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0098, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0098, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0098, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0098, 3)
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20080311
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0099, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0099, 34)
+#elif PACKETVER >= 20080219
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0099, -1)
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20080304
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x009a, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x009a, -1)
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 26)
+
+// Packet: 0x009c
+#if PACKETVER >= 20080618
+packetLen(0x009c, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x009c, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x009c, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x009c, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x009c, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x009c, 9)
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20080618
+packetLen(0x009d, 17)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x009d, 17)
+#elif PACKETVER >= 20080304
+packetLen(0x009d, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x009d, 57)
+#elif PACKETVER >= 20080219
+packetLen(0x009d, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x009d, 17)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20080618
+packetLen(0x009e, 17)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x009e, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x009e, 17)
+#elif PACKETVER >= 20080304
+packetLen(0x009e, 36)
+#elif PACKETVER >= 20080226
+packetLen(0x009e, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x009e, 17)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 14)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20080618
+packetLen(0x00a0, 23)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00a0, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00a0, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00a0, 27)
+#elif PACKETVER >= 20080219
+packetLen(0x00a0, 39)
+#elif PACKETVER >= 20080102
+packetLen(0x00a0, 23)
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20080618
+packetLen(0x00a1, 60)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00a1, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00a1, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x00a1, 6)
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 15)
+
+// Packet: 0x00a3
+#if PACKETVER >= 20080618
+packetLen(0x00a3, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00a3, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00a3, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00a3, 44)
+#elif PACKETVER >= 20080102
+packetLen(0x00a3, -1)
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20080618
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a4, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00a4, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x00a4, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x00a4, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x00a4, -1)
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20080618
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00a5, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00a5, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00a5, -1)
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20080304
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00a6, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x00a6, -1)
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20080618
+packetLen(0x00a8, 7)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00a8, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x00a8, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00a8, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00a8, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00a8, 7)
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20080618
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00a9, 35)
+#elif PACKETVER >= 20080226
+packetLen(0x00a9, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x00a9, 6)
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20080618
+packetLen(0x00aa, 7)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00aa, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00aa, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00aa, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00aa, 7)
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20080618
+packetLen(0x00ab, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00ab, 57)
+#elif PACKETVER >= 20080102
+packetLen(0x00ab, 4)
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20080618
+packetLen(0x00ac, 7)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ac, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00ac, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00ac, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00ac, 7)
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+#if PACKETVER >= 20080618
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00af, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00af, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00af, 6)
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20080618
+packetLen(0x00b0, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b0, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00b0, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00b0, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x00b0, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00b0, 8)
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20080618
+packetLen(0x00b1, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b1, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x00b1, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00b1, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00b1, 8)
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20080618
+packetLen(0x00b2, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b2, 60)
+#elif PACKETVER >= 20080311
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00b2, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00b2, 3)
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20080618
+packetLen(0x00b3, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b3, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00b3, 16)
+#elif PACKETVER >= 20080226
+packetLen(0x00b3, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x00b3, 55)
+#elif PACKETVER >= 20080102
+packetLen(0x00b3, 3)
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20080618
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b4, 67)
+#elif PACKETVER >= 20080304
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00b4, 43)
+#elif PACKETVER >= 20080219
+packetLen(0x00b4, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00b4, -1)
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20080618
+packetLen(0x00b5, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b5, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00b5, 182)
+#elif PACKETVER >= 20080226
+packetLen(0x00b5, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x00b5, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x00b5, 6)
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20080618
+packetLen(0x00b6, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b6, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00b6, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00b6, 6)
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20080618
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00b7, 12)
+#elif PACKETVER >= 20080311
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00b7, 32)
+#elif PACKETVER >= 20080219
+packetLen(0x00b7, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00b7, -1)
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20080618
+packetLen(0x00b8, 9)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b8, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00b8, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00b8, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00b8, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00b8, 7)
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20080618
+packetLen(0x00b9, 9)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00b9, 44)
+#elif PACKETVER >= 20080226
+packetLen(0x00b9, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x00b9, 6)
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+#if PACKETVER >= 20080618
+packetLen(0x00bb, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00bb, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x00bb, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00bb, 182)
+#elif PACKETVER >= 20080102
+packetLen(0x00bb, 5)
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20080618
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00bc, 58)
+#elif PACKETVER >= 20080311
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00bc, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00bc, 6)
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20080618
+packetLen(0x00bd, 79)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00bd, 44)
+#elif PACKETVER >= 20080304
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00bd, 58)
+#elif PACKETVER >= 20080219
+packetLen(0x00bd, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00bd, 44)
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20080618
+packetLen(0x00be, 5)
+#elif PACKETVER >= 20080610
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00be, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x00be, 186)
+#elif PACKETVER >= 20080219
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00be, 5)
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20080618
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00bf, 29)
+#elif PACKETVER >= 20080219
+packetLen(0x00bf, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00bf, 3)
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20080618
+packetLen(0x00c0, 60)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c0, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00c0, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00c0, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00c0, 21)
+#elif PACKETVER >= 20080219
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00c0, 7)
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20080618
+packetLen(0x00c1, 2)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00c1, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00c1, 2)
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20080618
+packetLen(0x00c2, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c2, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00c2, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00c2, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00c2, 6)
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20080618
+packetLen(0x00c3, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00c3, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00c3, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00c3, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x00c3, 8)
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20080618
+packetLen(0x00c4, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c4, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00c4, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00c4, 114)
+#elif PACKETVER >= 20080219
+packetLen(0x00c4, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00c4, 6)
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20080618
+packetLen(0x00c5, 9)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00c5, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x00c5, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x00c5, 67)
+#elif PACKETVER >= 20080219
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00c5, 7)
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20080618
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00c6, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c6, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x00c6, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x00c6, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00c6, -1)
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20080304
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00c7, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00c7, 90)
+#elif PACKETVER >= 20080102
+packetLen(0x00c7, -1)
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20080618
+packetLen(0x00c8, 15)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c8, 86)
+#elif PACKETVER >= 20080226
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00c8, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00c8, -1)
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20080618
+packetLen(0x00c9, 36)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00c9, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x00c9, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00c9, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00c9, -1)
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20080618
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00ca, 20)
+#elif PACKETVER >= 20080226
+packetLen(0x00ca, 23)
+#elif PACKETVER >= 20080219
+packetLen(0x00ca, 86)
+#elif PACKETVER >= 20080102
+packetLen(0x00ca, 3)
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+#if PACKETVER >= 20080618
+packetLen(0x00cc, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00cc, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00cc, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00cc, 6)
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+#if PACKETVER >= 20080618
+packetLen(0x00ce, 11)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00ce, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00ce, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00ce, 2)
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20080618
+packetLen(0x00cf, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00cf, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x00cf, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x00cf, 60)
+#elif PACKETVER >= 20080226
+packetLen(0x00cf, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00cf, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x00cf, 27)
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20080618
+packetLen(0x00d0, 3)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00d0, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00d0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00d0, 3)
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20080618
+packetLen(0x00d1, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00d1, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00d1, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x00d1, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x00d1, 13)
+#elif PACKETVER >= 20080102
+packetLen(0x00d1, 4)
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20080618
+packetLen(0x00d2, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00d2, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00d2, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00d2, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x00d2, 4)
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20080618
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00d3, 23)
+#elif PACKETVER >= 20080226
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00d3, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x00d3, 2)
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+#if PACKETVER >= 20080618
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00d5, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00d5, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00d5, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00d5, -1)
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20080618
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00d6, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x00d6, 3)
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20080311
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00d7, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x00d7, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x00d7, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00d7, -1)
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20080618
+packetLen(0x00d8, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00d8, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00d8, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00d8, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00d8, 6)
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20080618
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x00d9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x00d9, 66)
+#elif PACKETVER >= 20080226
+packetLen(0x00d9, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00d9, 14)
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20080618
+packetLen(0x00da, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00da, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00da, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x00da, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00da, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x00da, 3)
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20080618
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x00db, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00db, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00db, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x00db, -1)
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20080618
+packetLen(0x00dc, 28)
+#elif PACKETVER >= 20080610
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00dc, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x00dc, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x00dc, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00dc, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x00dc, 28)
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20080618
+packetLen(0x00dd, 29)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00dd, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x00dd, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x00dd, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00dd, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x00dd, 29)
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20080311
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00de, 24)
+#elif PACKETVER >= 20080226
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00de, 34)
+#elif PACKETVER >= 20080102
+packetLen(0x00de, -1)
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20080618
+packetLen(0x00df, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00df, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x00df, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x00df, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00df, -1)
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20080618
+packetLen(0x00e0, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e0, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x00e0, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00e0, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00e0, 31)
+#elif PACKETVER >= 20080102
+packetLen(0x00e0, 30)
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20080618
+packetLen(0x00e1, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e1, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00e1, 81)
+#elif PACKETVER >= 20080102
+packetLen(0x00e1, 30)
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20080618
+packetLen(0x00e2, 26)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00e2, 13)
+#elif PACKETVER >= 20080226
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x00e2, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x00e2, 26)
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20080618
+packetLen(0x00e3, 58)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e3, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x00e3, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00e3, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x00e3, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00e3, 2)
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20080618
+packetLen(0x00e4, 86)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e4, 79)
+#elif PACKETVER >= 20080311
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00e4, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00e4, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00e4, 6)
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20080618
+packetLen(0x00e5, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e5, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00e5, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x00e5, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x00e5, 26)
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20080618
+packetLen(0x00e6, 9)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e6, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00e6, 53)
+#elif PACKETVER >= 20080219
+packetLen(0x00e6, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00e6, 3)
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20080618
+packetLen(0x00e7, 3)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00e7, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00e7, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00e7, 68)
+#elif PACKETVER >= 20080219
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00e7, 3)
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20080618
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x00e8, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x00e8, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00e8, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00e8, 8)
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20080618
+packetLen(0x00e9, 19)
+#elif PACKETVER >= 20080610
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00e9, 19)
+#elif PACKETVER >= 20080304
+packetLen(0x00e9, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00e9, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x00e9, 19)
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20080618
+packetLen(0x00ea, 90)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ea, 54)
+#elif PACKETVER >= 20080311
+packetLen(0x00ea, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ea, 5)
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20080618
+packetLen(0x00eb, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00eb, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00eb, 19)
+#elif PACKETVER >= 20080219
+packetLen(0x00eb, 17)
+#elif PACKETVER >= 20080102
+packetLen(0x00eb, 2)
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20080618
+packetLen(0x00ec, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ec, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00ec, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x00ec, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ec, 3)
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20080618
+packetLen(0x00ed, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ed, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00ed, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x00ed, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ed, 2)
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20080618
+packetLen(0x00ee, 81)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ee, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00ee, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00ee, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x00ee, 90)
+#elif PACKETVER >= 20080219
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00ee, 2)
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20080618
+packetLen(0x00ef, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00ef, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00ef, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x00ef, 2)
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20080618
+packetLen(0x00f0, 3)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f0, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00f0, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x00f0, 3)
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+#if PACKETVER >= 20080618
+packetLen(0x00f2, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00f2, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x00f2, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x00f2, 6)
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+#if PACKETVER >= 20080618
+packetLen(0x00f4, 21)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f4, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00f4, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x00f4, 21)
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8)
+
+// Packet: 0x00f6
+#if PACKETVER >= 20080618
+packetLen(0x00f6, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f6, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x00f6, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x00f6, 23)
+#elif PACKETVER >= 20080102
+packetLen(0x00f6, 8)
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 22)
+
+// Packet: 0x00f8
+#if PACKETVER >= 20080618
+packetLen(0x00f8, 17)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00f8, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x00f8, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x00f8, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x00f8, 2)
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20080618
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x00f9, 19)
+#elif PACKETVER >= 20080226
+packetLen(0x00f9, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x00f9, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x00f9, 26)
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20080618
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x00fa, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00fa, 3)
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20080618
+packetLen(0x00fb, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00fb, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00fb, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x00fb, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x00fb, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x00fb, -1)
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20080618
+packetLen(0x00fc, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00fc, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x00fc, 19)
+#elif PACKETVER >= 20080102
+packetLen(0x00fc, 6)
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20080618
+packetLen(0x00fd, 27)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x00fd, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x00fd, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x00fd, 20)
+#elif PACKETVER >= 20080219
+packetLen(0x00fd, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x00fd, 27)
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20080618
+packetLen(0x00fe, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x00fe, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x00fe, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x00fe, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00fe, 30)
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20080618
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x00ff, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x00ff, 10)
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20080618
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0100, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0100, 2)
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20080618
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0101, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x0101, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0101, 6)
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20080618
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0102, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0102, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0102, 68)
+#elif PACKETVER >= 20080102
+packetLen(0x0102, 6)
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20080618
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0103, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0103, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0103, 30)
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20080618
+packetLen(0x0104, 79)
+#elif PACKETVER >= 20080610
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0104, 79)
+#elif PACKETVER >= 20080304
+packetLen(0x0104, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0104, 21)
+#elif PACKETVER >= 20080102
+packetLen(0x0104, 79)
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20080618
+packetLen(0x0105, 31)
+#elif PACKETVER >= 20080610
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0105, 31)
+#elif PACKETVER >= 20080304
+packetLen(0x0105, 102)
+#elif PACKETVER >= 20080226
+packetLen(0x0105, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0105, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0105, 31)
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20080618
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0106, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0106, 21)
+#elif PACKETVER >= 20080102
+packetLen(0x0106, 10)
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20080618
+packetLen(0x0107, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0107, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0107, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0107, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0107, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0107, 10)
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20080618
+packetLen(0x0108, 54)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0108, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0108, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0108, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0108, 97)
+#elif PACKETVER >= 20080102
+packetLen(0x0108, -1)
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20080618
+packetLen(0x0109, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0109, 33)
+#elif PACKETVER >= 20080226
+packetLen(0x0109, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0109, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x0109, -1)
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20080618
+packetLen(0x010a, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x010a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x010a, 4)
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20080618
+packetLen(0x010b, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x010b, 55)
+#elif PACKETVER >= 20080311
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x010b, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x010b, 24)
+#elif PACKETVER >= 20080102
+packetLen(0x010b, 6)
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20080618
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x010c, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x010c, 14)
+#elif PACKETVER >= 20080219
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x010c, 6)
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+#if PACKETVER >= 20080618
+packetLen(0x010e, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x010e, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x010e, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x010e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x010e, 11)
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20080311
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x010f, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x010f, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x010f, -1)
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20080618
+packetLen(0x0110, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0110, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0110, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0110, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0110, 10)
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20080618
+packetLen(0x0111, 39)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0111, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0111, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x0111, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0111, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x0111, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x0111, 39)
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20080618
+packetLen(0x0112, 59)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0112, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0112, 13)
+#elif PACKETVER >= 20080219
+packetLen(0x0112, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0112, 4)
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 22)
+
+// Packet: 0x0114
+#if PACKETVER >= 20080618
+packetLen(0x0114, 31)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0114, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x0114, 31)
+#elif PACKETVER >= 20080304
+packetLen(0x0114, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0114, 31)
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 10)
+
+// Packet: 0x0117
+#if PACKETVER >= 20080618
+packetLen(0x0117, 18)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0117, 31)
+#elif PACKETVER >= 20080311
+packetLen(0x0117, 18)
+#elif PACKETVER >= 20080304
+packetLen(0x0117, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0117, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0117, 18)
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20080618
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0118, 34)
+#elif PACKETVER >= 20080226
+packetLen(0x0118, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x0118, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0118, 2)
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20080618
+packetLen(0x0119, 13)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0119, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0119, 13)
+#elif PACKETVER >= 20080304
+packetLen(0x0119, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0119, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0119, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x0119, 13)
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20080618
+packetLen(0x011a, 15)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011a, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x011a, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x011a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x011a, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x011a, 15)
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20080618
+packetLen(0x011b, 20)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011b, 15)
+#elif PACKETVER >= 20080311
+packetLen(0x011b, 20)
+#elif PACKETVER >= 20080304
+packetLen(0x011b, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x011b, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x011b, 20)
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20080618
+packetLen(0x011c, 68)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011c, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x011c, 68)
+#elif PACKETVER >= 20080304
+packetLen(0x011c, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x011c, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x011c, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x011c, 68)
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20080618
+packetLen(0x011d, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011d, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x011d, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x011d, 2)
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20080618
+packetLen(0x011e, 33)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x011e, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x011e, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x011e, 3)
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20080618
+packetLen(0x011f, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x011f, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x011f, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x011f, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x011f, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x011f, 16)
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20080618
+packetLen(0x0120, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0120, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0120, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0120, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0120, 6)
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20080618
+packetLen(0x0121, 14)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0121, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0121, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0121, 14)
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20080618
+packetLen(0x0122, 12)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0122, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0122, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0122, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0122, -1)
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20080618
+packetLen(0x0123, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0123, 33)
+#elif PACKETVER >= 20080311
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0123, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0123, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x0123, -1)
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20080618
+packetLen(0x0124, 21)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0124, 21)
+#elif PACKETVER >= 20080304
+packetLen(0x0124, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0124, 36)
+#elif PACKETVER >= 20080219
+packetLen(0x0124, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0124, 21)
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20080618
+packetLen(0x0125, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0125, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0125, 17)
+#elif PACKETVER >= 20080219
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0125, 8)
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20080618
+packetLen(0x0126, 43)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0126, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0126, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0126, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x0126, 8)
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20080618
+packetLen(0x0127, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0127, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0127, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0127, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x0127, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0127, 8)
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20080618
+packetLen(0x0128, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0128, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0128, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0128, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0128, 17)
+#elif PACKETVER >= 20080219
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0128, 8)
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20080618
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0129, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0129, 8)
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20080618
+packetLen(0x012a, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x012a, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x012a, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x012a, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x012a, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x012a, 2)
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+#if PACKETVER >= 20080618
+packetLen(0x012c, 3)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012c, 34)
+#elif PACKETVER >= 20080311
+packetLen(0x012c, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x012c, 39)
+#elif PACKETVER >= 20080226
+packetLen(0x012c, 20)
+#elif PACKETVER >= 20080219
+packetLen(0x012c, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x012c, 3)
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20080618
+packetLen(0x012d, 4)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x012d, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x012d, 16)
+#elif PACKETVER >= 20080219
+packetLen(0x012d, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x012d, 4)
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20080618
+packetLen(0x012e, 31)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x012e, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x012e, 2)
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+#if PACKETVER >= 20080618
+packetLen(0x0130, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0130, 86)
+#elif PACKETVER >= 20080311
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0130, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x0130, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0130, 6)
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20080618
+packetLen(0x0131, 86)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0131, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0131, 86)
+#elif PACKETVER >= 20080304
+packetLen(0x0131, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0131, 29)
+#elif PACKETVER >= 20080219
+packetLen(0x0131, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0131, 86)
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20080618
+packetLen(0x0132, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0132, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0132, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0132, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x0132, 6)
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20080304
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0133, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0133, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0133, -1)
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20080618
+packetLen(0x0134, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0134, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0134, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0134, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0134, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0134, -1)
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20080618
+packetLen(0x0135, 13)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0135, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0135, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0135, 65)
+#elif PACKETVER >= 20080102
+packetLen(0x0135, 7)
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20080618
+packetLen(0x0136, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0136, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0136, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0136, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0136, -1)
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20080618
+packetLen(0x0137, 71)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0137, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0137, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0137, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0137, 6)
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+#if PACKETVER >= 20080618
+packetLen(0x0139, 16)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0139, 59)
+#elif PACKETVER >= 20080311
+packetLen(0x0139, 16)
+#elif PACKETVER >= 20080304
+packetLen(0x0139, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0139, 81)
+#elif PACKETVER >= 20080219
+packetLen(0x0139, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0139, 16)
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20080618
+packetLen(0x013a, 4)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x013a, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x013a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x013a, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x013a, 58)
+#elif PACKETVER >= 20080219
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013a, 4)
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20080618
+packetLen(0x013b, 4)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x013b, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x013b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x013b, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x013b, 4)
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20080618
+packetLen(0x013c, 12)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013c, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x013c, 12)
+#elif PACKETVER >= 20080226
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x013c, 4)
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20080618
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x013d, 43)
+#elif PACKETVER >= 20080226
+packetLen(0x013d, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x013d, 6)
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20080618
+packetLen(0x013e, 24)
+#elif PACKETVER >= 20080610
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013e, 24)
+#elif PACKETVER >= 20080304
+packetLen(0x013e, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x013e, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x013e, 24)
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20080618
+packetLen(0x013f, 26)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x013f, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x013f, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x013f, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x013f, 58)
+#elif PACKETVER >= 20080102
+packetLen(0x013f, 26)
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20080618
+packetLen(0x0140, 22)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0140, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0140, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x0140, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x0140, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0140, 22)
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20080618
+packetLen(0x0141, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0141, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0141, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0141, 14)
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20080618
+packetLen(0x0142, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0142, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0142, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0142, 31)
+#elif PACKETVER >= 20080226
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0142, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0142, 6)
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20080618
+packetLen(0x0143, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0143, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x0143, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0143, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0143, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0143, 10)
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20080618
+packetLen(0x0144, 23)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0144, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0144, 23)
+#elif PACKETVER >= 20080304
+packetLen(0x0144, 79)
+#elif PACKETVER >= 20080226
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0144, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0144, 23)
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+#if PACKETVER >= 20080618
+packetLen(0x0146, 23)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x0146, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x0146, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0146, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x0146, 6)
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20080618
+packetLen(0x0147, 39)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0147, 39)
+#elif PACKETVER >= 20080304
+packetLen(0x0147, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0147, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0147, 39)
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20080618
+packetLen(0x0148, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0148, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0148, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0148, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0148, 8)
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20080618
+packetLen(0x0149, 9)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0149, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x0149, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0149, 53)
+#elif PACKETVER >= 20080102
+packetLen(0x0149, 9)
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+#if PACKETVER >= 20080618
+packetLen(0x014c, 17)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x014c, 53)
+#elif PACKETVER >= 20080226
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x014c, -1)
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20080618
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080610
+packetLen(0x014d, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x014d, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x014d, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x014d, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x014d, 2)
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+#if PACKETVER >= 20080618
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x014f, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x014f, 97)
+#elif PACKETVER >= 20080219
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x014f, 6)
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+#if PACKETVER >= 20080618
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0154, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0154, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0154, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0154, -1)
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20080618
+packetLen(0x0155, 12)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0155, 54)
+#elif PACKETVER >= 20080226
+packetLen(0x0155, 66)
+#elif PACKETVER >= 20080219
+packetLen(0x0155, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0155, -1)
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0158
+packetLen(0x0158, -1)
+
+// Packet: 0x0159
+#if PACKETVER >= 20080618
+packetLen(0x0159, 54)
+#elif PACKETVER >= 20080610
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0159, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0159, 186)
+#elif PACKETVER >= 20080219
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0159, 54)
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20080618
+packetLen(0x015a, 66)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x015a, 66)
+#elif PACKETVER >= 20080304
+packetLen(0x015a, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x015a, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x015a, 66)
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20080618
+packetLen(0x015b, 54)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x015b, 42)
+#elif PACKETVER >= 20080311
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x015b, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x015b, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x015b, 54)
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20080618
+packetLen(0x015c, 90)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x015c, 18)
+#elif PACKETVER >= 20080311
+packetLen(0x015c, 90)
+#elif PACKETVER >= 20080304
+packetLen(0x015c, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x015c, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x015c, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x015c, 90)
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+#if PACKETVER >= 20080618
+packetLen(0x015e, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x015e, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x015e, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x015e, 54)
+#elif PACKETVER >= 20080219
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x015e, 6)
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+#if PACKETVER >= 20080618
+packetLen(0x0160, 11)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0160, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x0160, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0160, 102)
+#elif PACKETVER >= 20080102
+packetLen(0x0160, -1)
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20080618
+packetLen(0x0161, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0161, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0161, 58)
+#elif PACKETVER >= 20080226
+packetLen(0x0161, 21)
+#elif PACKETVER >= 20080219
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0161, -1)
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20080618
+packetLen(0x0162, 22)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0162, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0162, 27)
+#elif PACKETVER >= 20080226
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0162, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0162, -1)
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20080618
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0163, 8)
+#elif PACKETVER >= 20080311
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0163, 21)
+#elif PACKETVER >= 20080226
+packetLen(0x0163, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0163, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0163, -1)
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+#if PACKETVER >= 20080618
+packetLen(0x0165, 30)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0165, 114)
+#elif PACKETVER >= 20080311
+packetLen(0x0165, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0165, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0165, 29)
+#elif PACKETVER >= 20080102
+packetLen(0x0165, 30)
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20080618
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0166, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0166, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x0166, -1)
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20080618
+packetLen(0x0167, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0167, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0167, 71)
+#elif PACKETVER >= 20080219
+packetLen(0x0167, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0167, 3)
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20080618
+packetLen(0x0168, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0168, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0168, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x0168, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0168, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0168, 14)
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20080618
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x0169, 81)
+#elif PACKETVER >= 20080226
+packetLen(0x0169, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0169, 3)
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20080618
+packetLen(0x016a, 30)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x016a, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x016a, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x016a, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x016a, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x016a, 30)
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20080618
+packetLen(0x016b, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016b, 35)
+#elif PACKETVER >= 20080304
+packetLen(0x016b, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x016b, 10)
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20080618
+packetLen(0x016c, 43)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x016c, 43)
+#elif PACKETVER >= 20080304
+packetLen(0x016c, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x016c, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x016c, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x016c, 43)
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20080618
+packetLen(0x016d, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x016d, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x016d, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x016d, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x016d, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x016d, 14)
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20080618
+packetLen(0x016e, 186)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016e, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x016e, 186)
+#elif PACKETVER >= 20080304
+packetLen(0x016e, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x016e, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x016e, 186)
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20080618
+packetLen(0x016f, 182)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x016f, 9)
+#elif PACKETVER >= 20080311
+packetLen(0x016f, 182)
+#elif PACKETVER >= 20080304
+packetLen(0x016f, 17)
+#elif PACKETVER >= 20080226
+packetLen(0x016f, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x016f, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x016f, 182)
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20080618
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x0170, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x0170, 14)
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20080618
+packetLen(0x0171, 30)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0171, 67)
+#elif PACKETVER >= 20080311
+packetLen(0x0171, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0171, 67)
+#elif PACKETVER >= 20080219
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0171, 30)
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20080618
+packetLen(0x0172, 102)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0172, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0172, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0172, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x0172, 10)
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+#if PACKETVER >= 20080618
+packetLen(0x0177, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0177, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0177, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0177, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x0177, -1)
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20080618
+packetLen(0x0178, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0178, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0178, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0178, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0178, 4)
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20080618
+packetLen(0x0179, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0179, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x0179, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x0179, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0179, 5)
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20080618
+packetLen(0x017a, 4)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x017a, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x017a, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x017a, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x017a, 4)
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20080311
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x017b, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x017b, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x017b, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x017b, -1)
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20080618
+packetLen(0x017c, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x017c, 6)
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20080618
+packetLen(0x017d, 7)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x017d, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x017d, 7)
+#elif PACKETVER >= 20080304
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x017d, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x017d, 7)
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20080618
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x017e, 90)
+#elif PACKETVER >= 20080304
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x017e, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x017e, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x017e, -1)
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20080618
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x017f, 13)
+#elif PACKETVER >= 20080311
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x017f, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x017f, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x017f, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x0188, 8)
+#elif PACKETVER >= 20080610
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0188, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0188, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x0188, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x0188, 27)
+#elif PACKETVER >= 20080102
+packetLen(0x0188, 8)
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20080618
+packetLen(0x0189, 55)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0189, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x0189, 60)
+#elif PACKETVER >= 20080226
+packetLen(0x0189, 17)
+#elif PACKETVER >= 20080219
+packetLen(0x0189, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0189, 4)
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20080618
+packetLen(0x018a, 18)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x018a, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x018a, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x018a, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x018a, 4)
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20080618
+packetLen(0x018b, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x018b, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x018b, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x018b, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x018b, 4)
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20080618
+packetLen(0x018c, 31)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x018c, 29)
+#elif PACKETVER >= 20080304
+packetLen(0x018c, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x018c, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x018c, 29)
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20080311
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x018d, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x018d, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x018d, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x018d, -1)
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20080618
+packetLen(0x018e, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x018e, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x018e, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x018e, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x018e, 39)
+#elif PACKETVER >= 20080102
+packetLen(0x018e, 10)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20080618
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x018f, 65)
+#elif PACKETVER >= 20080226
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x018f, 6)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 19)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+#if PACKETVER >= 20080618
+packetLen(0x0194, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0194, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0194, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0194, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x0194, 30)
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20080618
+packetLen(0x0195, 102)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0195, 44)
+#elif PACKETVER >= 20080311
+packetLen(0x0195, 102)
+#elif PACKETVER >= 20080304
+packetLen(0x0195, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0195, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0195, 43)
+#elif PACKETVER >= 20080102
+packetLen(0x0195, 102)
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20080618
+packetLen(0x0196, 9)
+#elif PACKETVER >= 20080610
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0196, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0196, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0196, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0196, 9)
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+#if PACKETVER >= 20080618
+packetLen(0x0199, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0199, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0199, 4)
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20080618
+packetLen(0x019a, 14)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x019a, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x019a, 14)
+#elif PACKETVER >= 20080304
+packetLen(0x019a, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x019a, 42)
+#elif PACKETVER >= 20080219
+packetLen(0x019a, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x019a, 14)
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20080618
+packetLen(0x019b, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x019b, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x019b, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x019b, 39)
+#elif PACKETVER >= 20080226
+packetLen(0x019b, 65)
+#elif PACKETVER >= 20080219
+packetLen(0x019b, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x019b, 10)
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20080618
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x019c, 5)
+#elif PACKETVER >= 20080311
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x019c, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x019c, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x019c, -1)
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20080618
+packetLen(0x019d, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x019d, 32)
+#elif PACKETVER >= 20080311
+packetLen(0x019d, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x019d, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x019d, 18)
+#elif PACKETVER >= 20080102
+packetLen(0x019d, 6)
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+#if PACKETVER >= 20080618
+packetLen(0x019f, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x019f, 19)
+#elif PACKETVER >= 20080311
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x019f, 11)
+#elif PACKETVER >= 20080226
+packetLen(0x019f, 79)
+#elif PACKETVER >= 20080219
+packetLen(0x019f, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x019f, 6)
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20080618
+packetLen(0x01a0, 3)
+#elif PACKETVER >= 20080610
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01a0, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01a0, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01a0, 3)
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20080618
+packetLen(0x01a1, 3)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a1, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20080304
+packetLen(0x01a1, 42)
+#elif PACKETVER >= 20080226
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01a1, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01a1, 3)
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20081126
+packetLen(0x01a2, 37)
+#elif PACKETVER >= 20080618
+packetLen(0x01a2, 35)
+#elif PACKETVER >= 20080610
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01a2, 35)
+#elif PACKETVER >= 20080304
+packetLen(0x01a2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a2, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x01a2, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01a2, 35)
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20080618
+packetLen(0x01a3, 5)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a3, 11)
+#elif PACKETVER >= 20080311
+packetLen(0x01a3, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x01a3, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01a3, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01a3, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x01a3, 5)
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20080618
+packetLen(0x01a4, 11)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01a4, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x01a4, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01a4, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01a4, 11)
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+#if PACKETVER >= 20080618
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01a6, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x01a6, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01a6, -1)
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20080618
+packetLen(0x01a7, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01a7, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01a7, 4)
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+#if PACKETVER >= 20080618
+packetLen(0x01aa, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01aa, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x01aa, 18)
+#elif PACKETVER >= 20080219
+packetLen(0x01aa, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01aa, 10)
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20080618
+packetLen(0x01ab, 12)
+#elif PACKETVER >= 20080610
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ab, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x01ab, 68)
+#elif PACKETVER >= 20080226
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01ab, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01ab, 12)
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20080618
+packetLen(0x01ac, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ac, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ac, 90)
+#elif PACKETVER >= 20080226
+packetLen(0x01ac, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01ac, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x01ac, 6)
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20080618
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x01ad, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ad, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01ad, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01ad, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x01ad, -1)
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20080618
+packetLen(0x01ae, 4)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01ae, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01ae, 4)
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+#if PACKETVER >= 20080618
+packetLen(0x01b0, 11)
+#elif PACKETVER >= 20080610
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01b0, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x01b0, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x01b0, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01b0, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01b0, 11)
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+#if PACKETVER >= 20080618
+packetLen(0x01b2, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01b2, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01b2, 282)
+#elif PACKETVER >= 20080219
+packetLen(0x01b2, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x01b2, -1)
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20080618
+packetLen(0x01b3, 67)
+#elif PACKETVER >= 20080610
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01b3, 67)
+#elif PACKETVER >= 20080304
+packetLen(0x01b3, 32)
+#elif PACKETVER >= 20080226
+packetLen(0x01b3, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01b3, 67)
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+#if PACKETVER >= 20080618
+packetLen(0x01b6, 114)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01b6, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x01b6, 114)
+#elif PACKETVER >= 20080304
+packetLen(0x01b6, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01b6, 18)
+#elif PACKETVER >= 20080219
+packetLen(0x01b6, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x01b6, 114)
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+#if PACKETVER >= 20080618
+packetLen(0x01b9, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01b9, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01b9, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01b9, 60)
+#elif PACKETVER >= 20080219
+packetLen(0x01b9, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01b9, 6)
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20080618
+packetLen(0x01ba, 26)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ba, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x01ba, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01ba, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x01ba, 26)
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20080618
+packetLen(0x01bb, 26)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01bb, 22)
+#elif PACKETVER >= 20080311
+packetLen(0x01bb, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01bb, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01bb, 26)
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20080618
+packetLen(0x01bc, 26)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01bc, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x01bc, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x01bc, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01bc, 86)
+#elif PACKETVER >= 20080219
+packetLen(0x01bc, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x01bc, 26)
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20080618
+packetLen(0x01bd, 44)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01bd, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x01bd, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01bd, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01bd, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x01c3, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c3, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01c3, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01c3, 14)
+#elif PACKETVER >= 20080102
+packetLen(0x01c3, -1)
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20080618
+packetLen(0x01c4, 22)
+#elif PACKETVER >= 20080610
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01c4, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x01c4, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20080618
+packetLen(0x01c5, 22)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01c5, 22)
+#elif PACKETVER >= 20080304
+packetLen(0x01c5, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01c5, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20080618
+packetLen(0x01c8, 65)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01c8, 13)
+#elif PACKETVER >= 20080304
+packetLen(0x01c8, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01c8, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01c8, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01c8, 13)
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20080618
+packetLen(0x01c9, 97)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01c9, 27)
+#elif PACKETVER >= 20080311
+packetLen(0x01c9, 97)
+#elif PACKETVER >= 20080304
+packetLen(0x01c9, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01c9, 22)
+#elif PACKETVER >= 20080219
+packetLen(0x01c9, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x01c9, 97)
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+#if PACKETVER >= 20080618
+packetLen(0x01cd, 30)
+#elif PACKETVER >= 20080610
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01cd, 30)
+#elif PACKETVER >= 20080304
+packetLen(0x01cd, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01cd, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01cd, 30)
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20080618
+packetLen(0x01ce, 27)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ce, 282)
+#elif PACKETVER >= 20080311
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ce, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01ce, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01ce, 28)
+#elif PACKETVER >= 20080102
+packetLen(0x01ce, 6)
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20080618
+packetLen(0x01cf, 28)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01cf, 3)
+#elif PACKETVER >= 20080311
+packetLen(0x01cf, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01cf, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01cf, 102)
+#elif PACKETVER >= 20080219
+packetLen(0x01cf, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x01cf, 28)
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20080618
+packetLen(0x01d0, 53)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01d0, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x01d0, 18)
+#elif PACKETVER >= 20080226
+packetLen(0x01d0, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x01d0, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01d0, 8)
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+#if PACKETVER >= 20080618
+packetLen(0x01d2, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01d2, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x01d2, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x01d2, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01d2, 10)
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+#if PACKETVER >= 20080618
+packetLen(0x01d4, 6)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d4, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01d4, 6)
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20080304
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01d5, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01d5, 16)
+#elif PACKETVER >= 20080102
+packetLen(0x01d5, -1)
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20080618
+packetLen(0x01d6, 4)
+#elif PACKETVER >= 20080610
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01d6, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x01d6, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01d6, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01d6, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01d6, 4)
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20080618
+packetLen(0x01d7, 11)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d7, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x01d7, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x01d7, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x01d7, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01d7, 35)
+#elif PACKETVER >= 20080102
+packetLen(0x01d7, 11)
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20080618
+packetLen(0x01d8, 54)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01d8, 54)
+#elif PACKETVER >= 20080304
+packetLen(0x01d8, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x01d8, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01d8, 54)
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20080618
+packetLen(0x01d9, 53)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01d9, 53)
+#elif PACKETVER >= 20080304
+packetLen(0x01d9, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x01d9, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01d9, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x01d9, 53)
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20080618
+packetLen(0x01da, 60)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01da, 60)
+#elif PACKETVER >= 20080304
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01da, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x01da, 60)
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+#if PACKETVER >= 20080618
+packetLen(0x01de, 33)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01de, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x01de, 33)
+#elif PACKETVER >= 20080304
+packetLen(0x01de, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x01de, 33)
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+#if PACKETVER >= 20080618
+packetLen(0x01e1, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01e1, 102)
+#elif PACKETVER >= 20080311
+packetLen(0x01e1, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01e1, 32)
+#elif PACKETVER >= 20080219
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01e1, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x01e7, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01e7, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01e7, 2)
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20080618
+packetLen(0x01e8, 28)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01e8, 39)
+#elif PACKETVER >= 20080311
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20080304
+packetLen(0x01e8, 26)
+#elif PACKETVER >= 20080226
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01e8, 28)
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20080618
+packetLen(0x01e9, 81)
+#elif PACKETVER >= 20080610
+packetLen(0x01e9, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01e9, 81)
+#elif PACKETVER >= 20080304
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01e9, 12)
+#elif PACKETVER >= 20080219
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x01e9, 81)
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20080618
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x01ea, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01ea, 6)
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20080618
+packetLen(0x01eb, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01eb, 21)
+#elif PACKETVER >= 20080311
+packetLen(0x01eb, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x01eb, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x01eb, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x01eb, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x01eb, 10)
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+#if PACKETVER >= 20080618
+packetLen(0x01ed, 2)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ed, 53)
+#elif PACKETVER >= 20080311
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01ed, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01ed, 22)
+#elif PACKETVER >= 20080102
+packetLen(0x01ed, 2)
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20080618
+packetLen(0x01ee, 23)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ee, 57)
+#elif PACKETVER >= 20080226
+packetLen(0x01ee, 11)
+#elif PACKETVER >= 20080219
+packetLen(0x01ee, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x01ee, -1)
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20080618
+packetLen(0x01ef, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01ef, 66)
+#elif PACKETVER >= 20080311
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x01ef, 35)
+#elif PACKETVER >= 20080219
+packetLen(0x01ef, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01ef, -1)
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20080618
+packetLen(0x01f0, 16)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x01f0, 10)
+#elif PACKETVER >= 20080102
+packetLen(0x01f0, -1)
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+#if PACKETVER >= 20080618
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20080610
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20080304
+packetLen(0x01f2, 28)
+#elif PACKETVER >= 20080226
+packetLen(0x01f2, 27)
+#elif PACKETVER >= 20080219
+packetLen(0x01f2, 31)
+#elif PACKETVER >= 20080102
+packetLen(0x01f2, 20)
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+#if PACKETVER >= 20080618
+packetLen(0x01f4, 32)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01f4, 24)
+#elif PACKETVER >= 20080311
+packetLen(0x01f4, 32)
+#elif PACKETVER >= 20080304
+packetLen(0x01f4, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x01f4, 32)
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20080618
+packetLen(0x01f5, 9)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01f5, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x01f5, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01f5, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x01f5, 114)
+#elif PACKETVER >= 20080102
+packetLen(0x01f5, 9)
+#endif
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x01fc, 186)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080304
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x01fc, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x01fc, -1)
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20080618
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20080610
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x01fd, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x01fd, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x01fd, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x01fd, 15)
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20080618
+packetLen(0x01fe, 11)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x01fe, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x01fe, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x01fe, 114)
+#elif PACKETVER >= 20080226
+packetLen(0x01fe, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x01fe, 13)
+#elif PACKETVER >= 20080102
+packetLen(0x01fe, 5)
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+#if PACKETVER >= 20080311
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0201, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0201, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0201, -1)
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20080618
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20080610
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20080304
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0202, 44)
+#elif PACKETVER >= 20080219
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20080618
+packetLen(0x0203, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0203, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20080219
+packetLen(0x0203, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0203, 10)
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20080618
+packetLen(0x0206, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0206, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0206, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0206, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0206, 7)
+#elif PACKETVER >= 20080102
+packetLen(0x0206, 11)
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20080618
+packetLen(0x0207, 34)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0207, 34)
+#elif PACKETVER >= 20080304
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0207, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x0207, 66)
+#elif PACKETVER >= 20080102
+packetLen(0x0207, 34)
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20080618
+packetLen(0x0208, 14)
+#elif PACKETVER >= 20080610
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0208, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0208, 71)
+#elif PACKETVER >= 20080102
+packetLen(0x0208, 14)
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20080618
+packetLen(0x0209, 36)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0209, 30)
+#elif PACKETVER >= 20080311
+packetLen(0x0209, 36)
+#elif PACKETVER >= 20080304
+packetLen(0x0209, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0209, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x0209, 36)
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20080618
+packetLen(0x020a, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x020a, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x020a, 7)
+#elif PACKETVER >= 20080226
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x020a, 20)
+#elif PACKETVER >= 20080102
+packetLen(0x020a, 10)
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+#if PACKETVER >= 20080618
+packetLen(0x020e, 32)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x020e, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20080304
+packetLen(0x020e, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x020e, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x020e, 32)
+#endif
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x0217, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0217, 39)
+#elif PACKETVER >= 20080311
+packetLen(0x0217, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0217, 9)
+#elif PACKETVER >= 20080226
+packetLen(0x0217, 5)
+#elif PACKETVER >= 20080219
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0217, 2)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20080618
+packetLen(0x0218, 68)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0218, 16)
+#elif PACKETVER >= 20080311
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0218, 15)
+#elif PACKETVER >= 20080226
+packetLen(0x0218, 8)
+#elif PACKETVER >= 20080219
+packetLen(0x0218, 26)
+#elif PACKETVER >= 20080102
+packetLen(0x0218, 2)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20080618
+packetLen(0x0219, 282)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0219, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0219, 17)
+#elif PACKETVER >= 20080102
+packetLen(0x0219, 282)
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20080618
+packetLen(0x021a, 282)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x021a, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x021a, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x021a, 30)
+#elif PACKETVER >= 20080219
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x021a, 282)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20080618
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20080610
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x021b, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x021b, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x021b, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x021b, 10)
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20080618
+packetLen(0x021c, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x021c, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x021c, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x021c, 5)
+#elif PACKETVER >= 20080226
+packetLen(0x021c, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x021c, 10)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20080618
+packetLen(0x0224, 10)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0224, 10)
+#elif PACKETVER >= 20080304
+packetLen(0x0224, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x0224, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0224, 12)
+#elif PACKETVER >= 20080102
+packetLen(0x0224, 10)
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20080618
+packetLen(0x0225, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0225, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0225, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0225, 2)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20080618
+packetLen(0x0226, 282)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0226, 28)
+#elif PACKETVER >= 20080311
+packetLen(0x0226, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x0226, 31)
+#elif PACKETVER >= 20080226
+packetLen(0x0226, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0226, 42)
+#elif PACKETVER >= 20080102
+packetLen(0x0226, 282)
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20080618
+packetLen(0x0227, 18)
+#elif PACKETVER >= 20080610
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0227, 18)
+#elif PACKETVER >= 20080304
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20080226
+packetLen(0x0227, 31)
+#elif PACKETVER >= 20080219
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20080102
+packetLen(0x0227, 18)
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+#if PACKETVER >= 20080618
+packetLen(0x0229, 15)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0229, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0229, 15)
+#elif PACKETVER >= 20080304
+packetLen(0x0229, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0229, 182)
+#elif PACKETVER >= 20080219
+packetLen(0x0229, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0229, 15)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20080618
+packetLen(0x022a, 58)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x022a, 58)
+#elif PACKETVER >= 20080304
+packetLen(0x022a, 14)
+#elif PACKETVER >= 20080226
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x022a, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20080618
+packetLen(0x022b, 57)
+#elif PACKETVER >= 20080610
+packetLen(0x022b, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x022b, 57)
+#elif PACKETVER >= 20080219
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20080618
+packetLen(0x022c, 65)
+#elif PACKETVER >= 20080610
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x022c, 65)
+#elif PACKETVER >= 20080304
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x022c, 31)
+#elif PACKETVER >= 20080219
+packetLen(0x022c, 53)
+#elif PACKETVER >= 20080102
+packetLen(0x022c, 65)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20080618
+packetLen(0x022d, 5)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20080311
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x022d, 9)
+#elif PACKETVER >= 20080102
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20080618
+packetLen(0x022e, 71)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022e, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x022e, 71)
+#elif PACKETVER >= 20080304
+packetLen(0x022e, 22)
+#elif PACKETVER >= 20080226
+packetLen(0x022e, 9)
+#elif PACKETVER >= 20080219
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x022e, 71)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20080618
+packetLen(0x022f, 5)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x022f, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x022f, 5)
+#elif PACKETVER >= 20080304
+packetLen(0x022f, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x022f, 26)
+#elif PACKETVER >= 20080219
+packetLen(0x022f, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x022f, 5)
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20080618
+packetLen(0x0230, 12)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0230, 10)
+#elif PACKETVER >= 20080311
+packetLen(0x0230, 12)
+#elif PACKETVER >= 20080304
+packetLen(0x0230, 282)
+#elif PACKETVER >= 20080226
+packetLen(0x0230, 28)
+#elif PACKETVER >= 20080219
+packetLen(0x0230, 54)
+#elif PACKETVER >= 20080102
+packetLen(0x0230, 12)
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+#if PACKETVER >= 20080618
+packetLen(0x0232, 9)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0232, 9)
+#elif PACKETVER >= 20080304
+packetLen(0x0232, 3)
+#elif PACKETVER >= 20080226
+packetLen(0x0232, 2)
+#elif PACKETVER >= 20080219
+packetLen(0x0232, 36)
+#elif PACKETVER >= 20080102
+packetLen(0x0232, 9)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20080618
+packetLen(0x0233, 11)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20080311
+packetLen(0x0233, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0233, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0233, 4)
+#elif PACKETVER >= 20080219
+packetLen(0x0233, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0233, 11)
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20080618
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0234, 15)
+#elif PACKETVER >= 20080219
+packetLen(0x0234, 282)
+#elif PACKETVER >= 20080102
+packetLen(0x0234, 6)
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20080618
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0235, 7)
+#elif PACKETVER >= 20080311
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0235, 6)
+#elif PACKETVER >= 20080226
+packetLen(0x0235, 33)
+#elif PACKETVER >= 20080219
+packetLen(0x0235, 15)
+#elif PACKETVER >= 20080102
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+#if PACKETVER >= 20080618
+packetLen(0x0237, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0237, 2)
+#elif PACKETVER >= 20080304
+packetLen(0x0237, 23)
+#elif PACKETVER >= 20080226
+packetLen(0x0237, 10)
+#elif PACKETVER >= 20080219
+packetLen(0x0237, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x0237, 2)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20080618
+packetLen(0x0238, 282)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x0238, 282)
+#elif PACKETVER >= 20080304
+packetLen(0x0238, 20)
+#elif PACKETVER >= 20080226
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x0238, 282)
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20080618
+packetLen(0x0239, 11)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0239, 14)
+#elif PACKETVER >= 20080311
+packetLen(0x0239, 11)
+#elif PACKETVER >= 20080304
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20080226
+packetLen(0x0239, 39)
+#elif PACKETVER >= 20080219
+packetLen(0x0239, 8)
+#elif PACKETVER >= 20080102
+packetLen(0x0239, 11)
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20080618
+packetLen(0x023a, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x023a, 4)
+#elif PACKETVER >= 20080304
+packetLen(0x023a, 8)
+#elif PACKETVER >= 20080226
+packetLen(0x023a, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x023a, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x023a, 4)
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+#if PACKETVER >= 20080618
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080610
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080304
+packetLen(0x023c, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x023c, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x023c, 6)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x0274, 8)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0274, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0274, 8)
+#elif PACKETVER >= 20080304
+packetLen(0x0274, 2)
+#elif PACKETVER >= 20080226
+packetLen(0x0274, 24)
+#elif PACKETVER >= 20080219
+packetLen(0x0274, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x0274, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20080722
+packetLen(0x027c, 60)
+#elif PACKETVER >= 20080715
+packetLen(0x027c, 96)
+#elif PACKETVER >= 20080102
+packetLen(0x027c, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20080311
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0287, 4)
+#elif PACKETVER >= 20080226
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20080219
+packetLen(0x0287, 11)
+#elif PACKETVER >= 20080102
+packetLen(0x0287, -1)
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10)
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0295, 2)
+#elif PACKETVER >= 20080311
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0295, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x0295, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x0295, 6)
+#elif PACKETVER >= 20080102
+packetLen(0x0295, -1)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20080618
+packetLen(0x0296, 19)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080311
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0296, 58)
+#elif PACKETVER >= 20080226
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20080219
+packetLen(0x0296, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0296, -1)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20080618
+packetLen(0x0297, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0297, 4)
+#elif PACKETVER >= 20080311
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20080304
+packetLen(0x0297, 97)
+#elif PACKETVER >= 20080226
+packetLen(0x0297, 5)
+#elif PACKETVER >= 20080102
+packetLen(0x0297, -1)
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+#if PACKETVER >= 20080618
+packetLen(0x029a, 27)
+#elif PACKETVER >= 20080610
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080311
+packetLen(0x029a, 27)
+#elif PACKETVER >= 20080304
+packetLen(0x029a, 30)
+#elif PACKETVER >= 20080226
+packetLen(0x029a, 3)
+#elif PACKETVER >= 20080219
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20080102
+packetLen(0x029a, 27)
+#endif
+
+// 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
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a6, 204)
+#elif PACKETVER >= 20080102
+packetLen(0x02a6, 22)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20080122
+// removed
+#elif PACKETVER >= 20080108
+packetLen(0x02a7, 204)
+#elif PACKETVER >= 20080102
+packetLen(0x02a7, 22)
+#endif
+
+// Packet: 0x02a8
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a8, 162)
+#endif
+
+// Packet: 0x02a9
+#if PACKETVER >= 20080108
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02a9, 58)
+#endif
+
+// 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, 22)
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191)
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11)
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8)
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6)
+
+// Packet: 0x02bf
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02bf, 10)
+#endif
+
+// Packet: 0x02c0
+#if PACKETVER >= 20080318
+// removed
+#elif PACKETVER >= 20080102
+packetLen(0x02c0, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20080304
+packetLen(0x02d4, 29)
+#elif PACKETVER >= 20080226
+packetLen(0x02d4, 30)
+#elif PACKETVER >= 20080102
+packetLen(0x02d4, 29)
+#endif
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x02e1, 33)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02e1, 32)
+#elif PACKETVER >= 20080102
+packetLen(0x02e1, 33)
+#endif
+
+// Packet: 0x02e2
+packetLen(0x02e2, 14)
+
+// Packet: 0x02e3
+packetLen(0x02e3, 25)
+
+// Packet: 0x02e4
+packetLen(0x02e4, 8)
+
+// Packet: 0x02e5
+packetLen(0x02e5, 8)
+
+// 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
+#if PACKETVER >= 20080618
+packetLen(0x02ec, 67)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02ec, 2)
+#elif PACKETVER >= 20080102
+packetLen(0x02ec, 67)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20080618
+packetLen(0x02ed, 59)
+#elif PACKETVER >= 20080610
+packetLen(0x02ed, 60)
+#elif PACKETVER >= 20080102
+packetLen(0x02ed, 59)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20080618
+packetLen(0x02ee, 60)
+// ignored packet from 2008-06-18aSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02ee, 3)
+#elif PACKETVER >= 20080102
+packetLen(0x02ee, 60)
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+#if PACKETVER >= 20080318
+packetLen(0x02f0, 10)
+#endif
+
+// Packet: 0x02f1
+#if PACKETVER >= 20080318
+packetLen(0x02f1, 2)
+#endif
+
+// Packet: 0x02f2
+#if PACKETVER >= 20080318
+packetLen(0x02f2, 2)
+#endif
+
+// Packet: 0x02f3
+#if PACKETVER >= 20080325
+packetLen(0x02f3, -1)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20080618
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f4, 282)
+#elif PACKETVER >= 20080325
+packetLen(0x02f4, -1)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20080618
+packetLen(0x02f5, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f5, -1)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20080618
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02f6, 3)
+#elif PACKETVER >= 20080325
+packetLen(0x02f6, -1)
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20080618
+packetLen(0x02f7, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20080618
+packetLen(0x02f8, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f8, -1)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20080618
+packetLen(0x02f9, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x02f9, -1)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20080325
+packetLen(0x02fa, -1)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20080618
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02fb, 2)
+#elif PACKETVER >= 20080325
+packetLen(0x02fb, -1)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20080618
+packetLen(0x02fc, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x02fc, 4)
+#elif PACKETVER >= 20080325
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20080325
+packetLen(0x02fd, -1)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20080325
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20080618
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20080325
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20080618
+packetLen(0x0300, 16)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080325
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20080401
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20080618
+packetLen(0x0302, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0302, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20080618
+packetLen(0x0303, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0303, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20080618
+packetLen(0x0304, 20)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20080618
+packetLen(0x0305, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20080618
+packetLen(0x0306, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0306, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20080618
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0307, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20080618
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0308, 17)
+#elif PACKETVER >= 20080401
+packetLen(0x0308, -1)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20080401
+packetLen(0x0309, -1)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20080618
+packetLen(0x030a, 35)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20080618
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x030b, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x030b, -1)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20080618
+packetLen(0x030c, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x030c, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20080618
+packetLen(0x030d, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x030d, -1)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20080401
+packetLen(0x030e, -1)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20080618
+packetLen(0x030f, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20080618
+packetLen(0x0310, 16)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0310, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20080618
+packetLen(0x0311, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0311, 17)
+#elif PACKETVER >= 20080401
+packetLen(0x0311, -1)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20080618
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0312, 11)
+#elif PACKETVER >= 20080401
+packetLen(0x0312, -1)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20080618
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0313, 16)
+#elif PACKETVER >= 20080401
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20080618
+packetLen(0x0314, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0314, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x0314, -1)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20080618
+packetLen(0x0315, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0315, 9)
+#elif PACKETVER >= 20080401
+packetLen(0x0315, -1)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20080401
+packetLen(0x0316, -1)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20080618
+packetLen(0x0317, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0317, 8)
+#elif PACKETVER >= 20080401
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20080618
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0318, 54)
+#elif PACKETVER >= 20080401
+packetLen(0x0318, -1)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20080401
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20080618
+packetLen(0x031a, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x031a, -1)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20080618
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x031b, 23)
+#elif PACKETVER >= 20080401
+packetLen(0x031b, -1)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20080618
+packetLen(0x031c, 54)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x031c, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x031c, -1)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20080401
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20080401
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20080401
+packetLen(0x031f, -1)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20080618
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0320, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0320, -1)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20080618
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0321, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20080618
+packetLen(0x0322, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0322, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0322, -1)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20080618
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0323, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0323, -1)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20080618
+packetLen(0x0324, 66)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0324, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20080618
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0325, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0325, -1)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20080401
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20080618
+packetLen(0x0327, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0327, 22)
+#elif PACKETVER >= 20080401
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20080618
+packetLen(0x0328, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0328, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x0328, -1)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20080401
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20080618
+packetLen(0x032a, 9)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x032a, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x032a, -1)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20080618
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032b, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20080618
+packetLen(0x032c, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20080618
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20080618
+packetLen(0x032e, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x032e, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x032e, -1)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20080618
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x032f, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20080618
+packetLen(0x0330, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20080401
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20080618
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0332, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0332, -1)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20080401
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20080618
+packetLen(0x0334, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20080401
+packetLen(0x0334, -1)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20080618
+packetLen(0x0335, 22)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20080618
+packetLen(0x0336, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0336, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0336, -1)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20080618
+packetLen(0x0337, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0337, -1)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20080618
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0338, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20080401
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20080401
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20080618
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033b, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x033b, -1)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20080618
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20080401
+packetLen(0x033c, -1)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20080618
+packetLen(0x033d, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x033d, -1)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20080401
+packetLen(0x033e, -1)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20080618
+packetLen(0x033f, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x033f, 2)
+#elif PACKETVER >= 20080401
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20080618
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0340, 29)
+#elif PACKETVER >= 20080401
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20080618
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0341, 186)
+#elif PACKETVER >= 20080401
+packetLen(0x0341, -1)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20080401
+packetLen(0x0342, -1)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20080401
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20080401
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20080401
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20080618
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0346, 23)
+#elif PACKETVER >= 20080401
+packetLen(0x0346, -1)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20080618
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20080618
+packetLen(0x0348, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0348, -1)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20080618
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0349, 6)
+#elif PACKETVER >= 20080401
+packetLen(0x0349, -1)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20080618
+packetLen(0x034a, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x034a, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20080618
+packetLen(0x034b, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x034b, 36)
+#elif PACKETVER >= 20080401
+packetLen(0x034b, -1)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20080618
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x034c, 5)
+#elif PACKETVER >= 20080401
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20080618
+packetLen(0x034d, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x034d, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x034d, -1)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20080618
+packetLen(0x034e, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x034e, -1)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20080401
+packetLen(0x034f, -1)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20080618
+packetLen(0x0350, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0350, 10)
+#elif PACKETVER >= 20080401
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20080618
+packetLen(0x0351, 30)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20080618
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0352, 4)
+#elif PACKETVER >= 20080401
+packetLen(0x0352, -1)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20080401
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20080618
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0354, 68)
+#elif PACKETVER >= 20080401
+packetLen(0x0354, -1)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20080618
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0355, 26)
+#elif PACKETVER >= 20080401
+packetLen(0x0355, -1)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20080618
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0356, 20)
+#elif PACKETVER >= 20080401
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20080401
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20080618
+packetLen(0x0358, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0358, 7)
+#elif PACKETVER >= 20080401
+packetLen(0x0358, -1)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20080618
+packetLen(0x0359, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0359, 43)
+#elif PACKETVER >= 20080401
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20080618
+packetLen(0x035a, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20080618
+packetLen(0x035b, 29)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080401
+packetLen(0x035b, -1)
+#endif
+
+// Packet: 0x035c
+#if PACKETVER >= 20080527
+packetLen(0x035c, 2)
+#endif
+
+// Packet: 0x035d
+#if PACKETVER >= 20080527
+packetLen(0x035d, -1)
+#endif
+
+// Packet: 0x035e
+#if PACKETVER >= 20080527
+packetLen(0x035e, 2)
+#endif
+
+// Packet: 0x035f
+#if PACKETVER >= 20080618
+packetLen(0x035f, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x035f, 7)
+#elif PACKETVER >= 20080527
+packetLen(0x035f, -1)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20080618
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0360, 57)
+#elif PACKETVER >= 20080527
+packetLen(0x0360, -1)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20080618
+packetLen(0x0361, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0361, 65)
+#elif PACKETVER >= 20080527
+packetLen(0x0361, -1)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20080527
+packetLen(0x0362, -1)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20080618
+packetLen(0x0363, 58)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0363, -1)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20080618
+packetLen(0x0364, 15)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x0364, -1)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20080618
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x0365, -1)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20080527
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20080618
+packetLen(0x0367, 29)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0367, -1)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20080618
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20080527
+packetLen(0x0368, -1)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20080618
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0369, 14)
+#elif PACKETVER >= 20080527
+packetLen(0x0369, -1)
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20080527
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20080618
+packetLen(0x036b, 28)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20080618
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x036c, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20080618
+packetLen(0x036d, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x036d, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20080618
+packetLen(0x036e, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20080527
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20080618
+packetLen(0x0370, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20080527
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20080618
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0372, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20080527
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20080527
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20080618
+packetLen(0x0375, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20080618
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0376, 20)
+#elif PACKETVER >= 20080527
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20080527
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20080618
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0378, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20080618
+packetLen(0x0379, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0379, 60)
+#elif PACKETVER >= 20080527
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20080618
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x037a, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20080618
+packetLen(0x037b, 11)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x037b, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20080618
+packetLen(0x037c, 53)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20080527
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20080618
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x037e, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20080618
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x037f, 282)
+#elif PACKETVER >= 20080527
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20080618
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0380, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20080618
+packetLen(0x0381, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20080618
+packetLen(0x0382, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0382, 15)
+#elif PACKETVER >= 20080527
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20080618
+packetLen(0x0383, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20080527
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20080618
+packetLen(0x0385, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0385, 30)
+#elif PACKETVER >= 20080527
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20080618
+packetLen(0x0386, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0386, 26)
+#elif PACKETVER >= 20080527
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20080618
+packetLen(0x0387, 21)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20080618
+packetLen(0x0388, 22)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20080618
+packetLen(0x0389, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20080618
+packetLen(0x038a, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x038a, 14)
+#elif PACKETVER >= 20080527
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20080618
+packetLen(0x038b, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20080618
+packetLen(0x038c, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20080618
+packetLen(0x038d, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20080527
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20080618
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x038f, 71)
+#elif PACKETVER >= 20080527
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20080527
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20080618
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x0391, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20080618
+packetLen(0x0392, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0392, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20080618
+packetLen(0x0393, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20080527
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20080618
+packetLen(0x0395, 3)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0395, 11)
+#elif PACKETVER >= 20080527
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20080618
+packetLen(0x0396, 33)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20080527
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20080618
+packetLen(0x0398, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x0398, 4)
+#elif PACKETVER >= 20080527
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20080527
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20080618
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x039a, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20080618
+packetLen(0x039b, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20080618
+packetLen(0x039c, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20080618
+packetLen(0x039d, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x039d, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20080618
+packetLen(0x039e, 10)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x039e, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20080618
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x039f, 14)
+#elif PACKETVER >= 20080527
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20080618
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20080527
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20080618
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a2, 5)
+#elif PACKETVER >= 20080527
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20080618
+packetLen(0x03a3, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03a3, 58)
+#elif PACKETVER >= 20080527
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20080618
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a4, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20080618
+packetLen(0x03a5, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20080618
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03a6, 22)
+#elif PACKETVER >= 20080527
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20080527
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20080618
+packetLen(0x03a8, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03a8, 28)
+#elif PACKETVER >= 20080527
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20080618
+packetLen(0x03a9, 67)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20080527
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20080618
+packetLen(0x03ab, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20080618
+packetLen(0x03ac, 282)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20080618
+packetLen(0x03ad, 21)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20080618
+packetLen(0x03ae, 57)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20080618
+packetLen(0x03af, 14)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03af, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20080618
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b0, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20080618
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b1, 30)
+#elif PACKETVER >= 20080527
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20080618
+packetLen(0x03b2, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b2, 81)
+#elif PACKETVER >= 20080527
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20080618
+packetLen(0x03b3, 32)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b3, 3)
+#elif PACKETVER >= 20080527
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20080618
+packetLen(0x03b4, 29)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20080618
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b5, 11)
+#elif PACKETVER >= 20080527
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20080618
+packetLen(0x03b6, 114)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b6, 9)
+#elif PACKETVER >= 20080527
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20080618
+packetLen(0x03b7, 8)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03b7, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20080618
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03b8, 31)
+#elif PACKETVER >= 20080527
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20080527
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20080618
+packetLen(0x03ba, 26)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03ba, 33)
+#elif PACKETVER >= 20080527
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20080527
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20080618
+packetLen(0x03bc, 182)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03bc, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20080527
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20080527
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20080527
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20080618
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c0, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20080618
+packetLen(0x03c1, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03c1, 2)
+#elif PACKETVER >= 20080527
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20080618
+packetLen(0x03c2, 67)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20080618
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c3, 97)
+#elif PACKETVER >= 20080527
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20080618
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c4, 26)
+#elif PACKETVER >= 20080527
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20080618
+packetLen(0x03c5, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20080618
+packetLen(0x03c6, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03c6, 26)
+#elif PACKETVER >= 20080527
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20080618
+packetLen(0x03c7, 5)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20080527
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20080618
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03c9, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20080618
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03ca, 10)
+#elif PACKETVER >= 20080527
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20080618
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03cb, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20080618
+packetLen(0x03cc, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20080527
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20080618
+packetLen(0x03ce, 39)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20080618
+packetLen(0x03cf, 27)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20080618
+packetLen(0x03d0, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20080618
+packetLen(0x03d1, 7)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03d1, 8)
+#elif PACKETVER >= 20080527
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20080618
+packetLen(0x03d2, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20080527
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20080618
+packetLen(0x03d4, 27)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03d4, 182)
+#elif PACKETVER >= 20080527
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20080618
+packetLen(0x03d5, 4)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03d5, 18)
+#elif PACKETVER >= 20080527
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20080618
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03d6, 30)
+#elif PACKETVER >= 20080527
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20080527
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20080618
+packetLen(0x03d8, 2)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20080618
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20080610
+packetLen(0x03d9, 13)
+#elif PACKETVER >= 20080527
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20080527
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20080618
+packetLen(0x03db, 6)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080527
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20080618
+packetLen(0x03dc, 54)
+// ignored packet from 2008-06-18bSakexe
+#elif PACKETVER >= 20080610
+packetLen(0x03dc, 6)
+#elif PACKETVER >= 20080527
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+#if PACKETVER >= 20080624
+packetLen(0x03dd, 18)
+#endif
+
+// Packet: 0x03de
+#if PACKETVER >= 20080624
+packetLen(0x03de, 18)
+#endif
+
+// Packet: 0x03e2
+#if PACKETVER >= 20080813
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20080813
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20080813
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20080813
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20080813
+packetLen(0x03e6, -1)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20080813
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20080813
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20080813
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20080813
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20080813
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20080813
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20080813
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20080813
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20080813
+packetLen(0x03ef, -1)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20080813
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20080813
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20080813
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20080813
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20080813
+packetLen(0x03f4, -1)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20080813
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20080813
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20080813
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20080813
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20080813
+packetLen(0x03f9, -1)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20080813
+packetLen(0x03fa, -1)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20080813
+packetLen(0x03fb, -1)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20080813
+packetLen(0x03fc, -1)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20080813
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20080813
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20080813
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20080813
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20080813
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20080813
+packetLen(0x0402, -1)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20080813
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20080813
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20080813
+packetLen(0x0405, -1)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20080813
+packetLen(0x0406, -1)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20080813
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20080813
+packetLen(0x0408, -1)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20080813
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20080813
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20080813
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20080820
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20080820
+packetLen(0x040d, -1)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20080820
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20080820
+packetLen(0x040f, -1)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20080820
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20080820
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20080820
+packetLen(0x0412, -1)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20080820
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20080820
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20080820
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20080820
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20080820
+packetLen(0x0417, -1)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20080820
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20080820
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20080820
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20080820
+packetLen(0x041b, -1)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20080820
+packetLen(0x041c, -1)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20080820
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20080820
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20080820
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20080820
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20080820
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20080820
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20080820
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20080820
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20080820
+packetLen(0x0425, -1)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20080820
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20080820
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20080820
+packetLen(0x0428, -1)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20080820
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20080820
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20080820
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20080820
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20080820
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20080820
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20080820
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20080820
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20080820
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20080820
+packetLen(0x0432, -1)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20080820
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20080820
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20080820
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20080910
+packetLen(0x0436, 19)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20080910
+packetLen(0x0437, 7)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20080910
+packetLen(0x0438, 10)
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20080910
+packetLen(0x0439, 8)
+#endif
+
+// Packet: 0x043d
+#if PACKETVER >= 20081112
+packetLen(0x043d, 8)
+#endif
+
+// Packet: 0x043e
+#if PACKETVER >= 20081112
+packetLen(0x043e, -1)
+#endif
+
+// Packet: 0x043f
+#if PACKETVER >= 20081112
+packetLen(0x043f, 8)
+#endif
+
+// Packet: 0x0440
+#if PACKETVER >= 20081126
+packetLen(0x0440, 10)
+#endif
+
+// Packet: 0x0441
+#if PACKETVER >= 20081126
+packetLen(0x0441, 4)
+#endif
+
+// Packet: 0x0442
+#if PACKETVER >= 20081210
+packetLen(0x0442, 8)
+#endif
+
+// Packet: 0x0443
+#if PACKETVER >= 20081210
+packetLen(0x0443, 8)
+#endif
+
+
+#endif /* COMMON_PACKETS2008_LEN_SAK_H */
diff --git a/src/common/packets/packets2009_len_main.h b/src/common/packets/packets2009_len_main.h
new file mode 100644
index 000000000..eb645b1b0
--- /dev/null
+++ b/src/common/packets/packets2009_len_main.h
@@ -0,0 +1,15405 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2009_LEN_MAIN_H
+#define COMMON_PACKETS2009_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20090617
+packetLen(0x006d, 114)
+#elif PACKETVER >= 20090107
+packetLen(0x006d, 110)
+#endif
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x0073, 11)
+#elif PACKETVER >= 20090401
+packetLen(0x0073, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0073, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x0073, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0073, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0073, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0073, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+#if PACKETVER >= 20090401
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0075, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0075, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0075, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0075, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+#if PACKETVER >= 20090406
+packetLen(0x0077, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0077, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0077, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0077, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0077, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0077, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0077, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0077, -1)
+#endif
+
+// Packet: 0x0078
+#if PACKETVER >= 20090406
+packetLen(0x0078, 55)
+#elif PACKETVER >= 20090318
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0078, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0078, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0078, 22)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0079
+#if PACKETVER >= 20090406
+packetLen(0x0079, 53)
+#elif PACKETVER >= 20090318
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0079, 15)
+#elif PACKETVER >= 20090225
+packetLen(0x0079, 20)
+#elif PACKETVER >= 20090218
+packetLen(0x0079, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0079, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0079, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0079, 21)
+#elif PACKETVER >= 20090107
+packetLen(0x0079, -1)
+#endif
+
+// Packet: 0x007a
+#if PACKETVER >= 20090406
+packetLen(0x007a, 58)
+#elif PACKETVER >= 20090325
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x007a, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x007a, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x007a, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x007a, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x007a, -1)
+#endif
+
+// Packet: 0x007b
+#if PACKETVER >= 20090406
+packetLen(0x007b, 60)
+#elif PACKETVER >= 20090401
+packetLen(0x007b, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x007b, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x007b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x007b, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x007b, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x007b, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x007b, -1)
+#endif
+
+// Packet: 0x007c
+#if PACKETVER >= 20090617
+packetLen(0x007c, 44)
+#elif PACKETVER >= 20090406
+packetLen(0x007c, 42)
+#elif PACKETVER >= 20090401
+packetLen(0x007c, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x007c, 182)
+#elif PACKETVER >= 20090311
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x007c, 19)
+#elif PACKETVER >= 20090218
+packetLen(0x007c, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x007c, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x007c, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x007c, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x007c, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x007d
+#if PACKETVER >= 20090406
+packetLen(0x007d, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x007d, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x007d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x007d, 282)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x007e
+packetLen(0x007e, 105)
+
+// Packet: 0x007f
+#if PACKETVER >= 20090406
+packetLen(0x007f, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x007f, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x007f, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x007f, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x007f, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x007f, -1)
+#endif
+
+// Packet: 0x0080
+#if PACKETVER >= 20090406
+packetLen(0x0080, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0080, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0080, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0080, 36)
+#elif PACKETVER >= 20090107
+packetLen(0x0080, -1)
+#endif
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+#if PACKETVER >= 20090406
+packetLen(0x0083, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0083, 65)
+#elif PACKETVER >= 20090311
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0083, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0083, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0083, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0083, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0083, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 10)
+
+// Packet: 0x0086
+#if PACKETVER >= 20090406
+packetLen(0x0086, 16)
+#elif PACKETVER >= 20090325
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0086, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0086, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0086, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0086, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0086, 17)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0087
+#if PACKETVER >= 20090406
+packetLen(0x0087, 12)
+#elif PACKETVER >= 20090401
+packetLen(0x0087, 39)
+#elif PACKETVER >= 20090325
+packetLen(0x0087, 15)
+#elif PACKETVER >= 20090318
+packetLen(0x0087, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0087, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0087, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x0087, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0087, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0087, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0087, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0088
+#if PACKETVER >= 20090406
+packetLen(0x0088, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0088, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0088, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x0088, 37)
+#elif PACKETVER >= 20090204
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0088, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0088, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0088, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x0088, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0089
+packetLen(0x0089, 11)
+
+// Packet: 0x008a
+#if PACKETVER >= 20090406
+packetLen(0x008a, 29)
+#elif PACKETVER >= 20090401
+packetLen(0x008a, 15)
+#elif PACKETVER >= 20090325
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x008a, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x008a, 21)
+#elif PACKETVER >= 20090218
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x008a, 282)
+#elif PACKETVER >= 20090204
+packetLen(0x008a, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x008a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x008a, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+#if PACKETVER >= 20090311
+packetLen(0x008d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x008d, 34)
+#elif PACKETVER >= 20090107
+packetLen(0x008d, -1)
+#endif
+
+// Packet: 0x008e
+#if PACKETVER >= 20090401
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x008e, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x008e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x008e, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x008e, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x008e, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x008e, 60)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0090
+#if PACKETVER >= 20090406
+packetLen(0x0090, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0090, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0090, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0090, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0090, 44)
+#elif PACKETVER >= 20090129
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0090, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0090, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0090, 36)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0091
+#if PACKETVER >= 20090406
+packetLen(0x0091, 22)
+#elif PACKETVER >= 20090401
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0091, 21)
+#elif PACKETVER >= 20090114
+packetLen(0x0091, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0091, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0092
+#if PACKETVER >= 20090406
+packetLen(0x0092, 28)
+#elif PACKETVER >= 20090401
+packetLen(0x0092, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0092, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0092, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0092, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x0092, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0092, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0092, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0093
+#if PACKETVER >= 20090401
+packetLen(0x0093, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0093, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x0093, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0093, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x0093, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0093, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0093, -1)
+#endif
+
+// Packet: 0x0094
+packetLen(0x0094, 19)
+
+// Packet: 0x0095
+#if PACKETVER >= 20090406
+packetLen(0x0095, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0095, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0095, 33)
+#elif PACKETVER >= 20090218
+packetLen(0x0095, 60)
+#elif PACKETVER >= 20090211
+packetLen(0x0095, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0095, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0095, 53)
+#elif PACKETVER >= 20090107
+packetLen(0x0095, -1)
+#endif
+
+// Packet: 0x0096
+#if PACKETVER >= 20090406
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0096, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0096, 71)
+#elif PACKETVER >= 20090318
+packetLen(0x0096, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x0096, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0096, 39)
+#elif PACKETVER >= 20090211
+packetLen(0x0096, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0096, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0096, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0096, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0096, -1)
+#endif
+
+// Packet: 0x0097
+#if PACKETVER >= 20090406
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0097, 30)
+#elif PACKETVER >= 20090325
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0097, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0097, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0097, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0097, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0097, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0097, 37)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0098
+#if PACKETVER >= 20090406
+packetLen(0x0098, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x0098, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0098, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x0098, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0098, 20)
+#elif PACKETVER >= 20090114
+packetLen(0x0098, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0098, 9)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0099
+#if PACKETVER >= 20090318
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0099, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0099, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0099, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0099, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0099, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0099, 31)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x009a
+#if PACKETVER >= 20090311
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x009a, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x009a, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x009a, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x009a, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x009a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x009a, 65)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x009b
+packetLen(0x009b, 34)
+
+// Packet: 0x009c
+#if PACKETVER >= 20090406
+packetLen(0x009c, 9)
+#elif PACKETVER >= 20090401
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x009c, 79)
+#elif PACKETVER >= 20090318
+packetLen(0x009c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x009c, 29)
+#elif PACKETVER >= 20090225
+packetLen(0x009c, 65)
+#elif PACKETVER >= 20090107
+packetLen(0x009c, -1)
+#endif
+
+// Packet: 0x009d
+#if PACKETVER >= 20090406
+packetLen(0x009d, 17)
+#elif PACKETVER >= 20090401
+packetLen(0x009d, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x009d, 54)
+#elif PACKETVER >= 20090225
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x009d, 68)
+#elif PACKETVER >= 20090211
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x009d, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x009d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x009d, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x009d, -1)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20090406
+packetLen(0x009e, 17)
+#elif PACKETVER >= 20090401
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x009e, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x009e, 114)
+#elif PACKETVER >= 20090225
+packetLen(0x009e, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x009e, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x009e, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x009e, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x009e, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x009e, -1)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20090406
+packetLen(0x00a0, 23)
+#elif PACKETVER >= 20090325
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00a0, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x00a0, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00a0, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00a0, -1)
+#endif
+
+// Packet: 0x00a1
+#if PACKETVER >= 20090406
+packetLen(0x00a1, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00a1, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00a1, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x00a1, 27)
+#elif PACKETVER >= 20090225
+packetLen(0x00a1, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00a1, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x00a1, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x00a1, -1)
+#endif
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14)
+
+// Packet: 0x00a3
+#if PACKETVER >= 20090406
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00a3, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x00a3, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00a3, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x00a3, -1)
+#endif
+
+// Packet: 0x00a4
+#if PACKETVER >= 20090401
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00a4, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00a4, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x00a4, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x00a4, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00a4, 54)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00a5
+#if PACKETVER >= 20090406
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00a5, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00a5, 12)
+#elif PACKETVER >= 20090129
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00a5, 54)
+#elif PACKETVER >= 20090114
+packetLen(0x00a5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00a5, 24)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00a6
+#if PACKETVER >= 20090406
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00a6, 59)
+#elif PACKETVER >= 20090325
+packetLen(0x00a6, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00a6, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00a6, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00a6, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x00a6, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00a6, 18)
+#elif PACKETVER >= 20090107
+packetLen(0x00a6, 20)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+#if PACKETVER >= 20090406
+packetLen(0x00a8, 7)
+#elif PACKETVER >= 20090401
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00a8, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00a8, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00a8, 20)
+#elif PACKETVER >= 20090204
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00a8, 54)
+#elif PACKETVER >= 20090120
+packetLen(0x00a8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00a8, 27)
+#elif PACKETVER >= 20090107
+packetLen(0x00a8, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00a9
+#if PACKETVER >= 20090406
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00a9, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x00a9, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00a9, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00a9, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00aa
+#if PACKETVER >= 20090406
+packetLen(0x00aa, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00aa, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00aa, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00aa, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00aa, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x00aa, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00aa, 53)
+#elif PACKETVER >= 20090114
+packetLen(0x00aa, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x00aa, -1)
+#endif
+
+// Packet: 0x00ab
+#if PACKETVER >= 20090406
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00ab, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00ab, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x00ab, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00ab, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x00ab, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00ac
+#if PACKETVER >= 20090325
+packetLen(0x00ac, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00ac, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x00ac, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x00ac, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00ac, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+#if PACKETVER >= 20090406
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00af, 54)
+#elif PACKETVER >= 20090325
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00af, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x00af, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00af, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x00af, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x00af, -1)
+#endif
+
+// Packet: 0x00b0
+#if PACKETVER >= 20090406
+packetLen(0x00b0, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x00b0, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00b0, 57)
+#elif PACKETVER >= 20090114
+packetLen(0x00b0, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00b0, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00b1
+#if PACKETVER >= 20090406
+packetLen(0x00b1, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x00b1, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x00b1, 27)
+#elif PACKETVER >= 20090311
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00b1, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x00b1, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00b1, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x00b1, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b2
+#if PACKETVER >= 20090406
+packetLen(0x00b2, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00b2, 42)
+#elif PACKETVER >= 20090325
+packetLen(0x00b2, 32)
+#elif PACKETVER >= 20090318
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00b2, 186)
+#elif PACKETVER >= 20090225
+packetLen(0x00b2, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00b2, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x00b2, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00b2, 97)
+#elif PACKETVER >= 20090107
+packetLen(0x00b2, 23)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b3
+#if PACKETVER >= 20090406
+packetLen(0x00b3, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00b3, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00b3, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00b3, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x00b3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00b3, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00b4
+#if PACKETVER >= 20090325
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00b4, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00b4, 37)
+#elif PACKETVER >= 20090225
+packetLen(0x00b4, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x00b4, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00b4, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x00b4, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00b4, -1)
+#endif
+
+// Packet: 0x00b5
+#if PACKETVER >= 20090406
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00b5, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x00b5, 32)
+#elif PACKETVER >= 20090211
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00b5, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x00b5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00b5, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00b5, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b6
+#if PACKETVER >= 20090406
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00b6, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00b6, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x00b6, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00b6, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00b6, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00b7
+#if PACKETVER >= 20090406
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00b7, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00b7, 29)
+#elif PACKETVER >= 20090311
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00b7, 54)
+#elif PACKETVER >= 20090204
+packetLen(0x00b7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00b7, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00b7, -1)
+#endif
+
+// Packet: 0x00b8
+#if PACKETVER >= 20090406
+packetLen(0x00b8, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00b8, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00b8, 33)
+#elif PACKETVER >= 20090129
+packetLen(0x00b8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00b8, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x00b8, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00b8, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00b9
+#if PACKETVER >= 20090406
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00b9, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00b9, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00b9, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x00b9, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00b9, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+#if PACKETVER >= 20090406
+packetLen(0x00bb, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00bb, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x00bb, 43)
+#elif PACKETVER >= 20090211
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00bb, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x00bb, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x00bb, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00bb, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x00bb, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00bc
+#if PACKETVER >= 20090406
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00bc, 65)
+#elif PACKETVER >= 20090325
+packetLen(0x00bc, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00bc, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00bc, 27)
+#elif PACKETVER >= 20090218
+packetLen(0x00bc, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00bc, 81)
+#elif PACKETVER >= 20090204
+packetLen(0x00bc, 15)
+#elif PACKETVER >= 20090129
+packetLen(0x00bc, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x00bc, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00bd
+#if PACKETVER >= 20090406
+packetLen(0x00bd, 44)
+#elif PACKETVER >= 20090225
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00bd, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00bd, 60)
+#elif PACKETVER >= 20090120
+packetLen(0x00bd, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00bd, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x00bd, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00be
+#if PACKETVER >= 20090406
+packetLen(0x00be, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x00be, 30)
+#elif PACKETVER >= 20090325
+packetLen(0x00be, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00be, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x00be, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00be, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x00be, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00be, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x00be, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00bf
+#if PACKETVER >= 20090406
+packetLen(0x00bf, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00bf, 18)
+#elif PACKETVER >= 20090311
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00bf, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00bf, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x00bf, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00bf, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00bf, 86)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c0
+#if PACKETVER >= 20090406
+packetLen(0x00c0, 7)
+#elif PACKETVER >= 20090401
+packetLen(0x00c0, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00c0, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x00c0, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00c0, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x00c0, 31)
+#elif PACKETVER >= 20090107
+packetLen(0x00c0, 54)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00c1
+#if PACKETVER >= 20090406
+packetLen(0x00c1, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x00c1, 67)
+#elif PACKETVER >= 20090318
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00c1, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00c1, 54)
+#elif PACKETVER >= 20090211
+packetLen(0x00c1, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x00c1, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00c1, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x00c1, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00c1, -1)
+#endif
+
+// Packet: 0x00c2
+#if PACKETVER >= 20090406
+packetLen(0x00c2, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00c2, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00c2, 12)
+#elif PACKETVER >= 20090225
+packetLen(0x00c2, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x00c2, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x00c2, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00c2, 60)
+#elif PACKETVER >= 20090120
+packetLen(0x00c2, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x00c2, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x00c2, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c3
+#if PACKETVER >= 20090406
+packetLen(0x00c3, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x00c3, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x00c3, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00c3, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00c3, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00c4
+#if PACKETVER >= 20090406
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00c4, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00c4, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x00c4, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00c4, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c5
+#if PACKETVER >= 20090406
+packetLen(0x00c5, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00c5, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x00c5, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x00c5, 32)
+#elif PACKETVER >= 20090129
+packetLen(0x00c5, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00c5, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x00c5, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00c5, -1)
+#endif
+
+// Packet: 0x00c6
+#if PACKETVER >= 20090325
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00c6, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00c6, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x00c6, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00c6, 57)
+#elif PACKETVER >= 20090120
+packetLen(0x00c6, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x00c6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00c6, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c7
+#if PACKETVER >= 20090406
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00c7, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x00c7, 53)
+#elif PACKETVER >= 20090318
+packetLen(0x00c7, 54)
+#elif PACKETVER >= 20090311
+packetLen(0x00c7, 27)
+#elif PACKETVER >= 20090225
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00c7, 23)
+#elif PACKETVER >= 20090211
+packetLen(0x00c7, 57)
+#elif PACKETVER >= 20090129
+packetLen(0x00c7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00c7, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00c7, -1)
+#endif
+
+// Packet: 0x00c8
+#if PACKETVER >= 20090401
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00c8, 58)
+#elif PACKETVER >= 20090318
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00c8, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00c8, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00c8, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x00c8, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x00c8, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00c8, 42)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00c9
+#if PACKETVER >= 20090401
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00c9, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x00c9, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x00c9, 29)
+#elif PACKETVER >= 20090218
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00c9, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x00c9, 22)
+#elif PACKETVER >= 20090120
+packetLen(0x00c9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00c9, 15)
+#elif PACKETVER >= 20090107
+packetLen(0x00c9, -1)
+#endif
+
+// Packet: 0x00ca
+#if PACKETVER >= 20090406
+packetLen(0x00ca, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00ca, 282)
+#elif PACKETVER >= 20090318
+packetLen(0x00ca, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x00ca, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00ca, 22)
+#elif PACKETVER >= 20090211
+packetLen(0x00ca, 21)
+#elif PACKETVER >= 20090204
+packetLen(0x00ca, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x00ca, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00ca, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+#if PACKETVER >= 20090406
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00cc, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x00cc, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00cc, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x00cc, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00cc, 12)
+#elif PACKETVER >= 20090120
+packetLen(0x00cc, 39)
+#elif PACKETVER >= 20090114
+packetLen(0x00cc, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x00cc, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+#if PACKETVER >= 20090406
+packetLen(0x00ce, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00ce, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00ce, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x00ce, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00ce, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x00ce, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00cf
+#if PACKETVER >= 20090406
+packetLen(0x00cf, 27)
+#elif PACKETVER >= 20090401
+packetLen(0x00cf, 16)
+#elif PACKETVER >= 20090325
+packetLen(0x00cf, 282)
+#elif PACKETVER >= 20090318
+packetLen(0x00cf, 44)
+#elif PACKETVER >= 20090311
+packetLen(0x00cf, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x00cf, 79)
+#elif PACKETVER >= 20090211
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x00cf, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x00cf, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00cf, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00cf, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d0
+#if PACKETVER >= 20090406
+packetLen(0x00d0, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00d0, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x00d0, 37)
+#elif PACKETVER >= 20090318
+packetLen(0x00d0, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x00d0, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00d0, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00d0, -1)
+#endif
+
+// Packet: 0x00d1
+#if PACKETVER >= 20090406
+packetLen(0x00d1, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00d1, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00d1, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x00d1, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00d1, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00d1, 16)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00d2
+#if PACKETVER >= 20090406
+packetLen(0x00d2, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x00d2, 30)
+#elif PACKETVER >= 20090325
+packetLen(0x00d2, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00d2, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x00d2, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00d2, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00d2, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00d3
+#if PACKETVER >= 20090401
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x00d3, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00d3, 12)
+#elif PACKETVER >= 20090225
+packetLen(0x00d3, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x00d3, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00d3, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x00d3, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x00d3, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+#if PACKETVER >= 20090401
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00d5, 12)
+#elif PACKETVER >= 20090318
+packetLen(0x00d5, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x00d5, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x00d5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00d5, 58)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00d6
+#if PACKETVER >= 20090406
+packetLen(0x00d6, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00d6, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00d6, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x00d6, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00d6, 59)
+#elif PACKETVER >= 20090204
+packetLen(0x00d6, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x00d6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00d6, 18)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d7
+#if PACKETVER >= 20090406
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00d7, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x00d7, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x00d7, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00d7, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x00d7, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x00d7, 23)
+#elif PACKETVER >= 20090129
+packetLen(0x00d7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00d7, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00d7, -1)
+#endif
+
+// Packet: 0x00d8
+#if PACKETVER >= 20090406
+packetLen(0x00d8, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00d8, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00d8, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x00d8, 97)
+#elif PACKETVER >= 20090218
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00d8, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x00d8, 42)
+#elif PACKETVER >= 20090129
+packetLen(0x00d8, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x00d8, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x00d8, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00d8, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00d9
+#if PACKETVER >= 20090406
+packetLen(0x00d9, 14)
+#elif PACKETVER >= 20090401
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x00d9, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x00d9, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x00d9, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x00d9, 58)
+#elif PACKETVER >= 20090218
+packetLen(0x00d9, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x00d9, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x00d9, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x00d9, 55)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00da
+#if PACKETVER >= 20090406
+packetLen(0x00da, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00da, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00da, 19)
+#elif PACKETVER >= 20090204
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00da, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x00da, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00da, 31)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00db
+#if PACKETVER >= 20090401
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00db, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00db, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x00db, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x00db, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00db, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x00db, -1)
+#endif
+
+// Packet: 0x00dc
+#if PACKETVER >= 20090406
+packetLen(0x00dc, 28)
+#elif PACKETVER >= 20090401
+packetLen(0x00dc, 282)
+#elif PACKETVER >= 20090318
+packetLen(0x00dc, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00dc, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00dc, 67)
+#elif PACKETVER >= 20090129
+packetLen(0x00dc, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00dc, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x00dc, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x00dc, -1)
+#endif
+
+// Packet: 0x00dd
+#if PACKETVER >= 20090406
+packetLen(0x00dd, 29)
+#elif PACKETVER >= 20090401
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00dd, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00dd, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00dd, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x00dd, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00dd, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00de
+#if PACKETVER >= 20090406
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00de, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x00de, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00de, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x00de, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00de, 32)
+#elif PACKETVER >= 20090129
+packetLen(0x00de, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x00de, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00de, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x00de, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00df
+#if PACKETVER >= 20090406
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00df, 33)
+#elif PACKETVER >= 20090325
+packetLen(0x00df, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00df, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00df, 27)
+#elif PACKETVER >= 20090211
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00df, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x00df, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00df, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x00df, 22)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e0
+#if PACKETVER >= 20090406
+packetLen(0x00e0, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00e0, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00e0, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x00e0, 33)
+#elif PACKETVER >= 20090114
+packetLen(0x00e0, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00e0, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00e1
+#if PACKETVER >= 20090406
+packetLen(0x00e1, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x00e1, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x00e1, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00e1, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00e1, 23)
+#elif PACKETVER >= 20090120
+packetLen(0x00e1, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00e1, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x00e1, -1)
+#endif
+
+// Packet: 0x00e2
+#if PACKETVER >= 20090406
+packetLen(0x00e2, 26)
+#elif PACKETVER >= 20090401
+packetLen(0x00e2, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00e2, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x00e2, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00e2, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x00e2, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e3
+#if PACKETVER >= 20090406
+packetLen(0x00e3, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00e3, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x00e3, 55)
+#elif PACKETVER >= 20090311
+packetLen(0x00e3, 15)
+#elif PACKETVER >= 20090225
+packetLen(0x00e3, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00e3, 21)
+#elif PACKETVER >= 20090129
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00e3, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x00e3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00e3, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00e4
+#if PACKETVER >= 20090401
+packetLen(0x00e4, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x00e4, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00e4, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x00e4, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00e4, 20)
+#elif PACKETVER >= 20090107
+packetLen(0x00e4, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e5
+#if PACKETVER >= 20090406
+packetLen(0x00e5, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00e5, 68)
+#elif PACKETVER >= 20090311
+packetLen(0x00e5, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00e5, 37)
+#elif PACKETVER >= 20090211
+packetLen(0x00e5, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x00e5, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00e5, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x00e5, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x00e5, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e6
+#if PACKETVER >= 20090406
+packetLen(0x00e6, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00e6, 86)
+#elif PACKETVER >= 20090204
+packetLen(0x00e6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00e6, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x00e6, 58)
+#elif PACKETVER >= 20090114
+packetLen(0x00e6, 57)
+#elif PACKETVER >= 20090107
+packetLen(0x00e6, -1)
+#endif
+
+// Packet: 0x00e7
+#if PACKETVER >= 20090406
+packetLen(0x00e7, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00e7, 55)
+#elif PACKETVER >= 20090218
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00e7, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x00e7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00e7, 68)
+#elif PACKETVER >= 20090114
+packetLen(0x00e7, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00e7, 42)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00e8
+#if PACKETVER >= 20090406
+packetLen(0x00e8, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00e8, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x00e8, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00e8, 58)
+#elif PACKETVER >= 20090129
+packetLen(0x00e8, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x00e8, -1)
+#endif
+
+// Packet: 0x00e9
+#if PACKETVER >= 20090406
+packetLen(0x00e9, 19)
+#elif PACKETVER >= 20090325
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00e9, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x00e9, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x00e9, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00e9, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x00e9, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x00e9, 33)
+#elif PACKETVER >= 20090129
+packetLen(0x00e9, 32)
+#elif PACKETVER >= 20090120
+packetLen(0x00e9, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x00e9, -1)
+#endif
+
+// Packet: 0x00ea
+#if PACKETVER >= 20090406
+packetLen(0x00ea, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00ea, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00ea, 12)
+#elif PACKETVER >= 20090218
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00ea, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x00ea, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00ea, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x00ea, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00ea, -1)
+#endif
+
+// Packet: 0x00eb
+#if PACKETVER >= 20090406
+packetLen(0x00eb, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00eb, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x00eb, 15)
+#elif PACKETVER >= 20090311
+packetLen(0x00eb, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x00eb, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x00eb, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00eb, 71)
+#elif PACKETVER >= 20090114
+packetLen(0x00eb, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00eb, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ec
+#if PACKETVER >= 20090406
+packetLen(0x00ec, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00ec, 60)
+#elif PACKETVER >= 20090325
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00ec, 27)
+#elif PACKETVER >= 20090311
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00ec, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00ec, 15)
+#elif PACKETVER >= 20090204
+packetLen(0x00ec, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00ec, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x00ec, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x00ec, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x00ec, 18)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00ed
+#if PACKETVER >= 20090406
+packetLen(0x00ed, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x00ed, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00ed, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x00ed, 22)
+#elif PACKETVER >= 20090204
+packetLen(0x00ed, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x00ed, 282)
+#elif PACKETVER >= 20090114
+packetLen(0x00ed, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x00ed, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ee
+#if PACKETVER >= 20090401
+packetLen(0x00ee, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x00ee, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x00ee, 282)
+#elif PACKETVER >= 20090311
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00ee, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00ee, 24)
+#elif PACKETVER >= 20090120
+packetLen(0x00ee, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x00ee, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00ee, 16)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ef
+#if PACKETVER >= 20090406
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x00ef, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00ef, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00ef, 16)
+#elif PACKETVER >= 20090211
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00ef, 43)
+#elif PACKETVER >= 20090129
+packetLen(0x00ef, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x00ef, 81)
+#elif PACKETVER >= 20090114
+packetLen(0x00ef, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00ef, 39)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00f0
+#if PACKETVER >= 20090406
+packetLen(0x00f0, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x00f0, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00f0, 34)
+#elif PACKETVER >= 20090211
+packetLen(0x00f0, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00f0, 31)
+#elif PACKETVER >= 20090129
+packetLen(0x00f0, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x00f0, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+#if PACKETVER >= 20090406
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00f2, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x00f2, 32)
+#elif PACKETVER >= 20090318
+packetLen(0x00f2, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x00f2, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x00f2, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x00f2, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x00f2, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x00f2, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00f2, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x00f2, -1)
+#endif
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+#if PACKETVER >= 20090406
+packetLen(0x00f4, 21)
+#elif PACKETVER >= 20090401
+packetLen(0x00f4, 18)
+#elif PACKETVER >= 20090311
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00f4, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00f4, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x00f4, 53)
+#elif PACKETVER >= 20090129
+packetLen(0x00f4, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00f4, 43)
+#elif PACKETVER >= 20090114
+packetLen(0x00f4, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x00f4, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11)
+
+// Packet: 0x00f6
+#if PACKETVER >= 20090406
+packetLen(0x00f6, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x00f6, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00f6, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x00f6, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x00f6, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x00f6, 21)
+#elif PACKETVER >= 20090114
+packetLen(0x00f6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00f6, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17)
+
+// Packet: 0x00f8
+#if PACKETVER >= 20090401
+packetLen(0x00f8, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00f8, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x00f8, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00f8, 65)
+#elif PACKETVER >= 20090204
+packetLen(0x00f8, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00f8, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x00f8, -1)
+#endif
+
+// Packet: 0x00f9
+#if PACKETVER >= 20090406
+packetLen(0x00f9, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00f9, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00f9, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x00f9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00f9, 39)
+#elif PACKETVER >= 20090129
+packetLen(0x00f9, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x00f9, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x00f9, -1)
+#endif
+
+// Packet: 0x00fa
+#if PACKETVER >= 20090406
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x00fa, 20)
+#elif PACKETVER >= 20090311
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x00fa, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x00fa, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00fa, 114)
+#elif PACKETVER >= 20090107
+packetLen(0x00fa, -1)
+#endif
+
+// Packet: 0x00fb
+#if PACKETVER >= 20090406
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x00fb, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x00fb, 36)
+#elif PACKETVER >= 20090225
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x00fb, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x00fb, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x00fb, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x00fb, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x00fb, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00fb, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x00fb, 282)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00fc
+#if PACKETVER >= 20090406
+packetLen(0x00fc, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00fc, 22)
+#elif PACKETVER >= 20090120
+packetLen(0x00fc, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00fc, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x00fc, -1)
+#endif
+
+// Packet: 0x00fd
+#if PACKETVER >= 20090406
+packetLen(0x00fd, 27)
+#elif PACKETVER >= 20090218
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x00fd, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00fd, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x00fd, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00fd, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x00fe
+#if PACKETVER >= 20090406
+packetLen(0x00fe, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00fe, 67)
+#elif PACKETVER >= 20090211
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x00fe, 29)
+#elif PACKETVER >= 20090129
+packetLen(0x00fe, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x00fe, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x00fe, 21)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x00ff
+#if PACKETVER >= 20090406
+packetLen(0x00ff, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x00ff, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x00ff, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x00ff, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x00ff, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x00ff, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x00ff, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0100
+#if PACKETVER >= 20090406
+packetLen(0x0100, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x0100, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0100, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0100, 81)
+#elif PACKETVER >= 20090211
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0100, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x0100, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0100, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0101
+#if PACKETVER >= 20090406
+packetLen(0x0101, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0101, 20)
+#elif PACKETVER >= 20090120
+packetLen(0x0101, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0101, 20)
+#elif PACKETVER >= 20090107
+packetLen(0x0101, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0102
+#if PACKETVER >= 20090406
+packetLen(0x0102, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0102, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0102, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0102, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x0102, 282)
+#elif PACKETVER >= 20090204
+packetLen(0x0102, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0102, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0102, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0102, 9)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0103
+#if PACKETVER >= 20090406
+packetLen(0x0103, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0103, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0103, 54)
+#elif PACKETVER >= 20090204
+packetLen(0x0103, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x0103, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0103, 66)
+#elif PACKETVER >= 20090114
+packetLen(0x0103, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0103, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0104
+#if PACKETVER >= 20090406
+packetLen(0x0104, 79)
+#elif PACKETVER >= 20090325
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0104, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0104, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0104, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x0104, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0104, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0104, -1)
+#endif
+
+// Packet: 0x0105
+#if PACKETVER >= 20090406
+packetLen(0x0105, 31)
+#elif PACKETVER >= 20090401
+packetLen(0x0105, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0105, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0105, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0105, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0105, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0106
+#if PACKETVER >= 20090406
+packetLen(0x0106, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x0106, 24)
+#elif PACKETVER >= 20090325
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0106, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0106, 9)
+#elif PACKETVER >= 20090129
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0106, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x0106, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0106, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0107
+#if PACKETVER >= 20090406
+packetLen(0x0107, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x0107, 16)
+#elif PACKETVER >= 20090325
+packetLen(0x0107, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0107, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0107, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0107, 23)
+#elif PACKETVER >= 20090107
+packetLen(0x0107, -1)
+#endif
+
+// Packet: 0x0108
+#if PACKETVER >= 20090325
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0108, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0108, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0108, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0108, -1)
+#endif
+
+// Packet: 0x0109
+#if PACKETVER >= 20090325
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0109, 81)
+#elif PACKETVER >= 20090225
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0109, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0109, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0109, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0109, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x0109, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0109, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x010a
+#if PACKETVER >= 20090406
+packetLen(0x010a, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x010a, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x010a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x010a, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x010a, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010b
+#if PACKETVER >= 20090401
+packetLen(0x010b, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x010b, 17)
+#elif PACKETVER >= 20090211
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x010b, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x010b, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x010b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x010b, 23)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010c
+#if PACKETVER >= 20090406
+packetLen(0x010c, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x010c, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x010c, 27)
+#elif PACKETVER >= 20090120
+packetLen(0x010c, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x010c, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x010c, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+#if PACKETVER >= 20090406
+packetLen(0x010e, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x010e, 86)
+#elif PACKETVER >= 20090204
+packetLen(0x010e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x010e, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x010e, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x010f
+#if PACKETVER >= 20090325
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x010f, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x010f, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x010f, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x010f, 43)
+#elif PACKETVER >= 20090107
+packetLen(0x010f, 81)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0110
+#if PACKETVER >= 20090406
+packetLen(0x0110, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0110, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0110, 29)
+#elif PACKETVER >= 20090129
+packetLen(0x0110, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0110, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0110, -1)
+#endif
+
+// Packet: 0x0111
+#if PACKETVER >= 20090406
+packetLen(0x0111, 39)
+#elif PACKETVER >= 20090325
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0111, 20)
+#elif PACKETVER >= 20090218
+packetLen(0x0111, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0111, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0111, -1)
+#endif
+
+// Packet: 0x0112
+#if PACKETVER >= 20090406
+packetLen(0x0112, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x0112, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0112, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0112, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0112, 29)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0113
+packetLen(0x0113, 25)
+
+// Packet: 0x0114
+#if PACKETVER >= 20090406
+packetLen(0x0114, 31)
+#elif PACKETVER >= 20090401
+packetLen(0x0114, 28)
+#elif PACKETVER >= 20090325
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0114, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0114, 17)
+#elif PACKETVER >= 20090129
+packetLen(0x0114, 182)
+#elif PACKETVER >= 20090120
+packetLen(0x0114, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0114, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0114, 60)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 17)
+
+// Packet: 0x0117
+#if PACKETVER >= 20090406
+packetLen(0x0117, 18)
+#elif PACKETVER >= 20090325
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0117, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0117, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x0117, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0117, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x0117, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0117, -1)
+#endif
+
+// Packet: 0x0118
+#if PACKETVER >= 20090406
+packetLen(0x0118, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0118, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0118, 27)
+#elif PACKETVER >= 20090225
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0118, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0118, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0118, 33)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0119
+#if PACKETVER >= 20090406
+packetLen(0x0119, 13)
+#elif PACKETVER >= 20090325
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0119, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0119, 97)
+#elif PACKETVER >= 20090114
+packetLen(0x0119, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0119, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x011a
+#if PACKETVER >= 20090406
+packetLen(0x011a, 15)
+#elif PACKETVER >= 20090401
+packetLen(0x011a, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x011a, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x011a, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x011a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x011a, 282)
+#elif PACKETVER >= 20090120
+packetLen(0x011a, 9)
+#elif PACKETVER >= 20090114
+packetLen(0x011a, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x011a, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x011b
+#if PACKETVER >= 20090406
+packetLen(0x011b, 20)
+#elif PACKETVER >= 20090401
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x011b, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x011b, 24)
+#elif PACKETVER >= 20090311
+packetLen(0x011b, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x011b, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x011b, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x011b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x011b, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x011b, -1)
+#endif
+
+// Packet: 0x011c
+#if PACKETVER >= 20090406
+packetLen(0x011c, 68)
+#elif PACKETVER >= 20090325
+packetLen(0x011c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x011c, 282)
+#elif PACKETVER >= 20090311
+packetLen(0x011c, 58)
+#elif PACKETVER >= 20090225
+packetLen(0x011c, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x011c, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x011c, -1)
+#endif
+
+// Packet: 0x011d
+#if PACKETVER >= 20090406
+packetLen(0x011d, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x011d, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x011d, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x011d, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x011d, 32)
+#elif PACKETVER >= 20090129
+packetLen(0x011d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x011d, 182)
+#elif PACKETVER >= 20090107
+packetLen(0x011d, -1)
+#endif
+
+// Packet: 0x011e
+#if PACKETVER >= 20090406
+packetLen(0x011e, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x011e, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x011e, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x011e, 60)
+#elif PACKETVER >= 20090211
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x011e, 22)
+#elif PACKETVER >= 20090120
+packetLen(0x011e, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x011e, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x011e, -1)
+#endif
+
+// Packet: 0x011f
+#if PACKETVER >= 20090406
+packetLen(0x011f, 16)
+#elif PACKETVER >= 20090401
+packetLen(0x011f, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x011f, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x011f, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x011f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x011f, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x011f, -1)
+#endif
+
+// Packet: 0x0120
+#if PACKETVER >= 20090406
+packetLen(0x0120, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0120, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0120, 15)
+#elif PACKETVER >= 20090218
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0120, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0120, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0120, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0120, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x0120, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0121
+#if PACKETVER >= 20090406
+packetLen(0x0121, 14)
+#elif PACKETVER >= 20090318
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0121, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0121, 31)
+#elif PACKETVER >= 20090211
+packetLen(0x0121, 12)
+#elif PACKETVER >= 20090204
+packetLen(0x0121, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0121, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0121, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0121, 67)
+#elif PACKETVER >= 20090107
+packetLen(0x0121, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0122
+#if PACKETVER >= 20090204
+packetLen(0x0122, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0122, 20)
+#elif PACKETVER >= 20090120
+packetLen(0x0122, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0122, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0122, 9)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0123
+#if PACKETVER >= 20090401
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0123, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0123, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0123, 22)
+#elif PACKETVER >= 20090114
+packetLen(0x0123, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0123, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0124
+#if PACKETVER >= 20090406
+packetLen(0x0124, 21)
+#elif PACKETVER >= 20090325
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0124, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0124, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0124, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x0124, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0124, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0125
+#if PACKETVER >= 20090406
+packetLen(0x0125, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0125, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0125, 282)
+#elif PACKETVER >= 20090225
+packetLen(0x0125, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x0125, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x0125, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0125, 20)
+#elif PACKETVER >= 20090129
+packetLen(0x0125, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0125, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0125, -1)
+#endif
+
+// Packet: 0x0126
+#if PACKETVER >= 20090406
+packetLen(0x0126, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x0126, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x0126, 282)
+#elif PACKETVER >= 20090318
+packetLen(0x0126, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0126, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0126, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0126, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0126, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0126, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0126, 60)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0127
+#if PACKETVER >= 20090406
+packetLen(0x0127, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0127, 66)
+#elif PACKETVER >= 20090318
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0127, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x0127, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0127, 44)
+#elif PACKETVER >= 20090211
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0127, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0127, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0127, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0127, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0127, 18)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0128
+#if PACKETVER >= 20090406
+packetLen(0x0128, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x0128, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x0128, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0128, 12)
+#elif PACKETVER >= 20090311
+packetLen(0x0128, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0128, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0128, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0128, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x0128, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0129
+#if PACKETVER >= 20090406
+packetLen(0x0129, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x0129, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0129, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x0129, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0129, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0129, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0129, 22)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x012a
+#if PACKETVER >= 20090406
+packetLen(0x012a, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x012a, 13)
+#elif PACKETVER >= 20090311
+packetLen(0x012a, 33)
+#elif PACKETVER >= 20090225
+packetLen(0x012a, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x012a, 34)
+#elif PACKETVER >= 20090129
+packetLen(0x012a, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x012a, 29)
+#elif PACKETVER >= 20090114
+packetLen(0x012a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x012a, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+#if PACKETVER >= 20090406
+packetLen(0x012c, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x012c, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x012c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x012c, 13)
+#elif PACKETVER >= 20090129
+packetLen(0x012c, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x012c, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x012c, 79)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x012d
+#if PACKETVER >= 20090406
+packetLen(0x012d, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x012d, 43)
+#elif PACKETVER >= 20090325
+packetLen(0x012d, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x012d, 22)
+#elif PACKETVER >= 20090204
+packetLen(0x012d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x012d, 79)
+#elif PACKETVER >= 20090120
+packetLen(0x012d, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x012d, 13)
+#elif PACKETVER >= 20090107
+packetLen(0x012d, -1)
+#endif
+
+// Packet: 0x012e
+#if PACKETVER >= 20090406
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x012e, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x012e, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x012e, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x012e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x012e, 65)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+#if PACKETVER >= 20090406
+packetLen(0x0130, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0130, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0130, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0130, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0130, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0130, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0130, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0130, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0130, -1)
+#endif
+
+// Packet: 0x0131
+#if PACKETVER >= 20090406
+packetLen(0x0131, 86)
+#elif PACKETVER >= 20090401
+packetLen(0x0131, 37)
+#elif PACKETVER >= 20090325
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0131, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0131, 17)
+#elif PACKETVER >= 20090218
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0131, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x0131, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0131, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0131, -1)
+#endif
+
+// Packet: 0x0132
+#if PACKETVER >= 20090406
+packetLen(0x0132, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0132, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0132, 28)
+#elif PACKETVER >= 20090225
+packetLen(0x0132, 39)
+#elif PACKETVER >= 20090218
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0132, 27)
+#elif PACKETVER >= 20090204
+packetLen(0x0132, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0132, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0132, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0132, -1)
+#endif
+
+// Packet: 0x0133
+#if PACKETVER >= 20090325
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0133, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0133, 60)
+#elif PACKETVER >= 20090225
+packetLen(0x0133, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0133, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0133, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0133, 68)
+#elif PACKETVER >= 20090107
+packetLen(0x0133, -1)
+#endif
+
+// Packet: 0x0134
+#if PACKETVER >= 20090406
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0134, 29)
+#elif PACKETVER >= 20090325
+packetLen(0x0134, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0134, 58)
+#elif PACKETVER >= 20090225
+packetLen(0x0134, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0134, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0134, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0134, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0134, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0134, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0134, -1)
+#endif
+
+// Packet: 0x0135
+#if PACKETVER >= 20090406
+packetLen(0x0135, 7)
+#elif PACKETVER >= 20090401
+packetLen(0x0135, 97)
+#elif PACKETVER >= 20090311
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0135, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0135, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0135, 44)
+#elif PACKETVER >= 20090204
+packetLen(0x0135, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x0135, 59)
+#elif PACKETVER >= 20090107
+packetLen(0x0135, -1)
+#endif
+
+// Packet: 0x0136
+#if PACKETVER >= 20090401
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0136, 53)
+#elif PACKETVER >= 20090318
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0136, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0136, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x0136, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0136, 16)
+#elif PACKETVER >= 20090114
+packetLen(0x0136, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0136, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0137
+#if PACKETVER >= 20090406
+packetLen(0x0137, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0137, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x0137, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0137, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0137, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0137, 68)
+#elif PACKETVER >= 20090129
+packetLen(0x0137, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0137, -1)
+#endif
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+#if PACKETVER >= 20090406
+packetLen(0x0139, 16)
+#elif PACKETVER >= 20090211
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0139, 21)
+#elif PACKETVER >= 20090129
+packetLen(0x0139, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0139, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x0139, -1)
+#endif
+
+// Packet: 0x013a
+#if PACKETVER >= 20090406
+packetLen(0x013a, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x013a, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x013a, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x013a, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x013a, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x013a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x013a, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x013a, -1)
+#endif
+
+// Packet: 0x013b
+#if PACKETVER >= 20090406
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x013b, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x013b, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x013b, 18)
+#elif PACKETVER >= 20090204
+packetLen(0x013b, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x013b, 32)
+#elif PACKETVER >= 20090120
+packetLen(0x013b, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x013b, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x013b, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x013c
+#if PACKETVER >= 20090406
+packetLen(0x013c, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x013c, 34)
+#elif PACKETVER >= 20090325
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x013c, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x013c, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x013c, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x013c, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x013c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x013c, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x013d
+#if PACKETVER >= 20090406
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x013d, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x013d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x013d, 53)
+#elif PACKETVER >= 20090120
+packetLen(0x013d, 36)
+#elif PACKETVER >= 20090114
+packetLen(0x013d, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x013d, -1)
+#endif
+
+// Packet: 0x013e
+#if PACKETVER >= 20090406
+packetLen(0x013e, 24)
+#elif PACKETVER >= 20090318
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x013e, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x013e, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x013e, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x013e, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x013e, 23)
+#elif PACKETVER >= 20090114
+packetLen(0x013e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x013e, 182)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x013f
+#if PACKETVER >= 20090406
+packetLen(0x013f, 26)
+#elif PACKETVER >= 20090401
+packetLen(0x013f, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x013f, 29)
+#elif PACKETVER >= 20090318
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x013f, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x013f, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x013f, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x013f, 53)
+#elif PACKETVER >= 20090129
+packetLen(0x013f, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x013f, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x013f, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x013f, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0140
+#if PACKETVER >= 20090406
+packetLen(0x0140, 22)
+#elif PACKETVER >= 20090318
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0140, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0140, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0140, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0140, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0140, -1)
+#endif
+
+// Packet: 0x0141
+#if PACKETVER >= 20090406
+packetLen(0x0141, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0141, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0141, 17)
+#elif PACKETVER >= 20090218
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0141, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0141, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0141, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0141, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0142
+#if PACKETVER >= 20090406
+packetLen(0x0142, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0142, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0142, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0142, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0142, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0142, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x0142, -1)
+#endif
+
+// Packet: 0x0143
+#if PACKETVER >= 20090406
+packetLen(0x0143, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x0143, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0143, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x0143, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0143, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x0143, -1)
+#endif
+
+// Packet: 0x0144
+#if PACKETVER >= 20090406
+packetLen(0x0144, 23)
+#elif PACKETVER >= 20090218
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0144, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0144, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0144, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0144, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0144, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+#if PACKETVER >= 20090406
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0146, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0146, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0146, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0146, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0146, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0147
+#if PACKETVER >= 20090406
+packetLen(0x0147, 39)
+#elif PACKETVER >= 20090401
+packetLen(0x0147, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0147, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0147, 114)
+#elif PACKETVER >= 20090129
+packetLen(0x0147, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0147, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0147, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0148
+#if PACKETVER >= 20090406
+packetLen(0x0148, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0148, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0148, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0148, 22)
+#elif PACKETVER >= 20090204
+packetLen(0x0148, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x0148, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0148, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0149
+#if PACKETVER >= 20090406
+packetLen(0x0149, 9)
+#elif PACKETVER >= 20090401
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0149, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0149, 22)
+#elif PACKETVER >= 20090311
+packetLen(0x0149, 29)
+#elif PACKETVER >= 20090225
+packetLen(0x0149, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0149, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0149, -1)
+#endif
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+#if PACKETVER >= 20090406
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x014c, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x014c, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x014c, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x014c, 57)
+#elif PACKETVER >= 20090204
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x014c, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x014c, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x014c, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x014c, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x014d
+#if PACKETVER >= 20090406
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x014d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x014d, 39)
+#elif PACKETVER >= 20090218
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x014d, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x014d, 13)
+#elif PACKETVER >= 20090129
+packetLen(0x014d, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x014d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x014d, 282)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+#if PACKETVER >= 20090406
+packetLen(0x014f, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x014f, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x014f, 16)
+#elif PACKETVER >= 20090318
+packetLen(0x014f, 58)
+#elif PACKETVER >= 20090311
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x014f, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x014f, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x014f, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x014f, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x014f, 182)
+#elif PACKETVER >= 20090107
+packetLen(0x014f, -1)
+#endif
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+#if PACKETVER >= 20090318
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0154, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0154, 17)
+#elif PACKETVER >= 20090218
+packetLen(0x0154, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0154, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0154, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0154, 21)
+#elif PACKETVER >= 20090107
+packetLen(0x0154, -1)
+#endif
+
+// Packet: 0x0155
+#if PACKETVER >= 20090318
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0155, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0155, 12)
+#elif PACKETVER >= 20090204
+packetLen(0x0155, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x0155, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0155, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0158
+packetLen(0x0158, -1)
+
+// Packet: 0x0159
+#if PACKETVER >= 20090406
+packetLen(0x0159, 54)
+#elif PACKETVER >= 20090401
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0159, 34)
+#elif PACKETVER >= 20090318
+packetLen(0x0159, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0159, 18)
+#elif PACKETVER >= 20090218
+packetLen(0x0159, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0159, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0159, -1)
+#endif
+
+// Packet: 0x015a
+#if PACKETVER >= 20090406
+packetLen(0x015a, 66)
+#elif PACKETVER >= 20090401
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x015a, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x015a, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x015a, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x015a, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x015a, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x015a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x015a, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x015a, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x015b
+#if PACKETVER >= 20090406
+packetLen(0x015b, 54)
+#elif PACKETVER >= 20090401
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x015b, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x015b, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x015b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x015b, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x015b, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x015c
+#if PACKETVER >= 20090406
+packetLen(0x015c, 90)
+#elif PACKETVER >= 20090401
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x015c, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x015c, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x015c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x015c, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+#if PACKETVER >= 20090406
+packetLen(0x015e, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x015e, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x015e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x015e, 21)
+#elif PACKETVER >= 20090218
+packetLen(0x015e, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x015e, -1)
+#endif
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+#if PACKETVER >= 20090406
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0160, 17)
+#elif PACKETVER >= 20090325
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0160, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0160, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0160, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0160, 37)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0161
+#if PACKETVER >= 20090406
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0161, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0161, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x0161, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0161, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0161, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0161, 54)
+#elif PACKETVER >= 20090120
+packetLen(0x0161, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0161, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0161, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0162
+#if PACKETVER >= 20090406
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0162, 54)
+#elif PACKETVER >= 20090225
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0162, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0162, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0162, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0162, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0163
+#if PACKETVER >= 20090401
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0163, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0163, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0163, 27)
+#elif PACKETVER >= 20090211
+packetLen(0x0163, 22)
+#elif PACKETVER >= 20090204
+packetLen(0x0163, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0163, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0163, -1)
+#endif
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+#if PACKETVER >= 20090406
+packetLen(0x0165, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x0165, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0165, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x0165, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0165, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0165, -1)
+#endif
+
+// Packet: 0x0166
+#if PACKETVER >= 20090401
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x0166, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0166, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0166, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0166, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0166, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0166, -1)
+#endif
+
+// Packet: 0x0167
+#if PACKETVER >= 20090406
+packetLen(0x0167, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x0167, 53)
+#elif PACKETVER >= 20090325
+packetLen(0x0167, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0167, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x0167, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0167, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0167, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0167, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0167, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0168
+#if PACKETVER >= 20090406
+packetLen(0x0168, 14)
+#elif PACKETVER >= 20090401
+packetLen(0x0168, 23)
+#elif PACKETVER >= 20090204
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0168, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x0168, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0168, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0169
+#if PACKETVER >= 20090406
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20090401
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0169, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x0169, 29)
+#elif PACKETVER >= 20090311
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0169, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0169, 17)
+#elif PACKETVER >= 20090204
+packetLen(0x0169, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0169, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x0169, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0169, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x016a
+#if PACKETVER >= 20090406
+packetLen(0x016a, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x016a, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x016a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x016a, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x016a, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x016a, 34)
+#elif PACKETVER >= 20090107
+packetLen(0x016a, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016b
+#if PACKETVER >= 20090406
+packetLen(0x016b, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x016b, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x016b, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x016b, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x016b, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x016b, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x016b, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x016b, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016c
+#if PACKETVER >= 20090406
+packetLen(0x016c, 43)
+#elif PACKETVER >= 20090225
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x016c, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x016c, 16)
+#elif PACKETVER >= 20090114
+packetLen(0x016c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x016c, 53)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x016d
+#if PACKETVER >= 20090406
+packetLen(0x016d, 14)
+#elif PACKETVER >= 20090401
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x016d, 9)
+#elif PACKETVER >= 20090318
+packetLen(0x016d, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x016d, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x016d, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x016d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x016d, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016e
+#if PACKETVER >= 20090406
+packetLen(0x016e, 186)
+#elif PACKETVER >= 20090311
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x016e, 186)
+#elif PACKETVER >= 20090218
+packetLen(0x016e, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x016e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x016e, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x016e, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x016e, 97)
+#elif PACKETVER >= 20090107
+packetLen(0x016e, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x016f
+#if PACKETVER >= 20090406
+packetLen(0x016f, 182)
+#elif PACKETVER >= 20090401
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x016f, 67)
+#elif PACKETVER >= 20090318
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x016f, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x016f, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x016f, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x016f, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x016f, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x016f, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x016f, -1)
+#endif
+
+// Packet: 0x0170
+#if PACKETVER >= 20090406
+packetLen(0x0170, 14)
+#elif PACKETVER >= 20090401
+packetLen(0x0170, 36)
+#elif PACKETVER >= 20090318
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0170, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0170, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0170, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0170, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0170, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0170, 79)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0171
+#if PACKETVER >= 20090406
+packetLen(0x0171, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x0171, 67)
+#elif PACKETVER >= 20090325
+packetLen(0x0171, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0171, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0171, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0171, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0171, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0171, 43)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0172
+#if PACKETVER >= 20090406
+packetLen(0x0172, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0172, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x0172, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0172, 55)
+#elif PACKETVER >= 20090211
+packetLen(0x0172, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x0172, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0172, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0172, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0172, -1)
+#endif
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+#if PACKETVER >= 20090406
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0177, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0177, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0177, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0177, 22)
+#elif PACKETVER >= 20090120
+packetLen(0x0177, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0177, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0177, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0178
+#if PACKETVER >= 20090406
+packetLen(0x0178, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0178, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0178, 68)
+#elif PACKETVER >= 20090120
+packetLen(0x0178, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0178, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0178, -1)
+#endif
+
+// Packet: 0x0179
+#if PACKETVER >= 20090406
+packetLen(0x0179, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x0179, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0179, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0179, 32)
+#elif PACKETVER >= 20090225
+packetLen(0x0179, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0179, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0179, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0179, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x0179, 53)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x017a
+#if PACKETVER >= 20090406
+packetLen(0x017a, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x017a, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x017a, 29)
+#elif PACKETVER >= 20090129
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x017a, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x017a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x017a, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x017b
+#if PACKETVER >= 20090401
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x017b, 13)
+#elif PACKETVER >= 20090225
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x017b, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x017b, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x017b, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x017b, 17)
+#elif PACKETVER >= 20090114
+packetLen(0x017b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x017b, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x017c
+#if PACKETVER >= 20090406
+packetLen(0x017c, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x017c, 282)
+#elif PACKETVER >= 20090311
+packetLen(0x017c, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x017c, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x017c, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x017c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x017c, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x017d
+#if PACKETVER >= 20090406
+packetLen(0x017d, 7)
+#elif PACKETVER >= 20090401
+packetLen(0x017d, 53)
+#elif PACKETVER >= 20090325
+packetLen(0x017d, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x017d, 28)
+#elif PACKETVER >= 20090311
+packetLen(0x017d, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x017d, 31)
+#elif PACKETVER >= 20090218
+packetLen(0x017d, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x017d, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x017d, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x017d, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x017e
+#if PACKETVER >= 20090325
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x017e, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x017e, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x017e, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x017e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x017e, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x017e, 186)
+#elif PACKETVER >= 20090114
+packetLen(0x017e, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x017e, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x017f
+#if PACKETVER >= 20090311
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x017f, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x017f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x017f, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x017f, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x0188, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0188, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0188, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x0188, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0188, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0189
+#if PACKETVER >= 20090406
+packetLen(0x0189, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0189, 90)
+#elif PACKETVER >= 20090204
+packetLen(0x0189, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0189, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x0189, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0189, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0189, -1)
+#endif
+
+// Packet: 0x018a
+#if PACKETVER >= 20090406
+packetLen(0x018a, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x018a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x018a, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x018a, 71)
+#elif PACKETVER >= 20090204
+packetLen(0x018a, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x018a, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x018a, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x018a, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x018b
+#if PACKETVER >= 20090401
+packetLen(0x018b, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x018b, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x018b, 21)
+#elif PACKETVER >= 20090129
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x018b, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x018b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x018b, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x018c
+#if PACKETVER >= 20090406
+packetLen(0x018c, 29)
+#elif PACKETVER >= 20090401
+packetLen(0x018c, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x018c, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x018c, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x018c, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x018c, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x018c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x018c, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x018d
+#if PACKETVER >= 20090401
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x018d, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x018d, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x018d, 28)
+#elif PACKETVER >= 20090204
+packetLen(0x018d, 18)
+#elif PACKETVER >= 20090129
+packetLen(0x018d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x018d, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x018d, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x018d, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x018e
+#if PACKETVER >= 20090406
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x018e, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x018e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x018e, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x018e, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x018e, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x018e, -1)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20090406
+packetLen(0x018f, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x018f, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x018f, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x018f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x018f, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x018f, -1)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+#if PACKETVER >= 20090406
+packetLen(0x0194, 30)
+#elif PACKETVER >= 20090401
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0194, 28)
+#elif PACKETVER >= 20090318
+packetLen(0x0194, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0194, 54)
+#elif PACKETVER >= 20090225
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0194, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0194, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0194, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0194, 12)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0195
+#if PACKETVER >= 20090406
+packetLen(0x0195, 102)
+#elif PACKETVER >= 20090401
+packetLen(0x0195, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0195, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0195, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0195, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0195, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x0195, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0195, 29)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0196
+#if PACKETVER >= 20090406
+packetLen(0x0196, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0196, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0196, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0196, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0196, -1)
+#endif
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+#if PACKETVER >= 20090406
+packetLen(0x0199, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0199, 67)
+#elif PACKETVER >= 20090218
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0199, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0199, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x0199, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0199, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x0199, -1)
+#endif
+
+// Packet: 0x019a
+#if PACKETVER >= 20090406
+packetLen(0x019a, 14)
+#elif PACKETVER >= 20090401
+packetLen(0x019a, 20)
+#elif PACKETVER >= 20090325
+packetLen(0x019a, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x019a, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x019a, 33)
+#elif PACKETVER >= 20090204
+packetLen(0x019a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x019a, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x019a, 17)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x019b
+#if PACKETVER >= 20090406
+packetLen(0x019b, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x019b, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x019b, 65)
+#elif PACKETVER >= 20090311
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x019b, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x019b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x019b, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x019b, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x019b, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x019b, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x019c
+#if PACKETVER >= 20090406
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x019c, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x019c, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x019c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x019c, 15)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x019d
+#if PACKETVER >= 20090406
+packetLen(0x019d, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x019d, 282)
+#elif PACKETVER >= 20090325
+packetLen(0x019d, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x019d, 13)
+#elif PACKETVER >= 20090311
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x019d, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x019d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x019d, 60)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+#if PACKETVER >= 20090406
+packetLen(0x019f, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x019f, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x019f, 53)
+#elif PACKETVER >= 20090311
+packetLen(0x019f, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x019f, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x019f, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x019f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x019f, 15)
+#elif PACKETVER >= 20090114
+packetLen(0x019f, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x019f, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a0
+#if PACKETVER >= 20090406
+packetLen(0x01a0, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01a0, 79)
+#elif PACKETVER >= 20090114
+packetLen(0x01a0, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01a0, 114)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a1
+#if PACKETVER >= 20090406
+packetLen(0x01a1, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x01a1, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01a1, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x01a1, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x01a1, -1)
+#endif
+
+// Packet: 0x01a2
+#if PACKETVER >= 20090406
+packetLen(0x01a2, 37)
+#elif PACKETVER >= 20090401
+packetLen(0x01a2, 21)
+#elif PACKETVER >= 20090325
+packetLen(0x01a2, 31)
+#elif PACKETVER >= 20090225
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01a2, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x01a2, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x01a2, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01a2, 59)
+#elif PACKETVER >= 20090107
+packetLen(0x01a2, -1)
+#endif
+
+// Packet: 0x01a3
+#if PACKETVER >= 20090406
+packetLen(0x01a3, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01a3, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01a3, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x01a3, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01a3, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x01a3, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x01a3, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a4
+#if PACKETVER >= 20090406
+packetLen(0x01a4, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x01a4, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01a4, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01a4, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x01a4, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x01a4, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01a4, 20)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+#if PACKETVER >= 20090401
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01a6, 23)
+#elif PACKETVER >= 20090318
+packetLen(0x01a6, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01a6, 182)
+#elif PACKETVER >= 20090204
+packetLen(0x01a6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01a6, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x01a6, 58)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01a7
+#if PACKETVER >= 20090406
+packetLen(0x01a7, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x01a7, 27)
+#elif PACKETVER >= 20090325
+packetLen(0x01a7, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x01a7, 60)
+#elif PACKETVER >= 20090311
+packetLen(0x01a7, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01a7, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x01a7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01a7, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x01a7, -1)
+#endif
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+#if PACKETVER >= 20090406
+packetLen(0x01aa, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01aa, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x01aa, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01aa, 86)
+#elif PACKETVER >= 20090211
+packetLen(0x01aa, 79)
+#elif PACKETVER >= 20090107
+packetLen(0x01aa, -1)
+#endif
+
+// Packet: 0x01ab
+#if PACKETVER >= 20090406
+packetLen(0x01ab, 12)
+#elif PACKETVER >= 20090401
+packetLen(0x01ab, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01ab, 23)
+#elif PACKETVER >= 20090311
+packetLen(0x01ab, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x01ab, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01ab, 57)
+#elif PACKETVER >= 20090129
+packetLen(0x01ab, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01ab, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x01ab, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ac
+#if PACKETVER >= 20090406
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ac, 28)
+#elif PACKETVER >= 20090318
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01ac, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01ac, 13)
+#elif PACKETVER >= 20090211
+packetLen(0x01ac, 68)
+#elif PACKETVER >= 20090120
+packetLen(0x01ac, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01ac, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x01ac, -1)
+#endif
+
+// Packet: 0x01ad
+#if PACKETVER >= 20090401
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ad, 24)
+#elif PACKETVER >= 20090225
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01ad, 90)
+#elif PACKETVER >= 20090211
+packetLen(0x01ad, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01ad, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x01ad, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x01ad, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x01ad, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x01ad, -1)
+#endif
+
+// Packet: 0x01ae
+#if PACKETVER >= 20090406
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ae, 18)
+#elif PACKETVER >= 20090311
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x01ae, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x01ae, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01ae, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x01ae, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+#if PACKETVER >= 20090406
+packetLen(0x01b0, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x01b0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01b0, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x01b0, -1)
+#endif
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+#if PACKETVER >= 20090406
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x01b2, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x01b2, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x01b2, 44)
+#elif PACKETVER >= 20090225
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01b2, 58)
+#elif PACKETVER >= 20090204
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01b2, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x01b2, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01b2, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x01b2, -1)
+#endif
+
+// Packet: 0x01b3
+#if PACKETVER >= 20090406
+packetLen(0x01b3, 67)
+#elif PACKETVER >= 20090401
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01b3, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x01b3, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01b3, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x01b3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01b3, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+#if PACKETVER >= 20090406
+packetLen(0x01b6, 114)
+#elif PACKETVER >= 20090401
+packetLen(0x01b6, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x01b6, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x01b6, 33)
+#elif PACKETVER >= 20090311
+packetLen(0x01b6, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x01b6, 18)
+#elif PACKETVER >= 20090218
+packetLen(0x01b6, 27)
+#elif PACKETVER >= 20090211
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01b6, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x01b6, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01b6, 13)
+#elif PACKETVER >= 20090107
+packetLen(0x01b6, 16)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+#if PACKETVER >= 20090406
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01b9, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x01b9, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x01b9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01b9, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x01b9, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x01b9, -1)
+#endif
+
+// Packet: 0x01ba
+#if PACKETVER >= 20090406
+packetLen(0x01ba, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01ba, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x01ba, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x01ba, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x01ba, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01ba, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x01ba, 15)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01bb
+#if PACKETVER >= 20090406
+packetLen(0x01bb, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01bb, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x01bb, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x01bb, 12)
+#elif PACKETVER >= 20090129
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01bb, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x01bb, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01bb, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01bc
+#if PACKETVER >= 20090406
+packetLen(0x01bc, 26)
+#elif PACKETVER >= 20090401
+packetLen(0x01bc, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01bc, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01bc, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x01bc, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01bc, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x01bc, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01bd
+#if PACKETVER >= 20090406
+packetLen(0x01bd, 26)
+#elif PACKETVER >= 20090401
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01bd, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01bd, 22)
+#elif PACKETVER >= 20090211
+packetLen(0x01bd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01bd, 65)
+#elif PACKETVER >= 20090129
+packetLen(0x01bd, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x01bd, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20090318
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01c3, 15)
+#elif PACKETVER >= 20090218
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01c3, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x01c3, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01c3, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x01c3, 15)
+#elif PACKETVER >= 20090107
+packetLen(0x01c3, -1)
+#endif
+
+// Packet: 0x01c4
+#if PACKETVER >= 20090406
+packetLen(0x01c4, 22)
+#elif PACKETVER >= 20090401
+packetLen(0x01c4, 81)
+#elif PACKETVER >= 20090325
+packetLen(0x01c4, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x01c4, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x01c4, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01c4, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x01c4, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01c4, 9)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20090406
+packetLen(0x01c5, 22)
+#elif PACKETVER >= 20090401
+packetLen(0x01c5, 32)
+#elif PACKETVER >= 20090325
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01c5, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x01c5, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x01c5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01c5, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x01c5, -1)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20090406
+packetLen(0x01c8, 13)
+#elif PACKETVER >= 20090325
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01c8, 43)
+#elif PACKETVER >= 20090311
+packetLen(0x01c8, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x01c8, 53)
+#elif PACKETVER >= 20090211
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01c8, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x01c8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01c8, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x01c8, -1)
+#endif
+
+// Packet: 0x01c9
+#if PACKETVER >= 20090406
+packetLen(0x01c9, 97)
+#elif PACKETVER >= 20090401
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01c9, 28)
+#elif PACKETVER >= 20090318
+packetLen(0x01c9, 54)
+#elif PACKETVER >= 20090311
+packetLen(0x01c9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x01c9, 282)
+#elif PACKETVER >= 20090211
+packetLen(0x01c9, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x01c9, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x01c9, 102)
+#elif PACKETVER >= 20090120
+packetLen(0x01c9, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x01c9, 79)
+#elif PACKETVER >= 20090107
+packetLen(0x01c9, 32)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+#if PACKETVER >= 20090406
+packetLen(0x01cd, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01cd, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x01cd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01cd, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x01cd, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x01cd, 18)
+#elif PACKETVER >= 20090114
+packetLen(0x01cd, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x01cd, 20)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ce
+#if PACKETVER >= 20090406
+packetLen(0x01ce, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ce, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x01ce, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01ce, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x01ce, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x01ce, -1)
+#endif
+
+// Packet: 0x01cf
+#if PACKETVER >= 20090406
+packetLen(0x01cf, 28)
+#elif PACKETVER >= 20090225
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01cf, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x01cf, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01cf, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01d0
+#if PACKETVER >= 20090406
+packetLen(0x01d0, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x01d0, 23)
+#elif PACKETVER >= 20090325
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01d0, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01d0, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x01d0, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x01d0, 36)
+#elif PACKETVER >= 20090129
+packetLen(0x01d0, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x01d0, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01d0, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+#if PACKETVER >= 20090406
+packetLen(0x01d2, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01d2, 54)
+#elif PACKETVER >= 20090318
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01d2, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x01d2, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x01d2, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x01d2, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01d2, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x01d2, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+#if PACKETVER >= 20090406
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01d4, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x01d4, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x01d4, 53)
+#elif PACKETVER >= 20090204
+packetLen(0x01d4, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01d4, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x01d4, -1)
+#endif
+
+// Packet: 0x01d5
+#if PACKETVER >= 20090401
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01d5, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x01d5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01d5, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x01d5, -1)
+#endif
+
+// Packet: 0x01d6
+#if PACKETVER >= 20090406
+packetLen(0x01d6, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x01d6, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x01d6, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x01d6, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x01d6, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01d6, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x01d6, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x01d6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01d6, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d7
+#if PACKETVER >= 20090406
+packetLen(0x01d7, 11)
+#elif PACKETVER >= 20090401
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01d7, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x01d7, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x01d7, 59)
+#elif PACKETVER >= 20090204
+packetLen(0x01d7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01d7, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x01d7, 114)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20090406
+packetLen(0x01d8, 54)
+#elif PACKETVER >= 20090401
+packetLen(0x01d8, 19)
+#elif PACKETVER >= 20090325
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01d8, 57)
+#elif PACKETVER >= 20090129
+packetLen(0x01d8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01d8, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x01d8, 39)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20090406
+packetLen(0x01d9, 53)
+#elif PACKETVER >= 20090325
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01d9, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x01d9, 31)
+#elif PACKETVER >= 20090218
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01d9, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x01d9, 22)
+#elif PACKETVER >= 20090129
+packetLen(0x01d9, 37)
+#elif PACKETVER >= 20090120
+packetLen(0x01d9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01d9, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x01d9, 28)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20090406
+packetLen(0x01da, 60)
+#elif PACKETVER >= 20090401
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01da, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x01da, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01da, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x01da, 22)
+#elif PACKETVER >= 20090114
+packetLen(0x01da, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x01da, -1)
+#endif
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+#if PACKETVER >= 20090406
+packetLen(0x01de, 33)
+#elif PACKETVER >= 20090401
+packetLen(0x01de, 18)
+#elif PACKETVER >= 20090318
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01de, 67)
+#elif PACKETVER >= 20090225
+packetLen(0x01de, 59)
+#elif PACKETVER >= 20090218
+packetLen(0x01de, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01de, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x01de, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01de, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x01de, -1)
+#endif
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+#if PACKETVER >= 20090406
+packetLen(0x01e1, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01e1, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01e1, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x01e1, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01e1, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x01e1, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x01e1, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x01e7, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x01e7, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01e7, 86)
+#elif PACKETVER >= 20090311
+packetLen(0x01e7, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x01e7, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01e7, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01e7, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x01e7, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01e7, 15)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01e8
+#if PACKETVER >= 20090406
+packetLen(0x01e8, 28)
+#elif PACKETVER >= 20090401
+packetLen(0x01e8, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x01e8, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01e8, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x01e8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01e8, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x01e8, -1)
+#endif
+
+// Packet: 0x01e9
+#if PACKETVER >= 20090406
+packetLen(0x01e9, 81)
+#elif PACKETVER >= 20090325
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01e9, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x01e9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01e9, 79)
+#elif PACKETVER >= 20090129
+packetLen(0x01e9, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x01e9, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x01e9, 55)
+#elif PACKETVER >= 20090107
+packetLen(0x01e9, 17)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01ea
+#if PACKETVER >= 20090406
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ea, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x01ea, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x01ea, 59)
+#elif PACKETVER >= 20090225
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01ea, 66)
+#elif PACKETVER >= 20090211
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01ea, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01ea, 90)
+#elif PACKETVER >= 20090114
+packetLen(0x01ea, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01ea, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01eb
+#if PACKETVER >= 20090406
+packetLen(0x01eb, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x01eb, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x01eb, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01eb, 33)
+#elif PACKETVER >= 20090211
+packetLen(0x01eb, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01eb, 23)
+#elif PACKETVER >= 20090120
+packetLen(0x01eb, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01eb, 59)
+#elif PACKETVER >= 20090107
+packetLen(0x01eb, -1)
+#endif
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+#if PACKETVER >= 20090406
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ed, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x01ed, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01ed, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x01ed, 67)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ee
+#if PACKETVER >= 20090401
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01ee, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x01ee, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01ee, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x01ee, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01ee, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x01ee, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x01ee, -1)
+#endif
+
+// Packet: 0x01ef
+#if PACKETVER >= 20090325
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01ef, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x01ef, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01ef, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x01ef, 18)
+#elif PACKETVER >= 20090129
+packetLen(0x01ef, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01ef, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x01ef, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x01ef, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01f0
+#if PACKETVER >= 20090401
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01f0, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x01f0, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x01f0, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x01f0, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x01f0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x01f0, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+#if PACKETVER >= 20090406
+packetLen(0x01f2, 20)
+#elif PACKETVER >= 20090325
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01f2, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x01f2, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01f2, 18)
+#elif PACKETVER >= 20090211
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01f2, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x01f2, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01f2, 12)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+#if PACKETVER >= 20090406
+packetLen(0x01f4, 32)
+#elif PACKETVER >= 20090401
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01f4, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01f4, 20)
+#elif PACKETVER >= 20090225
+packetLen(0x01f4, 37)
+#elif PACKETVER >= 20090120
+packetLen(0x01f4, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01f4, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x01f4, 12)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01f5
+#if PACKETVER >= 20090406
+packetLen(0x01f5, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x01f5, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x01f5, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x01f5, 54)
+#elif PACKETVER >= 20090129
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x01f5, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x01f5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01f5, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// 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
+#if PACKETVER >= 20090325
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x01fc, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x01fc, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x01fc, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x01fc, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x01fc, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01fd
+#if PACKETVER >= 20090406
+packetLen(0x01fd, 15)
+#elif PACKETVER >= 20090401
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x01fd, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x01fd, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x01fd, 29)
+#elif PACKETVER >= 20090218
+packetLen(0x01fd, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x01fd, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01fd, 53)
+#elif PACKETVER >= 20090107
+packetLen(0x01fd, -1)
+#endif
+
+// Packet: 0x01fe
+#if PACKETVER >= 20090406
+packetLen(0x01fe, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x01fe, 28)
+#elif PACKETVER >= 20090325
+packetLen(0x01fe, 44)
+#elif PACKETVER >= 20090120
+packetLen(0x01fe, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x01fe, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x01fe, 15)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+#if PACKETVER >= 20090406
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0201, 58)
+#elif PACKETVER >= 20090225
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0201, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0201, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0201, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0201, -1)
+#endif
+
+// Packet: 0x0202
+#if PACKETVER >= 20090406
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20090401
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0202, 27)
+#elif PACKETVER >= 20090204
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0202, 13)
+#elif PACKETVER >= 20090114
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0202, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0203
+#if PACKETVER >= 20090406
+packetLen(0x0203, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x0203, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x0203, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0203, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0203, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0203, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0203, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x0203, 67)
+#elif PACKETVER >= 20090129
+packetLen(0x0203, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0203, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0203, -1)
+#endif
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20090406
+packetLen(0x0206, 11)
+#elif PACKETVER >= 20090401
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0206, 18)
+#elif PACKETVER >= 20090318
+packetLen(0x0206, 71)
+#elif PACKETVER >= 20090311
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0206, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x0206, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0206, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x0206, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0206, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0206, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0207
+#if PACKETVER >= 20090406
+packetLen(0x0207, 34)
+#elif PACKETVER >= 20090401
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0207, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0207, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x0207, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0207, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x0207, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x0207, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0207, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x0207, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0207, -1)
+#endif
+
+// Packet: 0x0208
+#if PACKETVER >= 20090406
+packetLen(0x0208, 14)
+#elif PACKETVER >= 20090401
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0208, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0208, 31)
+#elif PACKETVER >= 20090311
+packetLen(0x0208, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0208, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0208, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0208, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0208, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0208, -1)
+#endif
+
+// Packet: 0x0209
+#if PACKETVER >= 20090406
+packetLen(0x0209, 36)
+#elif PACKETVER >= 20090401
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0209, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0209, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x0209, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0209, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0209, 86)
+#elif PACKETVER >= 20090120
+packetLen(0x0209, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0209, -1)
+#endif
+
+// Packet: 0x020a
+#if PACKETVER >= 20090406
+packetLen(0x020a, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x020a, 31)
+#elif PACKETVER >= 20090311
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x020a, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x020a, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x020a, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x020a, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x020a, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+#if PACKETVER >= 20090406
+packetLen(0x020e, 32)
+#elif PACKETVER >= 20090318
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x020e, 12)
+#elif PACKETVER >= 20090225
+packetLen(0x020e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x020e, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x020e, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x020e, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x020e, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x020e, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x0217, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x0217, 102)
+#elif PACKETVER >= 20090325
+packetLen(0x0217, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0217, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x0217, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0217, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x0217, 24)
+#elif PACKETVER >= 20090129
+packetLen(0x0217, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0217, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0217, 44)
+#elif PACKETVER >= 20090107
+packetLen(0x0217, -1)
+#endif
+
+// Packet: 0x0218
+#if PACKETVER >= 20090406
+packetLen(0x0218, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0218, 28)
+#elif PACKETVER >= 20090225
+packetLen(0x0218, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0218, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x0218, 66)
+#elif PACKETVER >= 20090204
+packetLen(0x0218, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0218, -1)
+#endif
+
+// Packet: 0x0219
+#if PACKETVER >= 20090406
+packetLen(0x0219, 282)
+#elif PACKETVER >= 20090311
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0219, 28)
+#elif PACKETVER >= 20090218
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0219, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0219, 58)
+#elif PACKETVER >= 20090120
+packetLen(0x0219, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0219, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0219, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x021a
+#if PACKETVER >= 20090406
+packetLen(0x021a, 282)
+#elif PACKETVER >= 20090325
+packetLen(0x021a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x021a, 23)
+#elif PACKETVER >= 20090107
+packetLen(0x021a, -1)
+#endif
+
+// Packet: 0x021b
+#if PACKETVER >= 20090406
+packetLen(0x021b, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x021b, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x021b, 15)
+#elif PACKETVER >= 20090204
+packetLen(0x021b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x021b, 55)
+#elif PACKETVER >= 20090107
+packetLen(0x021b, 28)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x021c
+#if PACKETVER >= 20090406
+packetLen(0x021c, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x021c, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x021c, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x021c, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x021c, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x021c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x021c, 79)
+#elif PACKETVER >= 20090107
+packetLen(0x021c, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0224
+#if PACKETVER >= 20090406
+packetLen(0x0224, 10)
+#elif PACKETVER >= 20090401
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0224, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x0224, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0224, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0224, 19)
+#elif PACKETVER >= 20090211
+packetLen(0x0224, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0224, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0224, 16)
+#elif PACKETVER >= 20090120
+packetLen(0x0224, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0224, 60)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0225
+#if PACKETVER >= 20090406
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20090401
+packetLen(0x0225, 66)
+#elif PACKETVER >= 20090325
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0225, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0225, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0225, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0225, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0225, 44)
+#elif PACKETVER >= 20090107
+packetLen(0x0225, -1)
+#endif
+
+// Packet: 0x0226
+#if PACKETVER >= 20090406
+packetLen(0x0226, 282)
+#elif PACKETVER >= 20090401
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0226, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0226, 53)
+#elif PACKETVER >= 20090311
+packetLen(0x0226, 55)
+#elif PACKETVER >= 20090218
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0226, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0226, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0226, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0226, 102)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0227
+#if PACKETVER >= 20090406
+packetLen(0x0227, 18)
+#elif PACKETVER >= 20090401
+packetLen(0x0227, 22)
+#elif PACKETVER >= 20090311
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0227, 86)
+#elif PACKETVER >= 20090218
+packetLen(0x0227, 17)
+#elif PACKETVER >= 20090211
+packetLen(0x0227, 20)
+#elif PACKETVER >= 20090204
+packetLen(0x0227, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0227, 29)
+#elif PACKETVER >= 20090114
+packetLen(0x0227, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0227, 9)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+#if PACKETVER >= 20090406
+packetLen(0x0229, 15)
+#elif PACKETVER >= 20090401
+packetLen(0x0229, 33)
+#elif PACKETVER >= 20090325
+packetLen(0x0229, 39)
+#elif PACKETVER >= 20090318
+packetLen(0x0229, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x0229, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0229, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0229, -1)
+#endif
+
+// Packet: 0x022a
+#if PACKETVER >= 20090406
+packetLen(0x022a, 58)
+#elif PACKETVER >= 20090401
+packetLen(0x022a, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x022a, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x022a, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x022a, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x022a, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x022a, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x022a, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x022a, 282)
+#elif PACKETVER >= 20090114
+packetLen(0x022a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x022a, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20090406
+packetLen(0x022b, 57)
+#elif PACKETVER >= 20090401
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x022b, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x022b, 12)
+#elif PACKETVER >= 20090211
+packetLen(0x022b, 16)
+#elif PACKETVER >= 20090129
+packetLen(0x022b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x022b, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x022b, -1)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20090406
+packetLen(0x022c, 65)
+#elif PACKETVER >= 20090401
+packetLen(0x022c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x022c, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x022c, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x022c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x022c, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20090406
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x022d, 27)
+#elif PACKETVER >= 20090325
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20090318
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x022d, 28)
+#elif PACKETVER >= 20090225
+packetLen(0x022d, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x022d, 67)
+#elif PACKETVER >= 20090211
+packetLen(0x022d, 31)
+#elif PACKETVER >= 20090204
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x022d, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20090406
+packetLen(0x022e, 71)
+#elif PACKETVER >= 20090401
+packetLen(0x022e, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x022e, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x022e, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x022e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x022e, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x022e, 186)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20090406
+packetLen(0x022f, 5)
+#elif PACKETVER >= 20090401
+packetLen(0x022f, 17)
+#elif PACKETVER >= 20090325
+packetLen(0x022f, 39)
+#elif PACKETVER >= 20090318
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x022f, 23)
+#elif PACKETVER >= 20090225
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x022f, 12)
+#elif PACKETVER >= 20090211
+packetLen(0x022f, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x022f, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x022f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x022f, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0230
+#if PACKETVER >= 20090406
+packetLen(0x0230, 12)
+#elif PACKETVER >= 20090311
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0230, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0230, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0230, 15)
+#elif PACKETVER >= 20090129
+packetLen(0x0230, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0230, 15)
+#elif PACKETVER >= 20090114
+packetLen(0x0230, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0230, -1)
+#endif
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+#if PACKETVER >= 20090406
+packetLen(0x0232, 9)
+#elif PACKETVER >= 20090325
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0232, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0232, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0232, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0232, 3)
+#endif
+
+// Packet: 0x0233
+#if PACKETVER >= 20090406
+packetLen(0x0233, 11)
+#elif PACKETVER >= 20090401
+packetLen(0x0233, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0233, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0233, 60)
+#elif PACKETVER >= 20090218
+packetLen(0x0233, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0233, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0233, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0233, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0234
+#if PACKETVER >= 20090406
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20090401
+packetLen(0x0234, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0234, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x0234, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0234, 16)
+#elif PACKETVER >= 20090129
+packetLen(0x0234, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0234, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0234, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0235
+#if PACKETVER >= 20090311
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0235, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0235, 79)
+#elif PACKETVER >= 20090211
+packetLen(0x0235, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0235, 21)
+#elif PACKETVER >= 20090107
+packetLen(0x0235, -1)
+#endif
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+#if PACKETVER >= 20090401
+packetLen(0x0237, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0237, 43)
+#elif PACKETVER >= 20090211
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0237, 19)
+#elif PACKETVER >= 20090129
+packetLen(0x0237, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0237, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0237, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0237, -1)
+#endif
+
+// Packet: 0x0238
+#if PACKETVER >= 20090406
+packetLen(0x0238, 282)
+#elif PACKETVER >= 20090401
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0238, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0238, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0238, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0238, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0238, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x0238, 22)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0239
+#if PACKETVER >= 20090406
+packetLen(0x0239, 11)
+#elif PACKETVER >= 20090401
+packetLen(0x0239, 12)
+#elif PACKETVER >= 20090325
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0239, 97)
+#elif PACKETVER >= 20090218
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0239, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0239, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0239, 66)
+#elif PACKETVER >= 20090120
+packetLen(0x0239, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0239, 71)
+#elif PACKETVER >= 20090107
+packetLen(0x0239, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x023a
+#if PACKETVER >= 20090406
+packetLen(0x023a, 4)
+#elif PACKETVER >= 20090401
+packetLen(0x023a, 15)
+#elif PACKETVER >= 20090318
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x023a, 79)
+#elif PACKETVER >= 20090225
+packetLen(0x023a, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x023a, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x023a, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x023a, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x023a, 90)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+#if PACKETVER >= 20090406
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x023c, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x023c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x023c, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x023c, -1)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x0274, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x0274, 15)
+#elif PACKETVER >= 20090311
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0274, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0274, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0274, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0274, -1)
+#endif
+
+// Packet: 0x0275
+#if PACKETVER >= 20090701
+packetLen(0x0275, 37)
+#endif
+
+// Packet: 0x0276
+#if PACKETVER >= 20090701
+packetLen(0x0276, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0287, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0287, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0287, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0287, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0287, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0287, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0287, 29)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0288
+packetLen(0x0288, 10)
+
+// 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
+#if PACKETVER >= 20090318
+packetLen(0x0295, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0295, 81)
+#elif PACKETVER >= 20090225
+packetLen(0x0295, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x0295, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0295, -1)
+#endif
+
+// Packet: 0x0296
+#if PACKETVER >= 20090406
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0296, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0296, 36)
+#elif PACKETVER >= 20090204
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0296, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0296, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0296, -1)
+#endif
+
+// Packet: 0x0297
+#if PACKETVER >= 20090211
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0297, 59)
+#elif PACKETVER >= 20090129
+packetLen(0x0297, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0297, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x0297, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0298
+packetLen(0x0298, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+#if PACKETVER >= 20090406
+packetLen(0x029a, 27)
+#elif PACKETVER >= 20090401
+packetLen(0x029a, 9)
+#elif PACKETVER >= 20090325
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x029a, 15)
+#elif PACKETVER >= 20090311
+packetLen(0x029a, 32)
+#elif PACKETVER >= 20090218
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x029a, 102)
+#elif PACKETVER >= 20090204
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x029a, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x029a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x029a, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// 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
+#if PACKETVER >= 20090408
+packetLen(0x02a6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x02a6, 404)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20090408
+packetLen(0x02a7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x02a7, 404)
+#endif
+
+// 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, 22)
+
+// 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, 29)
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x02e1, 33)
+#elif PACKETVER >= 20090325
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02e1, 114)
+#elif PACKETVER >= 20090311
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x02e1, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x02e1, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x02e1, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x02e1, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02e1, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x02e1, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x02e1, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// 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
+#if PACKETVER >= 20090406
+packetLen(0x02ec, 67)
+#elif PACKETVER >= 20090318
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x02ec, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x02ec, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02ec, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x02ec, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x02ec, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x02ec, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x02ec, -1)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20090406
+packetLen(0x02ed, 59)
+#elif PACKETVER >= 20090401
+packetLen(0x02ed, 28)
+#elif PACKETVER >= 20090325
+packetLen(0x02ed, 15)
+#elif PACKETVER >= 20090318
+packetLen(0x02ed, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x02ed, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x02ed, 29)
+#elif PACKETVER >= 20090211
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x02ed, 23)
+#elif PACKETVER >= 20090129
+packetLen(0x02ed, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02ed, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x02ed, -1)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20090406
+packetLen(0x02ee, 60)
+#elif PACKETVER >= 20090401
+packetLen(0x02ee, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x02ee, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x02ee, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x02ee, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x02ee, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x02ee, 20)
+#elif PACKETVER >= 20090129
+packetLen(0x02ee, 13)
+#elif PACKETVER >= 20090120
+packetLen(0x02ee, 21)
+#elif PACKETVER >= 20090107
+packetLen(0x02ee, -1)
+#endif
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+#if PACKETVER >= 20090406
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02f3, 58)
+#elif PACKETVER >= 20090318
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x02f3, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x02f3, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02f3, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x02f3, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x02f3, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x02f3, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x02f3, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20090401
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x02f4, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x02f4, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x02f4, 39)
+#elif PACKETVER >= 20090225
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02f4, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x02f4, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x02f4, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x02f4, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02f4, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x02f4, -1)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20090325
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02f5, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x02f5, 60)
+#elif PACKETVER >= 20090225
+packetLen(0x02f5, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x02f5, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x02f5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x02f5, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x02f5, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20090401
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x02f6, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x02f6, 65)
+#elif PACKETVER >= 20090225
+packetLen(0x02f6, 19)
+#elif PACKETVER >= 20090218
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02f6, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x02f6, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x02f6, 18)
+#elif PACKETVER >= 20090114
+packetLen(0x02f6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02f6, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20090406
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02f7, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02f7, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x02f7, 24)
+#elif PACKETVER >= 20090204
+packetLen(0x02f7, 282)
+#elif PACKETVER >= 20090114
+packetLen(0x02f7, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02f7, 22)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20090406
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02f8, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02f8, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x02f8, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x02f8, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x02f8, 15)
+#elif PACKETVER >= 20090129
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02f8, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x02f8, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02f8, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20090318
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x02f9, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x02f9, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x02f9, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x02f9, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x02f9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x02f9, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x02f9, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20090225
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02fa, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x02fa, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x02fa, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02fa, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x02fa, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20090311
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x02fb, 58)
+#elif PACKETVER >= 20090218
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02fb, 42)
+#elif PACKETVER >= 20090204
+packetLen(0x02fb, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x02fb, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x02fb, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x02fb, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20090325
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02fc, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02fc, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x02fc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x02fc, 39)
+#elif PACKETVER >= 20090129
+packetLen(0x02fc, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20090406
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02fd, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02fd, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x02fd, 42)
+#elif PACKETVER >= 20090218
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02fd, 182)
+#elif PACKETVER >= 20090129
+packetLen(0x02fd, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x02fd, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x02fd, 102)
+#elif PACKETVER >= 20090107
+packetLen(0x02fd, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20090325
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x02fe, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x02fe, 19)
+#elif PACKETVER >= 20090218
+packetLen(0x02fe, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x02fe, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x02fe, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x02fe, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20090406
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x02ff, 27)
+#elif PACKETVER >= 20090325
+packetLen(0x02ff, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x02ff, 54)
+#elif PACKETVER >= 20090204
+packetLen(0x02ff, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x02ff, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x02ff, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x02ff, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20090318
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0300, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x0300, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0300, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0300, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0300, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0300, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20090406
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0301, 22)
+#elif PACKETVER >= 20090325
+packetLen(0x0301, 36)
+#elif PACKETVER >= 20090218
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0301, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0301, 28)
+#elif PACKETVER >= 20090120
+packetLen(0x0301, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0301, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0301, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20090325
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0302, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0302, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0302, 81)
+#elif PACKETVER >= 20090114
+packetLen(0x0302, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0302, 55)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20090318
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0303, 53)
+#elif PACKETVER >= 20090211
+packetLen(0x0303, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0303, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0303, 39)
+#elif PACKETVER >= 20090120
+packetLen(0x0303, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x0303, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20090406
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0304, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0304, 29)
+#elif PACKETVER >= 20090318
+packetLen(0x0304, 19)
+#elif PACKETVER >= 20090225
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0304, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0304, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0304, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0304, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20090318
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0305, 16)
+#elif PACKETVER >= 20090120
+packetLen(0x0305, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0305, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0305, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20090406
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0306, 12)
+#elif PACKETVER >= 20090318
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0306, 282)
+#elif PACKETVER >= 20090225
+packetLen(0x0306, 24)
+#elif PACKETVER >= 20090218
+packetLen(0x0306, 33)
+#elif PACKETVER >= 20090120
+packetLen(0x0306, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0306, 42)
+#elif PACKETVER >= 20090107
+packetLen(0x0306, 33)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20090225
+packetLen(0x0307, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0307, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0307, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20090406
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0308, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x0308, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0308, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0308, 53)
+#elif PACKETVER >= 20090211
+packetLen(0x0308, 15)
+#elif PACKETVER >= 20090204
+packetLen(0x0308, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0308, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0308, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20090406
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0309, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0309, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x0309, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0309, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0309, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0309, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x0309, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20090325
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x030a, 9)
+#elif PACKETVER >= 20090311
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x030a, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x030a, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x030a, 182)
+#elif PACKETVER >= 20090129
+packetLen(0x030a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030a, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x030a, 32)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20090325
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x030b, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x030b, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x030b, 43)
+#elif PACKETVER >= 20090211
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x030b, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030b, 19)
+#elif PACKETVER >= 20090114
+packetLen(0x030b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x030b, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20090325
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x030c, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x030c, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x030c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x030c, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20090406
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x030d, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x030d, 67)
+#elif PACKETVER >= 20090218
+packetLen(0x030d, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x030d, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x030d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030d, 33)
+#elif PACKETVER >= 20090114
+packetLen(0x030d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x030d, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20090406
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x030e, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x030e, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x030e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x030e, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x030e, 65)
+#elif PACKETVER >= 20090107
+packetLen(0x030e, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20090401
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x030f, 57)
+#elif PACKETVER >= 20090225
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x030f, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x030f, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x030f, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x030f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x030f, 53)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20090218
+packetLen(0x0310, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0310, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0310, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0310, 15)
+#elif PACKETVER >= 20090114
+packetLen(0x0310, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20090406
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0311, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0311, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0311, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x0311, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0311, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20090325
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0312, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x0312, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0312, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x0312, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0312, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0312, 97)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20090325
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0313, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x0313, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0313, 37)
+#elif PACKETVER >= 20090129
+packetLen(0x0313, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0313, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0313, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20090406
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0314, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0314, 60)
+#elif PACKETVER >= 20090129
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0314, 102)
+#elif PACKETVER >= 20090114
+packetLen(0x0314, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0314, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20090401
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0315, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0315, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0315, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0315, 20)
+#elif PACKETVER >= 20090114
+packetLen(0x0315, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0315, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20090406
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0316, 13)
+#elif PACKETVER >= 20090325
+packetLen(0x0316, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0316, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0316, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0316, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0316, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0316, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0316, 13)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20090406
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0317, 16)
+#elif PACKETVER >= 20090318
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0317, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0317, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x0317, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0317, 21)
+#elif PACKETVER >= 20090120
+packetLen(0x0317, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0317, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20090401
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0318, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0318, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0318, 59)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20090401
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0319, 33)
+#elif PACKETVER >= 20090318
+packetLen(0x0319, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0319, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0319, 60)
+#elif PACKETVER >= 20090218
+packetLen(0x0319, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20090406
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x031a, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x031a, 33)
+#elif PACKETVER >= 20090225
+packetLen(0x031a, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x031a, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x031a, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x031a, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x031a, 23)
+#elif PACKETVER >= 20090107
+packetLen(0x031a, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20090218
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x031b, 19)
+#elif PACKETVER >= 20090129
+packetLen(0x031b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x031b, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x031b, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20090401
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x031c, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x031c, 20)
+#elif PACKETVER >= 20090211
+packetLen(0x031c, 186)
+#elif PACKETVER >= 20090204
+packetLen(0x031c, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x031c, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x031c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x031c, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20090401
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x031d, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x031d, 28)
+#elif PACKETVER >= 20090204
+packetLen(0x031d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x031d, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20090311
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x031e, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x031e, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x031e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x031e, 54)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20090401
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x031f, 114)
+#elif PACKETVER >= 20090318
+packetLen(0x031f, 17)
+#elif PACKETVER >= 20090311
+packetLen(0x031f, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x031f, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x031f, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x031f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x031f, 71)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20090204
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0320, 12)
+#elif PACKETVER >= 20090120
+packetLen(0x0320, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0320, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x0320, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20090401
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0321, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0321, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0321, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0321, 186)
+#elif PACKETVER >= 20090107
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20090401
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0322, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0322, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0322, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0322, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0322, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x0322, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0322, 27)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20090406
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0323, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0323, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0323, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0323, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0323, 12)
+#elif PACKETVER >= 20090120
+packetLen(0x0323, 37)
+#elif PACKETVER >= 20090114
+packetLen(0x0323, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0323, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20090406
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0324, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x0324, 33)
+#elif PACKETVER >= 20090311
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0324, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0324, 12)
+#elif PACKETVER >= 20090204
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0324, 97)
+#elif PACKETVER >= 20090120
+packetLen(0x0324, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0324, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0324, 10)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20090311
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0325, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x0325, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0325, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0325, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x0325, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20090401
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0326, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0326, 17)
+#elif PACKETVER >= 20090204
+packetLen(0x0326, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0326, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0326, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20090406
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0327, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0327, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0327, 9)
+#elif PACKETVER >= 20090129
+packetLen(0x0327, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0327, 13)
+#elif PACKETVER >= 20090107
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20090318
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0328, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0328, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0328, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0328, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0328, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x0328, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0328, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20090406
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0329, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0329, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0329, 54)
+#elif PACKETVER >= 20090218
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0329, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x0329, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0329, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0329, 114)
+#elif PACKETVER >= 20090107
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20090318
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032a, 66)
+#elif PACKETVER >= 20090204
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x032a, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x032a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x032a, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20090406
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x032b, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032b, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x032b, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x032b, 17)
+#elif PACKETVER >= 20090211
+packetLen(0x032b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x032b, 55)
+#elif PACKETVER >= 20090107
+packetLen(0x032b, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20090401
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x032c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032c, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x032c, 58)
+#elif PACKETVER >= 20090211
+packetLen(0x032c, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x032c, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x032c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x032c, 19)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20090401
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x032d, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x032d, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x032d, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x032d, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20090406
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x032e, 68)
+#elif PACKETVER >= 20090318
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x032e, 17)
+#elif PACKETVER >= 20090225
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x032e, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x032e, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x032e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x032e, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20090218
+packetLen(0x032f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x032f, 90)
+#elif PACKETVER >= 20090204
+packetLen(0x032f, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20090318
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0330, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0330, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0330, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0330, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20090318
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0331, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x0331, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0331, 71)
+#elif PACKETVER >= 20090129
+packetLen(0x0331, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20090401
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0332, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0332, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x0332, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0332, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0332, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20090406
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0333, 282)
+#elif PACKETVER >= 20090325
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0333, 102)
+#elif PACKETVER >= 20090311
+packetLen(0x0333, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0333, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0333, 14)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20090406
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0334, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0334, 97)
+#elif PACKETVER >= 20090225
+packetLen(0x0334, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0334, 31)
+#elif PACKETVER >= 20090120
+packetLen(0x0334, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0334, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0334, 27)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20090401
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0335, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0335, 71)
+#elif PACKETVER >= 20090225
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0335, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0335, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0335, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0335, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20090325
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0336, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0336, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0336, 65)
+#elif PACKETVER >= 20090120
+packetLen(0x0336, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0336, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0336, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20090401
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0337, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0337, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0337, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0337, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0337, 27)
+#elif PACKETVER >= 20090107
+packetLen(0x0337, 6)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20090211
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0338, 12)
+#elif PACKETVER >= 20090114
+packetLen(0x0338, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0338, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20090311
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0339, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x0339, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x0339, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0339, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20090401
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x033a, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x033a, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x033a, 39)
+#elif PACKETVER >= 20090204
+packetLen(0x033a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x033a, 114)
+#elif PACKETVER >= 20090120
+packetLen(0x033a, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20090225
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x033b, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x033b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x033b, 17)
+#elif PACKETVER >= 20090120
+packetLen(0x033b, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x033b, 97)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20090401
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x033c, 27)
+#elif PACKETVER >= 20090311
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x033c, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x033c, 282)
+#elif PACKETVER >= 20090129
+packetLen(0x033c, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x033c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x033c, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20090406
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x033d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x033d, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x033d, 39)
+#elif PACKETVER >= 20090311
+packetLen(0x033d, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x033d, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x033d, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x033d, 43)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20090225
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x033e, 114)
+#elif PACKETVER >= 20090204
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x033e, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x033e, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x033e, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x033e, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20090406
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x033f, 42)
+#elif PACKETVER >= 20090311
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x033f, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x033f, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x033f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x033f, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20090406
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0340, 71)
+#elif PACKETVER >= 20090325
+packetLen(0x0340, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0340, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0340, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0340, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0340, 68)
+#elif PACKETVER >= 20090107
+packetLen(0x0340, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20090406
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0341, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0341, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x0341, 39)
+#elif PACKETVER >= 20090218
+packetLen(0x0341, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0341, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0341, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0341, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20090401
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x0342, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0342, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0342, 36)
+#elif PACKETVER >= 20090120
+packetLen(0x0342, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0342, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0342, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20090325
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0343, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0343, 32)
+#elif PACKETVER >= 20090218
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0343, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0343, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0343, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x0343, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0343, 27)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20090401
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0344, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x0344, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x0344, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0344, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0344, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0344, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20090401
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0345, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0345, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0345, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20090406
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0346, 13)
+#elif PACKETVER >= 20090325
+packetLen(0x0346, 59)
+#elif PACKETVER >= 20090318
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0346, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x0346, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0346, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0346, 22)
+#elif PACKETVER >= 20090114
+packetLen(0x0346, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x0346, 13)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20090401
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0347, 11)
+#elif PACKETVER >= 20090318
+packetLen(0x0347, 15)
+#elif PACKETVER >= 20090311
+packetLen(0x0347, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0347, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0347, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x0347, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0347, 23)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20090406
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0348, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0348, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0348, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0348, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0348, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0348, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20090406
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0349, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0349, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0349, 31)
+#elif PACKETVER >= 20090129
+packetLen(0x0349, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0349, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0349, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x0349, 11)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20090406
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x034a, 9)
+#elif PACKETVER >= 20090325
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x034a, 31)
+#elif PACKETVER >= 20090311
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x034a, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x034a, 19)
+#elif PACKETVER >= 20090211
+packetLen(0x034a, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x034a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x034a, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x034a, 36)
+#elif PACKETVER >= 20090107
+packetLen(0x034a, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20090225
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x034b, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x034b, 23)
+#elif PACKETVER >= 20090204
+packetLen(0x034b, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x034b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034b, 54)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20090225
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x034c, 54)
+#elif PACKETVER >= 20090211
+packetLen(0x034c, 28)
+#elif PACKETVER >= 20090204
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x034c, 282)
+#elif PACKETVER >= 20090120
+packetLen(0x034c, 65)
+#elif PACKETVER >= 20090114
+packetLen(0x034c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034c, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20090406
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x034d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x034d, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x034d, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x034d, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x034d, 23)
+#elif PACKETVER >= 20090114
+packetLen(0x034d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x034d, 60)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20090401
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x034e, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x034e, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x034e, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x034e, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034e, 31)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20090406
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x034f, 19)
+#elif PACKETVER >= 20090311
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x034f, 66)
+#elif PACKETVER >= 20090218
+packetLen(0x034f, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x034f, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x034f, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x034f, 27)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20090406
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0350, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x0350, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0350, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0350, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0350, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0350, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20090401
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0351, 12)
+#elif PACKETVER >= 20090311
+packetLen(0x0351, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0351, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0351, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0351, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20090406
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0352, 14)
+#elif PACKETVER >= 20090325
+packetLen(0x0352, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x0352, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0352, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0352, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0352, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0352, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0352, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20090406
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0353, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0353, 54)
+#elif PACKETVER >= 20090218
+packetLen(0x0353, 39)
+#elif PACKETVER >= 20090120
+packetLen(0x0353, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0353, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0353, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20090311
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0354, 23)
+#elif PACKETVER >= 20090218
+packetLen(0x0354, 16)
+#elif PACKETVER >= 20090211
+packetLen(0x0354, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0354, 97)
+#elif PACKETVER >= 20090129
+packetLen(0x0354, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0354, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0354, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x0354, 20)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20090401
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0355, 97)
+#elif PACKETVER >= 20090318
+packetLen(0x0355, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0355, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0355, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0355, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0355, 16)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20090406
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0356, 28)
+#elif PACKETVER >= 20090325
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0356, 37)
+#elif PACKETVER >= 20090311
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0356, 81)
+#elif PACKETVER >= 20090211
+packetLen(0x0356, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0356, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x0356, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0356, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0356, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20090406
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0357, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0357, 20)
+#elif PACKETVER >= 20090225
+packetLen(0x0357, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0357, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0357, 13)
+#elif PACKETVER >= 20090204
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0357, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0357, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0357, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20090325
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0358, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0358, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0358, 32)
+#elif PACKETVER >= 20090120
+packetLen(0x0358, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0358, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x0358, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20090218
+packetLen(0x0359, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0359, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0359, 29)
+#elif PACKETVER >= 20090129
+packetLen(0x0359, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20090406
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x035a, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x035a, 29)
+#elif PACKETVER >= 20090218
+packetLen(0x035a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x035a, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x035a, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x035a, 12)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20090325
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x035b, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x035b, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x035b, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x035b, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x035b, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+#if PACKETVER >= 20090406
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x035f, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x035f, 67)
+#elif PACKETVER >= 20090311
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x035f, -1)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20090401
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0360, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0360, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0360, 29)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20090406
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20090325
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0361, 22)
+#elif PACKETVER >= 20090211
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0361, 86)
+#elif PACKETVER >= 20090120
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0361, -1)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20090318
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0362, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0362, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0362, 15)
+#elif PACKETVER >= 20090107
+packetLen(0x0362, -1)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20090401
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0363, 13)
+#elif PACKETVER >= 20090211
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0363, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0363, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0363, 34)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20090406
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0364, 30)
+#elif PACKETVER >= 20090325
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0364, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x0364, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0364, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0364, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x0364, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x0364, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20090318
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0365, 60)
+#elif PACKETVER >= 20090211
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0365, 54)
+#elif PACKETVER >= 20090120
+packetLen(0x0365, 67)
+#elif PACKETVER >= 20090107
+packetLen(0x0365, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20090406
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0366, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20090406
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0367, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0367, 15)
+#elif PACKETVER >= 20090204
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0367, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x0367, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20090204
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0368, 71)
+#elif PACKETVER >= 20090114
+packetLen(0x0368, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0368, 53)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20090318
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0369, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0369, 19)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20090311
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036a, 44)
+#elif PACKETVER >= 20090218
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x036a, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x036a, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x036a, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x036a, 24)
+#elif PACKETVER >= 20090114
+packetLen(0x036a, 282)
+#elif PACKETVER >= 20090107
+packetLen(0x036a, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20090311
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036b, 9)
+#elif PACKETVER >= 20090218
+packetLen(0x036b, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x036b, 19)
+#elif PACKETVER >= 20090120
+packetLen(0x036b, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x036b, 53)
+#elif PACKETVER >= 20090107
+packetLen(0x036b, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20090401
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x036c, 186)
+#elif PACKETVER >= 20090311
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036c, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x036c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x036c, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x036c, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x036c, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20090406
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x036d, 5)
+#elif PACKETVER >= 20090311
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036d, 18)
+#elif PACKETVER >= 20090218
+packetLen(0x036d, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x036d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x036d, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x036d, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20090406
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x036e, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036e, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x036e, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x036e, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20090325
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x036f, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x036f, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x036f, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x036f, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x036f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x036f, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x036f, 28)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20090406
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0370, 60)
+#elif PACKETVER >= 20090218
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0370, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x0370, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0370, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0370, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20090406
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0371, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0371, 26)
+#elif PACKETVER >= 20090225
+packetLen(0x0371, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0371, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0371, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0371, 86)
+#elif PACKETVER >= 20090107
+packetLen(0x0371, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20090318
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0372, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0372, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0372, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0372, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0372, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20090406
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0373, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0373, 14)
+#elif PACKETVER >= 20090318
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0373, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0373, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0373, 67)
+#elif PACKETVER >= 20090204
+packetLen(0x0373, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0373, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20090406
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0374, 29)
+#elif PACKETVER >= 20090325
+packetLen(0x0374, 68)
+#elif PACKETVER >= 20090318
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0374, 13)
+#elif PACKETVER >= 20090225
+packetLen(0x0374, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0374, 60)
+#elif PACKETVER >= 20090204
+packetLen(0x0374, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0374, 19)
+#elif PACKETVER >= 20090120
+packetLen(0x0374, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0374, 36)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20090129
+packetLen(0x0375, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0375, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0375, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0375, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20090406
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0376, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0376, 60)
+#elif PACKETVER >= 20090204
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0376, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0376, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0376, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x0376, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20090406
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0377, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x0377, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0377, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20090325
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0378, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0378, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0378, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0378, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0378, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20090406
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0379, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0379, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0379, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0379, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0379, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x0379, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0379, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20090401
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x037a, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037a, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x037a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x037a, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x037a, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x037a, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20090318
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037b, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x037b, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x037b, 66)
+#elif PACKETVER >= 20090129
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x037b, 55)
+#elif PACKETVER >= 20090114
+packetLen(0x037b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x037b, 5)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20090406
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x037c, 22)
+#elif PACKETVER >= 20090318
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037c, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x037c, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x037c, 282)
+#elif PACKETVER >= 20090211
+packetLen(0x037c, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x037c, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x037c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x037c, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20090406
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x037d, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x037d, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x037d, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x037d, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x037d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x037d, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x037d, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20090401
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x037e, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x037e, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x037e, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x037e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x037e, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x037e, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20090311
+packetLen(0x037f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x037f, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x037f, 22)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20090406
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0380, 55)
+#elif PACKETVER >= 20090325
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0380, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0380, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0380, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20090406
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0381, 90)
+#elif PACKETVER >= 20090325
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0381, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0381, 16)
+#elif PACKETVER >= 20090204
+packetLen(0x0381, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0381, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0381, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20090325
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0382, 32)
+#elif PACKETVER >= 20090225
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0382, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0382, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0382, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0382, 2)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20090325
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0383, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0383, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x0383, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x0383, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0383, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0383, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20090406
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0384, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0384, 24)
+#elif PACKETVER >= 20090225
+packetLen(0x0384, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0384, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0384, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0384, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x0384, 186)
+#elif PACKETVER >= 20090120
+packetLen(0x0384, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20090325
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0385, 11)
+#elif PACKETVER >= 20090311
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0385, 90)
+#elif PACKETVER >= 20090218
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0385, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x0385, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0385, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0385, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20090406
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x0386, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0386, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0386, 27)
+#elif PACKETVER >= 20090129
+packetLen(0x0386, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0386, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0386, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20090318
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0387, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0387, 54)
+#elif PACKETVER >= 20090218
+packetLen(0x0387, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0387, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0387, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0387, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x0387, 71)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20090318
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0388, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0388, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x0388, 22)
+#elif PACKETVER >= 20090129
+packetLen(0x0388, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0388, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20090406
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0389, 9)
+#elif PACKETVER >= 20090318
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0389, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0389, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0389, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0389, 66)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20090406
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x038a, 9)
+#elif PACKETVER >= 20090318
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x038a, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x038a, 27)
+#elif PACKETVER >= 20090218
+packetLen(0x038a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x038a, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20090401
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x038b, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x038b, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x038b, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x038b, 53)
+#elif PACKETVER >= 20090218
+packetLen(0x038b, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x038b, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x038b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x038b, 114)
+#elif PACKETVER >= 20090114
+packetLen(0x038b, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x038b, 27)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20090114
+packetLen(0x038c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x038c, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20090318
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x038d, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x038d, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x038d, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x038d, 43)
+#elif PACKETVER >= 20090204
+packetLen(0x038d, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x038d, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x038d, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x038d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x038d, 32)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20090401
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x038e, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x038e, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x038e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x038e, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x038e, 17)
+#elif PACKETVER >= 20090107
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20090311
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x038f, 182)
+#elif PACKETVER >= 20090218
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x038f, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x038f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x038f, 9)
+#elif PACKETVER >= 20090114
+packetLen(0x038f, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x038f, 39)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20090318
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0390, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0390, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0390, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0390, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0390, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20090225
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0391, 23)
+#elif PACKETVER >= 20090211
+packetLen(0x0391, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0391, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0391, 11)
+#elif PACKETVER >= 20090120
+packetLen(0x0391, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x0391, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20090318
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0392, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0392, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x0392, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0392, 12)
+#elif PACKETVER >= 20090114
+packetLen(0x0392, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0392, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20090401
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0393, 102)
+#elif PACKETVER >= 20090218
+packetLen(0x0393, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0393, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0393, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0393, 16)
+#elif PACKETVER >= 20090120
+packetLen(0x0393, 12)
+#elif PACKETVER >= 20090107
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20090406
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0394, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x0394, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0394, 32)
+#elif PACKETVER >= 20090107
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20090406
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0395, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0395, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x0395, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0395, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x0395, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x0395, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20090401
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0396, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0396, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0396, 24)
+#elif PACKETVER >= 20090211
+packetLen(0x0396, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0396, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20090401
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0397, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0397, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x0397, 55)
+#elif PACKETVER >= 20090114
+packetLen(0x0397, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0397, 9)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20090401
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0398, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0398, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0398, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0398, 12)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20090406
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0399, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0399, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0399, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x0399, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x0399, 186)
+#elif PACKETVER >= 20090211
+packetLen(0x0399, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0399, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x0399, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0399, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x0399, 9)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20090318
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x039a, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x039a, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x039a, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x039a, 3)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20090325
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x039b, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x039b, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x039b, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x039b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x039b, 90)
+#elif PACKETVER >= 20090129
+packetLen(0x039b, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x039b, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20090406
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x039c, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x039c, 12)
+#elif PACKETVER >= 20090218
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x039c, 39)
+#elif PACKETVER >= 20090204
+packetLen(0x039c, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x039c, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x039c, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x039c, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x039c, 86)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20090406
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039d, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x039d, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x039d, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x039d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x039d, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x039d, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20090406
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039e, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x039e, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x039e, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x039e, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x039e, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20090406
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x039f, 29)
+#elif PACKETVER >= 20090325
+packetLen(0x039f, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x039f, 60)
+#elif PACKETVER >= 20090204
+packetLen(0x039f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x039f, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x039f, 18)
+#elif PACKETVER >= 20090107
+packetLen(0x039f, 30)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20090406
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a0, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03a0, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a0, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x03a0, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a0, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20090406
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a1, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x03a1, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03a1, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a1, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x03a1, 57)
+#elif PACKETVER >= 20090211
+packetLen(0x03a1, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x03a1, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03a1, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a1, 39)
+#elif PACKETVER >= 20090107
+packetLen(0x03a1, 44)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20090401
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03a2, 23)
+#elif PACKETVER >= 20090225
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03a2, 28)
+#elif PACKETVER >= 20090120
+packetLen(0x03a2, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a2, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03a2, 282)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20090401
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03a3, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03a3, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03a3, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03a3, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a3, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03a3, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20090406
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a4, 31)
+#elif PACKETVER >= 20090325
+packetLen(0x03a4, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x03a4, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03a4, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03a4, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03a4, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x03a4, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03a4, 44)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20090325
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03a5, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a5, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x03a5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03a5, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20090401
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03a6, 15)
+#elif PACKETVER >= 20090225
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03a6, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x03a6, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03a6, 17)
+#elif PACKETVER >= 20090114
+packetLen(0x03a6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03a6, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20090406
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a7, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03a7, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03a7, 13)
+#elif PACKETVER >= 20090211
+packetLen(0x03a7, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03a7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03a7, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x03a7, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x03a7, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20090325
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03a8, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x03a8, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03a8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03a8, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x03a8, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x03a8, 26)
+#elif PACKETVER >= 20090120
+packetLen(0x03a8, 86)
+#elif PACKETVER >= 20090114
+packetLen(0x03a8, 19)
+#elif PACKETVER >= 20090107
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20090406
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x03a9, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03a9, 27)
+#elif PACKETVER >= 20090311
+packetLen(0x03a9, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03a9, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03a9, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x03a9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03a9, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03a9, 15)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20090406
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03aa, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03aa, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03aa, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x03aa, 18)
+#elif PACKETVER >= 20090114
+packetLen(0x03aa, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03aa, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20090401
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03ab, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03ab, 9)
+#elif PACKETVER >= 20090225
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ab, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ab, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03ab, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ab, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03ab, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20090325
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ac, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ac, 71)
+#elif PACKETVER >= 20090129
+packetLen(0x03ac, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03ac, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x03ac, 54)
+#elif PACKETVER >= 20090107
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20090325
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ad, 14)
+#elif PACKETVER >= 20090311
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ad, 15)
+#elif PACKETVER >= 20090218
+packetLen(0x03ad, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ad, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20090325
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ae, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03ae, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x03ae, 282)
+#elif PACKETVER >= 20090218
+packetLen(0x03ae, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ae, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20090406
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03af, 5)
+#elif PACKETVER >= 20090325
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03af, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03af, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03af, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03af, 54)
+#elif PACKETVER >= 20090114
+packetLen(0x03af, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03af, 23)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20090406
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b0, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03b0, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03b0, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03b0, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x03b0, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03b0, 26)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20090406
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b1, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03b1, 18)
+#elif PACKETVER >= 20090225
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03b1, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03b1, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b1, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x03b1, 26)
+#elif PACKETVER >= 20090114
+packetLen(0x03b1, 17)
+#elif PACKETVER >= 20090107
+packetLen(0x03b1, 22)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20090311
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03b2, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03b2, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03b2, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x03b2, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20090406
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b3, 79)
+#elif PACKETVER >= 20090325
+packetLen(0x03b3, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03b3, 53)
+#elif PACKETVER >= 20090218
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03b3, 31)
+#elif PACKETVER >= 20090114
+packetLen(0x03b3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03b3, 39)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20090406
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b4, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03b4, 31)
+#elif PACKETVER >= 20090211
+packetLen(0x03b4, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03b4, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03b4, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03b4, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20090311
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03b5, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b5, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03b5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03b5, 37)
+#elif PACKETVER >= 20090107
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20090406
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03b6, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03b6, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x03b6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03b6, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03b6, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x03b6, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x03b6, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x03b6, 22)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20090401
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03b7, 31)
+#elif PACKETVER >= 20090311
+packetLen(0x03b7, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03b7, 32)
+#elif PACKETVER >= 20090211
+packetLen(0x03b7, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b7, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x03b7, 4)
+#elif PACKETVER >= 20090114
+packetLen(0x03b7, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03b7, 29)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20090401
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03b8, 17)
+#elif PACKETVER >= 20090318
+packetLen(0x03b8, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03b8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03b8, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03b8, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20090401
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03b9, 26)
+#elif PACKETVER >= 20090318
+packetLen(0x03b9, 58)
+#elif PACKETVER >= 20090218
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03b9, 22)
+#elif PACKETVER >= 20090204
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03b9, 28)
+#elif PACKETVER >= 20090120
+packetLen(0x03b9, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03b9, 20)
+#elif PACKETVER >= 20090107
+packetLen(0x03b9, 18)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20090406
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ba, 12)
+#elif PACKETVER >= 20090325
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ba, 22)
+#elif PACKETVER >= 20090311
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ba, 23)
+#elif PACKETVER >= 20090218
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ba, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x03ba, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x03ba, 42)
+#elif PACKETVER >= 20090114
+packetLen(0x03ba, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03ba, 67)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20090406
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03bb, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03bb, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03bb, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03bb, 34)
+#elif PACKETVER >= 20090107
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20090325
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03bc, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x03bc, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03bc, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x03bc, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03bc, 53)
+#elif PACKETVER >= 20090120
+packetLen(0x03bc, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03bc, 186)
+#elif PACKETVER >= 20090107
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20090401
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03bd, 20)
+#elif PACKETVER >= 20090311
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03bd, 67)
+#elif PACKETVER >= 20090211
+packetLen(0x03bd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03bd, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x03bd, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20090406
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03be, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x03be, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03be, 42)
+#elif PACKETVER >= 20090311
+packetLen(0x03be, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x03be, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03be, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20090406
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03bf, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x03bf, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03bf, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03bf, 12)
+#elif PACKETVER >= 20090211
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03bf, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03bf, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03bf, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03bf, 28)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20090325
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c0, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x03c0, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c0, 102)
+#elif PACKETVER >= 20090204
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03c0, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03c0, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03c0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20090401
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03c1, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x03c1, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x03c1, 13)
+#elif PACKETVER >= 20090225
+packetLen(0x03c1, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c1, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03c1, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x03c1, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x03c1, 18)
+#elif PACKETVER >= 20090107
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20090406
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c2, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x03c2, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c2, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03c2, 55)
+#elif PACKETVER >= 20090204
+packetLen(0x03c2, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03c2, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x03c2, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20090406
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c3, 114)
+#elif PACKETVER >= 20090325
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c3, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x03c3, 18)
+#elif PACKETVER >= 20090225
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c3, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x03c3, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03c3, 3)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20090406
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c4, 39)
+#elif PACKETVER >= 20090325
+packetLen(0x03c4, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03c4, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x03c4, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03c4, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20090325
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c5, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c5, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03c5, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03c5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03c5, 90)
+#elif PACKETVER >= 20090107
+packetLen(0x03c5, 12)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20090406
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c6, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c6, 21)
+#elif PACKETVER >= 20090311
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c6, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03c6, 58)
+#elif PACKETVER >= 20090204
+packetLen(0x03c6, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x03c6, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03c6, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03c6, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20090406
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c7, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c7, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x03c7, 282)
+#elif PACKETVER >= 20090211
+packetLen(0x03c7, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03c7, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03c7, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x03c7, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x03c7, 9)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20090325
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03c8, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x03c8, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03c8, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20090406
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03c9, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03c9, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03c9, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x03c9, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03c9, 30)
+#elif PACKETVER >= 20090129
+packetLen(0x03c9, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03c9, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03c9, 68)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20090406
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ca, 57)
+#elif PACKETVER >= 20090225
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ca, 18)
+#elif PACKETVER >= 20090211
+packetLen(0x03ca, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ca, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x03ca, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ca, 34)
+#elif PACKETVER >= 20090107
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20090225
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03cb, 60)
+#elif PACKETVER >= 20090211
+packetLen(0x03cb, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x03cb, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03cb, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x03cb, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20090401
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03cc, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x03cc, 29)
+#elif PACKETVER >= 20090225
+packetLen(0x03cc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03cc, 11)
+#elif PACKETVER >= 20090211
+packetLen(0x03cc, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20090406
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03cd, 20)
+#elif PACKETVER >= 20090325
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03cd, 66)
+#elif PACKETVER >= 20090311
+packetLen(0x03cd, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03cd, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03cd, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03cd, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20090225
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03ce, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ce, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x03ce, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ce, 22)
+#elif PACKETVER >= 20090107
+packetLen(0x03ce, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20090225
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03cf, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03cf, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03cf, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x03cf, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03cf, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20090406
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d0, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d0, 7)
+#elif PACKETVER >= 20090129
+packetLen(0x03d0, 18)
+#elif PACKETVER >= 20090120
+packetLen(0x03d0, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03d0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03d0, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20090406
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d1, 54)
+#elif PACKETVER >= 20090325
+packetLen(0x03d1, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03d1, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x03d1, 36)
+#elif PACKETVER >= 20090211
+packetLen(0x03d1, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x03d1, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d1, 28)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20090406
+packetLen(0x03d2, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d2, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03d2, 29)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20090401
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03d3, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03d3, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x03d3, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d3, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03d3, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03d3, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20090406
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d4, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03d4, 15)
+#elif PACKETVER >= 20090218
+packetLen(0x03d4, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03d4, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x03d4, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03d4, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03d4, 282)
+#elif PACKETVER >= 20090114
+packetLen(0x03d4, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03d4, 21)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20090325
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03d5, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03d5, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d5, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x03d5, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d5, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20090406
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d6, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03d6, 32)
+#elif PACKETVER >= 20090311
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03d6, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x03d6, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d6, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03d6, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d6, 4)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20090406
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d7, 182)
+#elif PACKETVER >= 20090318
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03d7, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x03d7, 42)
+#elif PACKETVER >= 20090218
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03d7, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03d7, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03d7, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03d7, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03d7, 27)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20090318
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03d8, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03d8, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03d8, 32)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20090406
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03d9, 11)
+#elif PACKETVER >= 20090325
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03d9, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03d9, 5)
+#elif PACKETVER >= 20090129
+packetLen(0x03d9, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03d9, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03d9, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20090204
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03da, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x03da, 44)
+#elif PACKETVER >= 20090114
+packetLen(0x03da, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03da, 102)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20090325
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03db, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03db, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03db, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03db, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20090211
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03dc, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x03dc, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03dc, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x03dc, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x03dc, 90)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x03e2
+#if PACKETVER >= 20090401
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e2, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e2, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x03e2, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03e2, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x03e2, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03e2, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03e2, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20090401
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e3, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x03e3, 54)
+#elif PACKETVER >= 20090311
+packetLen(0x03e3, 67)
+#elif PACKETVER >= 20090129
+packetLen(0x03e3, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03e3, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x03e3, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20090401
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e4, 58)
+#elif PACKETVER >= 20090318
+packetLen(0x03e4, 12)
+#elif PACKETVER >= 20090311
+packetLen(0x03e4, 19)
+#elif PACKETVER >= 20090211
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03e4, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03e4, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03e4, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20090211
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03e5, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x03e5, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03e5, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03e5, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20090406
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03e6, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03e6, 54)
+#elif PACKETVER >= 20090318
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03e6, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e6, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03e6, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03e6, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x03e6, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x03e6, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20090225
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03e7, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03e7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03e7, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x03e7, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x03e7, 66)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20090401
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03e8, 14)
+#elif PACKETVER >= 20090318
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03e8, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03e8, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x03e8, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x03e8, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x03e8, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x03e8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03e8, 81)
+#elif PACKETVER >= 20090107
+packetLen(0x03e8, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20090406
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03e9, 10)
+#elif PACKETVER >= 20090325
+packetLen(0x03e9, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03e9, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x03e9, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03e9, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x03e9, 53)
+#elif PACKETVER >= 20090129
+packetLen(0x03e9, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x03e9, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03e9, 58)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20090406
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ea, 44)
+#elif PACKETVER >= 20090325
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ea, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x03ea, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03ea, 97)
+#elif PACKETVER >= 20090107
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20090406
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03eb, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03eb, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03eb, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x03eb, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x03eb, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x03eb, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03eb, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03eb, 39)
+#elif PACKETVER >= 20090107
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20090318
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03ec, 68)
+#elif PACKETVER >= 20090225
+packetLen(0x03ec, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x03ec, 282)
+#elif PACKETVER >= 20090204
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03ec, 34)
+#elif PACKETVER >= 20090114
+packetLen(0x03ec, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03ec, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20090406
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03ed, 32)
+#elif PACKETVER >= 20090325
+packetLen(0x03ed, 186)
+#elif PACKETVER >= 20090311
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ed, 13)
+#elif PACKETVER >= 20090218
+packetLen(0x03ed, 9)
+#elif PACKETVER >= 20090211
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03ed, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03ed, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x03ed, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ed, 33)
+#elif PACKETVER >= 20090107
+packetLen(0x03ed, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20090401
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03ee, 7)
+#elif PACKETVER >= 20090318
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03ee, 39)
+#elif PACKETVER >= 20090225
+packetLen(0x03ee, 43)
+#elif PACKETVER >= 20090211
+packetLen(0x03ee, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03ee, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x03ee, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x03ee, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20090325
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03ef, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03ef, 28)
+#elif PACKETVER >= 20090129
+packetLen(0x03ef, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03ef, 16)
+#elif PACKETVER >= 20090114
+packetLen(0x03ef, 27)
+#elif PACKETVER >= 20090107
+packetLen(0x03ef, 17)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20090406
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f0, 186)
+#elif PACKETVER >= 20090318
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f0, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x03f0, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x03f0, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x03f0, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x03f0, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03f0, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03f0, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x03f0, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20090401
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03f1, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f1, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x03f1, 30)
+#elif PACKETVER >= 20090218
+packetLen(0x03f1, 65)
+#elif PACKETVER >= 20090211
+packetLen(0x03f1, 14)
+#elif PACKETVER >= 20090204
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03f1, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x03f1, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03f1, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20090311
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03f2, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x03f2, 26)
+#elif PACKETVER >= 20090211
+packetLen(0x03f2, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f2, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x03f2, 282)
+#elif PACKETVER >= 20090120
+packetLen(0x03f2, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20090401
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03f3, 2)
+#elif PACKETVER >= 20090318
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f3, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x03f3, 7)
+#elif PACKETVER >= 20090211
+packetLen(0x03f3, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f3, 9)
+#elif PACKETVER >= 20090129
+packetLen(0x03f3, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03f3, 67)
+#elif PACKETVER >= 20090114
+packetLen(0x03f3, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20090406
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f4, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03f4, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x03f4, 32)
+#elif PACKETVER >= 20090129
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03f4, 13)
+#elif PACKETVER >= 20090114
+packetLen(0x03f4, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03f4, 5)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20090318
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f5, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x03f5, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f5, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20090406
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f6, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f6, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f6, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x03f6, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03f6, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x03f6, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x03f6, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20090401
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03f7, 54)
+#elif PACKETVER >= 20090318
+packetLen(0x03f7, 16)
+#elif PACKETVER >= 20090311
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03f7, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f7, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x03f7, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x03f7, 7)
+#elif PACKETVER >= 20090114
+packetLen(0x03f7, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20090406
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03f8, 3)
+#elif PACKETVER >= 20090318
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x03f8, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f8, 17)
+#elif PACKETVER >= 20090129
+packetLen(0x03f8, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03f8, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20090225
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03f9, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x03f9, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03f9, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x03f9, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x03f9, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x03f9, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x03f9, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20090406
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03fa, 282)
+#elif PACKETVER >= 20090325
+packetLen(0x03fa, 90)
+#elif PACKETVER >= 20090318
+packetLen(0x03fa, 33)
+#elif PACKETVER >= 20090311
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x03fa, 71)
+#elif PACKETVER >= 20090218
+packetLen(0x03fa, 5)
+#elif PACKETVER >= 20090211
+packetLen(0x03fa, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03fa, 8)
+#elif PACKETVER >= 20090120
+packetLen(0x03fa, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x03fa, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x03fa, 57)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20090406
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03fb, 19)
+#elif PACKETVER >= 20090325
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x03fb, 60)
+#elif PACKETVER >= 20090311
+packetLen(0x03fb, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03fb, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x03fb, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x03fb, 68)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20090406
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x03fc, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x03fc, 16)
+#elif PACKETVER >= 20090211
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03fc, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x03fc, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03fc, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x03fc, 182)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20090211
+packetLen(0x03fd, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x03fd, 16)
+#elif PACKETVER >= 20090107
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20090204
+packetLen(0x03fe, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x03fe, 22)
+#elif PACKETVER >= 20090114
+packetLen(0x03fe, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20090401
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x03ff, 13)
+#elif PACKETVER >= 20090120
+packetLen(0x03ff, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x03ff, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x03ff, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20090401
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0400, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0400, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0400, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0400, 8)
+#elif PACKETVER >= 20090211
+packetLen(0x0400, 67)
+#elif PACKETVER >= 20090107
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20090401
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0401, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x0401, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0401, 4)
+#elif PACKETVER >= 20090225
+packetLen(0x0401, 11)
+#elif PACKETVER >= 20090218
+packetLen(0x0401, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0401, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0401, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0401, 2)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20090225
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0402, 42)
+#elif PACKETVER >= 20090211
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0402, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0402, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0402, 27)
+#elif PACKETVER >= 20090114
+packetLen(0x0402, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0402, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20090401
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0403, 27)
+#elif PACKETVER >= 20090318
+packetLen(0x0403, 4)
+#elif PACKETVER >= 20090311
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0403, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0403, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0403, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0403, 9)
+#elif PACKETVER >= 20090120
+packetLen(0x0403, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0403, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20090406
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0404, 7)
+#elif PACKETVER >= 20090325
+packetLen(0x0404, 282)
+#elif PACKETVER >= 20090318
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0404, 3)
+#elif PACKETVER >= 20090225
+packetLen(0x0404, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0404, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0404, 11)
+#elif PACKETVER >= 20090204
+packetLen(0x0404, 6)
+#elif PACKETVER >= 20090120
+packetLen(0x0404, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0404, 7)
+#elif PACKETVER >= 20090107
+packetLen(0x0404, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20090406
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0405, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0405, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0405, 22)
+#elif PACKETVER >= 20090211
+packetLen(0x0405, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0405, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0405, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20090225
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0406, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0406, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0406, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0406, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0406, 16)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20090318
+packetLen(0x0407, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0407, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20090401
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0408, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0408, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x0408, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0408, 8)
+#elif PACKETVER >= 20090204
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0408, 22)
+#elif PACKETVER >= 20090120
+packetLen(0x0408, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0408, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0408, 2)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20090401
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0409, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x0409, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0409, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x0409, 67)
+#elif PACKETVER >= 20090107
+packetLen(0x0409, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20090406
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x040a, 6)
+#elif PACKETVER >= 20090325
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x040a, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x040a, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x040a, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x040a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040a, 58)
+#elif PACKETVER >= 20090204
+packetLen(0x040a, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x040a, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x040a, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x040a, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20090406
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x040b, 21)
+#elif PACKETVER >= 20090318
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x040b, 8)
+#elif PACKETVER >= 20090225
+packetLen(0x040b, 102)
+#elif PACKETVER >= 20090218
+packetLen(0x040b, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x040b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x040b, 14)
+#elif PACKETVER >= 20090120
+packetLen(0x040b, 8)
+#elif PACKETVER >= 20090107
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20090401
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x040c, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x040c, 21)
+#elif PACKETVER >= 20090311
+packetLen(0x040c, 182)
+#elif PACKETVER >= 20090218
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040c, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x040c, 60)
+#elif PACKETVER >= 20090114
+packetLen(0x040c, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x040c, 67)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20090401
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x040d, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x040d, 28)
+#elif PACKETVER >= 20090211
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x040d, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x040d, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x040d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x040d, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x040d, 282)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20090406
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x040e, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x040e, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x040e, 26)
+#elif PACKETVER >= 20090311
+packetLen(0x040e, 11)
+#elif PACKETVER >= 20090225
+packetLen(0x040e, 14)
+#elif PACKETVER >= 20090218
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040e, 4)
+#elif PACKETVER >= 20090204
+packetLen(0x040e, 58)
+#elif PACKETVER >= 20090129
+packetLen(0x040e, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x040e, 5)
+#elif PACKETVER >= 20090114
+packetLen(0x040e, 66)
+#elif PACKETVER >= 20090107
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20090401
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x040f, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x040f, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x040f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x040f, 29)
+#elif PACKETVER >= 20090114
+packetLen(0x040f, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x040f, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20090406
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0410, 3)
+#elif PACKETVER >= 20090325
+packetLen(0x0410, 21)
+#elif PACKETVER >= 20090211
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0410, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0410, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x0410, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0410, 26)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20090318
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0411, 14)
+#elif PACKETVER >= 20090211
+packetLen(0x0411, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0411, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x0411, 81)
+#elif PACKETVER >= 20090120
+packetLen(0x0411, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0411, 9)
+#elif PACKETVER >= 20090107
+packetLen(0x0411, 186)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20090401
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0412, 81)
+#elif PACKETVER >= 20090318
+packetLen(0x0412, 22)
+#elif PACKETVER >= 20090218
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0412, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0412, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0412, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0412, 2)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20090325
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0413, 7)
+#elif PACKETVER >= 20090311
+packetLen(0x0413, 14)
+#elif PACKETVER >= 20090225
+packetLen(0x0413, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0413, 282)
+#elif PACKETVER >= 20090204
+packetLen(0x0413, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0413, 5)
+#elif PACKETVER >= 20090120
+packetLen(0x0413, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x0413, 2)
+#elif PACKETVER >= 20090107
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20090225
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0414, 34)
+#elif PACKETVER >= 20090211
+packetLen(0x0414, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0414, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x0414, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20090406
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0415, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0415, 29)
+#elif PACKETVER >= 20090318
+packetLen(0x0415, 17)
+#elif PACKETVER >= 20090311
+packetLen(0x0415, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x0415, 114)
+#elif PACKETVER >= 20090218
+packetLen(0x0415, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0415, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0415, 2)
+#elif PACKETVER >= 20090120
+packetLen(0x0415, 30)
+#elif PACKETVER >= 20090114
+packetLen(0x0415, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0415, 8)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20090401
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0416, 28)
+#elif PACKETVER >= 20090318
+packetLen(0x0416, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0416, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0416, 15)
+#elif PACKETVER >= 20090114
+packetLen(0x0416, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0416, 8)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20090325
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0417, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0417, 26)
+#elif PACKETVER >= 20090218
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0417, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0417, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0417, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x0417, 59)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20090401
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0418, 60)
+#elif PACKETVER >= 20090318
+packetLen(0x0418, 182)
+#elif PACKETVER >= 20090311
+packetLen(0x0418, 23)
+#elif PACKETVER >= 20090225
+packetLen(0x0418, 33)
+#elif PACKETVER >= 20090218
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0418, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0418, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0418, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x0418, 42)
+#elif PACKETVER >= 20090114
+packetLen(0x0418, 21)
+#elif PACKETVER >= 20090107
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20090401
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0419, 20)
+#elif PACKETVER >= 20090311
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0419, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0419, 14)
+#elif PACKETVER >= 20090129
+packetLen(0x0419, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0419, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0419, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20090325
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x041a, 3)
+#elif PACKETVER >= 20090311
+packetLen(0x041a, 102)
+#elif PACKETVER >= 20090225
+packetLen(0x041a, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x041a, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x041a, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20090318
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x041b, 86)
+#elif PACKETVER >= 20090225
+packetLen(0x041b, 4)
+#elif PACKETVER >= 20090211
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x041b, 2)
+#elif PACKETVER >= 20090129
+packetLen(0x041b, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x041b, 11)
+#elif PACKETVER >= 20090114
+packetLen(0x041b, 30)
+#elif PACKETVER >= 20090107
+packetLen(0x041b, 54)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20090406
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x041c, 26)
+#elif PACKETVER >= 20090325
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x041c, 30)
+#elif PACKETVER >= 20090311
+packetLen(0x041c, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x041c, 20)
+#elif PACKETVER >= 20090218
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x041c, 4)
+#elif PACKETVER >= 20090129
+packetLen(0x041c, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x041c, 28)
+#elif PACKETVER >= 20090114
+packetLen(0x041c, 17)
+#elif PACKETVER >= 20090107
+packetLen(0x041c, 34)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20090318
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x041d, 282)
+#elif PACKETVER >= 20090225
+packetLen(0x041d, 7)
+#elif PACKETVER >= 20090218
+packetLen(0x041d, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x041d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x041d, 90)
+#elif PACKETVER >= 20090107
+packetLen(0x041d, 67)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20090406
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x041e, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x041e, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x041e, 30)
+#elif PACKETVER >= 20090211
+packetLen(0x041e, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x041e, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20090401
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x041f, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x041f, 34)
+#elif PACKETVER >= 20090311
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x041f, 3)
+#elif PACKETVER >= 20090218
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x041f, 26)
+#elif PACKETVER >= 20090204
+packetLen(0x041f, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x041f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x041f, 8)
+#elif PACKETVER >= 20090114
+packetLen(0x041f, 5)
+#elif PACKETVER >= 20090107
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20090406
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0420, 30)
+#elif PACKETVER >= 20090318
+packetLen(0x0420, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0420, 10)
+#elif PACKETVER >= 20090204
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0420, 30)
+#elif PACKETVER >= 20090120
+packetLen(0x0420, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0420, 23)
+#elif PACKETVER >= 20090107
+packetLen(0x0420, 14)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20090401
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0421, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x0421, 2)
+#elif PACKETVER >= 20090218
+packetLen(0x0421, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0421, 7)
+#elif PACKETVER >= 20090204
+packetLen(0x0421, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0421, 4)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20090406
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0422, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0422, 22)
+#elif PACKETVER >= 20090225
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0422, 3)
+#elif PACKETVER >= 20090120
+packetLen(0x0422, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0422, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0422, 28)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20090406
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0423, 86)
+#elif PACKETVER >= 20090325
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0423, 6)
+#elif PACKETVER >= 20090311
+packetLen(0x0423, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0423, 10)
+#elif PACKETVER >= 20090120
+packetLen(0x0423, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0423, 58)
+#elif PACKETVER >= 20090107
+packetLen(0x0423, 30)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20090225
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0424, 9)
+#elif PACKETVER >= 20090204
+packetLen(0x0424, 8)
+#elif PACKETVER >= 20090129
+packetLen(0x0424, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0424, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x0424, 26)
+#elif PACKETVER >= 20090107
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20090318
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0425, 4)
+#elif PACKETVER >= 20090218
+packetLen(0x0425, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0425, 60)
+#elif PACKETVER >= 20090107
+packetLen(0x0425, 57)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20090225
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0426, 6)
+#elif PACKETVER >= 20090211
+packetLen(0x0426, 53)
+#elif PACKETVER >= 20090204
+packetLen(0x0426, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0426, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0426, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20090325
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0427, 22)
+#elif PACKETVER >= 20090311
+packetLen(0x0427, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0427, 13)
+#elif PACKETVER >= 20090129
+packetLen(0x0427, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0427, 2)
+#elif PACKETVER >= 20090114
+packetLen(0x0427, 10)
+#elif PACKETVER >= 20090107
+packetLen(0x0427, 28)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20090401
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0428, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x0428, 2)
+#elif PACKETVER >= 20090225
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x0428, 2)
+#elif PACKETVER >= 20090211
+packetLen(0x0428, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x0428, 102)
+#elif PACKETVER >= 20090129
+packetLen(0x0428, 7)
+#elif PACKETVER >= 20090120
+packetLen(0x0428, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0428, 19)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20090406
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0429, 2)
+#elif PACKETVER >= 20090325
+packetLen(0x0429, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0429, 11)
+#elif PACKETVER >= 20090129
+packetLen(0x0429, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0429, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0429, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20090406
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x042a, 5)
+#elif PACKETVER >= 20090318
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x042a, 3)
+#elif PACKETVER >= 20090129
+packetLen(0x042a, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x042a, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20090406
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x042b, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x042b, 10)
+#elif PACKETVER >= 20090218
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x042b, 30)
+#elif PACKETVER >= 20090204
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x042b, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x042b, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x042b, 58)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20090311
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x042c, 8)
+#elif PACKETVER >= 20090218
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x042c, 2)
+#elif PACKETVER >= 20090204
+packetLen(0x042c, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x042c, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x042c, 29)
+#elif PACKETVER >= 20090107
+packetLen(0x042c, 31)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20090401
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x042d, 5)
+#elif PACKETVER >= 20090204
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x042d, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x042d, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x042d, 24)
+#elif PACKETVER >= 20090107
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20090401
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x042e, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20090225
+packetLen(0x042e, -1)
+#elif PACKETVER >= 20090218
+packetLen(0x042e, 10)
+#elif PACKETVER >= 20090211
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x042e, 67)
+#elif PACKETVER >= 20090120
+packetLen(0x042e, 6)
+#elif PACKETVER >= 20090114
+packetLen(0x042e, 4)
+#elif PACKETVER >= 20090107
+packetLen(0x042e, 6)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20090325
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x042f, 28)
+#elif PACKETVER >= 20090311
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x042f, 3)
+#elif PACKETVER >= 20090211
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090204
+packetLen(0x042f, 10)
+#elif PACKETVER >= 20090129
+packetLen(0x042f, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x042f, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x042f, 11)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20090325
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0430, 2)
+#elif PACKETVER >= 20090311
+packetLen(0x0430, 7)
+#elif PACKETVER >= 20090225
+packetLen(0x0430, 28)
+#elif PACKETVER >= 20090218
+packetLen(0x0430, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0430, 29)
+#elif PACKETVER >= 20090204
+packetLen(0x0430, 16)
+#elif PACKETVER >= 20090129
+packetLen(0x0430, 6)
+#elif PACKETVER >= 20090107
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20090406
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0431, 4)
+#elif PACKETVER >= 20090325
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0431, 10)
+#elif PACKETVER >= 20090311
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090225
+packetLen(0x0431, 6)
+#elif PACKETVER >= 20090204
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0431, 43)
+#elif PACKETVER >= 20090120
+packetLen(0x0431, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0431, 7)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20090218
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0432, 3)
+#elif PACKETVER >= 20090114
+packetLen(0x0432, -1)
+#elif PACKETVER >= 20090107
+packetLen(0x0432, 10)
+// ignored packet from 2009-01-07aRagexe
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20090406
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090401
+packetLen(0x0433, 8)
+#elif PACKETVER >= 20090318
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0433, 54)
+#elif PACKETVER >= 20090225
+packetLen(0x0433, 6)
+#elif PACKETVER >= 20090218
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0433, 26)
+#elif PACKETVER >= 20090129
+packetLen(0x0433, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0433, 14)
+#elif PACKETVER >= 20090114
+packetLen(0x0433, 31)
+#elif PACKETVER >= 20090107
+packetLen(0x0433, 7)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20090401
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0434, 6)
+#elif PACKETVER >= 20090318
+packetLen(0x0434, 59)
+#elif PACKETVER >= 20090311
+packetLen(0x0434, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0434, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0434, 67)
+#elif PACKETVER >= 20090120
+packetLen(0x0434, 39)
+#elif PACKETVER >= 20090107
+packetLen(0x0434, 6)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20090325
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0435, 36)
+#elif PACKETVER >= 20090311
+packetLen(0x0435, 90)
+#elif PACKETVER >= 20090204
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0435, 15)
+#elif PACKETVER >= 20090120
+packetLen(0x0435, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0435, 11)
+#elif PACKETVER >= 20090107
+packetLen(0x0435, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20090406
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20090325
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20090318
+packetLen(0x0436, 8)
+#elif PACKETVER >= 20090311
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20090225
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20090120
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0436, 14)
+#elif PACKETVER >= 20090107
+packetLen(0x0436, -1)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20090406
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20090401
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x0437, 4)
+#elif PACKETVER >= 20090318
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0437, 30)
+#elif PACKETVER >= 20090225
+packetLen(0x0437, 16)
+#elif PACKETVER >= 20090218
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0437, 54)
+#elif PACKETVER >= 20090204
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0437, 57)
+#elif PACKETVER >= 20090107
+packetLen(0x0437, -1)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20090406
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20090318
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20090311
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20090225
+packetLen(0x0438, 3)
+#elif PACKETVER >= 20090204
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20090129
+packetLen(0x0438, 39)
+#elif PACKETVER >= 20090120
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20090114
+packetLen(0x0438, 3)
+#elif PACKETVER >= 20090107
+packetLen(0x0438, 10)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x0439
+#if PACKETVER >= 20090406
+packetLen(0x0439, 8)
+#elif PACKETVER >= 20090401
+packetLen(0x0439, 5)
+#elif PACKETVER >= 20090218
+packetLen(0x0439, -1)
+#elif PACKETVER >= 20090211
+packetLen(0x0439, 6)
+#elif PACKETVER >= 20090129
+packetLen(0x0439, -1)
+#elif PACKETVER >= 20090120
+packetLen(0x0439, 10)
+#elif PACKETVER >= 20090114
+packetLen(0x0439, 28)
+#elif PACKETVER >= 20090107
+packetLen(0x0439, 3)
+// ignored packet from 2009-01-07bRagexe
+#endif
+
+// Packet: 0x043d
+packetLen(0x043d, 8)
+
+// Packet: 0x043e
+packetLen(0x043e, -1)
+
+// Packet: 0x043f
+#if PACKETVER >= 20090114
+packetLen(0x043f, 25)
+#elif PACKETVER >= 20090107
+packetLen(0x043f, 8)
+#endif
+
+// Packet: 0x0440
+packetLen(0x0440, 10)
+
+// Packet: 0x0441
+packetLen(0x0441, 4)
+
+// Packet: 0x0442
+packetLen(0x0442, 8)
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+packetLen(0x0444, -1)
+
+// Packet: 0x0445
+packetLen(0x0445, 10)
+
+// Packet: 0x0446
+#if PACKETVER >= 20090218
+packetLen(0x0446, 14)
+#endif
+
+// Packet: 0x0447
+#if PACKETVER >= 20090520
+packetLen(0x0447, 2)
+#endif
+
+// Packet: 0x0448
+#if PACKETVER >= 20090225
+packetLen(0x0448, -1)
+#endif
+
+// Packet: 0x0449
+#if PACKETVER >= 20090401
+packetLen(0x0449, 4)
+#endif
+
+// Packet: 0x044a
+#if PACKETVER >= 20090406
+packetLen(0x044a, 6)
+#endif
+
+// Packet: 0x044b
+#if PACKETVER >= 20090514
+packetLen(0x044b, 2)
+#endif
+
+// Packet: 0x07d0
+#if PACKETVER >= 20090520
+packetLen(0x07d0, 6)
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20090520
+packetLen(0x07d1, 2)
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20090520
+packetLen(0x07d2, -1)
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20090520
+packetLen(0x07d3, 4)
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20090520
+packetLen(0x07d4, 4)
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20090520
+packetLen(0x07d5, 4)
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20090520
+packetLen(0x07d6, 4)
+#endif
+
+// Packet: 0x07d7
+#if PACKETVER >= 20090603
+packetLen(0x07d7, 8)
+#endif
+
+// Packet: 0x07d8
+#if PACKETVER >= 20090603
+packetLen(0x07d8, 8)
+#endif
+
+// Packet: 0x07d9
+#if PACKETVER >= 20090617
+packetLen(0x07d9, 268)
+#elif PACKETVER >= 20090603
+packetLen(0x07d9, 254)
+#endif
+
+// Packet: 0x07da
+#if PACKETVER >= 20090603
+packetLen(0x07da, 6)
+#endif
+
+// Packet: 0x07db
+#if PACKETVER >= 20090610
+packetLen(0x07db, 8)
+#endif
+
+// Packet: 0x07dc
+#if PACKETVER >= 20090617
+packetLen(0x07dc, 6)
+#endif
+
+// Packet: 0x07dd
+#if PACKETVER >= 20090617
+packetLen(0x07dd, 54)
+#endif
+
+// Packet: 0x07de
+#if PACKETVER >= 20090617
+packetLen(0x07de, 30)
+#endif
+
+// Packet: 0x07df
+#if PACKETVER >= 20090617
+packetLen(0x07df, 54)
+#endif
+
+// Packet: 0x07e0
+#if PACKETVER >= 20090708
+packetLen(0x07e0, 58)
+#endif
+
+// Packet: 0x07e1
+#if PACKETVER >= 20090715
+packetLen(0x07e1, 15)
+#endif
+
+// Packet: 0x07e2
+#if PACKETVER >= 20090805
+packetLen(0x07e2, 8)
+#endif
+
+// Packet: 0x07e3
+#if PACKETVER >= 20090818
+packetLen(0x07e3, 6)
+#endif
+
+// Packet: 0x07e4
+#if PACKETVER >= 20090818
+packetLen(0x07e4, -1)
+#endif
+
+// Packet: 0x07e5
+#if PACKETVER >= 20090922
+packetLen(0x07e5, 8)
+#elif PACKETVER >= 20090825
+packetLen(0x07e5, -1)
+#endif
+
+// Packet: 0x07e6
+#if PACKETVER >= 20090818
+packetLen(0x07e6, 8)
+#endif
+
+// Packet: 0x07e7
+#if PACKETVER >= 20090922
+packetLen(0x07e7, 32)
+#elif PACKETVER >= 20090825
+packetLen(0x07e7, 5)
+#endif
+
+// Packet: 0x07e8
+#if PACKETVER >= 20090922
+packetLen(0x07e8, -1)
+#endif
+
+// Packet: 0x07e9
+#if PACKETVER >= 20090922
+packetLen(0x07e9, 5)
+#endif
+
+// Packet: 0x07ea
+#if PACKETVER >= 20090929
+packetLen(0x07ea, 2)
+#endif
+
+// Packet: 0x07eb
+#if PACKETVER >= 20090929
+packetLen(0x07eb, -1)
+#endif
+
+// Packet: 0x07ec
+#if PACKETVER >= 20091006
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20090929
+packetLen(0x07ec, 6)
+#endif
+
+// Packet: 0x07ed
+#if PACKETVER >= 20091006
+packetLen(0x07ed, 10)
+#elif PACKETVER >= 20090929
+packetLen(0x07ed, 8)
+#endif
+
+// Packet: 0x07ee
+#if PACKETVER >= 20090929
+packetLen(0x07ee, 6)
+#endif
+
+// Packet: 0x07ef
+#if PACKETVER >= 20090929
+packetLen(0x07ef, 8)
+#endif
+
+// Packet: 0x07f0
+#if PACKETVER >= 20090929
+packetLen(0x07f0, 8)
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20090929
+packetLen(0x07f1, 15)
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20091006
+packetLen(0x07f2, 6)
+#elif PACKETVER >= 20090929
+packetLen(0x07f2, 4)
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20091006
+packetLen(0x07f3, 4)
+#elif PACKETVER >= 20090929
+packetLen(0x07f3, 3)
+#endif
+
+// Packet: 0x07f4
+#if PACKETVER >= 20091006
+packetLen(0x07f4, 3)
+#endif
+
+// Packet: 0x07f5
+#if PACKETVER >= 20091027
+packetLen(0x07f5, 6)
+#endif
+
+// Packet: 0x07f6
+#if PACKETVER >= 20091027
+packetLen(0x07f6, 14)
+#endif
+
+// Packet: 0x07f7
+#if PACKETVER >= 20091103
+packetLen(0x07f7, -1)
+#endif
+
+// Packet: 0x07f8
+#if PACKETVER >= 20091103
+packetLen(0x07f8, -1)
+#endif
+
+// Packet: 0x07f9
+#if PACKETVER >= 20091103
+packetLen(0x07f9, -1)
+#endif
+
+// Packet: 0x07fa
+#if PACKETVER >= 20091117
+packetLen(0x07fa, 8)
+#endif
+
+// Packet: 0x07fb
+#if PACKETVER >= 20091124
+packetLen(0x07fb, 25)
+#endif
+
+// Packet: 0x07fc
+#if PACKETVER >= 20091201
+packetLen(0x07fc, 10)
+#endif
+
+// Packet: 0x07fd
+#if PACKETVER >= 20091201
+packetLen(0x07fd, -1)
+#endif
+
+// Packet: 0x07fe
+#if PACKETVER >= 20091201
+packetLen(0x07fe, 26)
+#endif
+
+// Packet: 0x07ff
+#if PACKETVER >= 20091201
+packetLen(0x07ff, -1)
+#endif
+
+// Packet: 0x0800
+#if PACKETVER >= 20091215
+packetLen(0x0800, -1)
+#endif
+
+// Packet: 0x0801
+#if PACKETVER >= 20091215
+packetLen(0x0801, -1)
+#endif
+
+// Packet: 0x0802
+#if PACKETVER >= 20091222
+packetLen(0x0802, 18)
+#endif
+
+// Packet: 0x0803
+#if PACKETVER >= 20091222
+packetLen(0x0803, 4)
+#endif
+
+// Packet: 0x0804
+#if PACKETVER >= 20091228
+packetLen(0x0804, 14)
+#elif PACKETVER >= 20091222
+packetLen(0x0804, 8)
+#endif
+
+// Packet: 0x0805
+#if PACKETVER >= 20091222
+packetLen(0x0805, -1)
+#endif
+
+// Packet: 0x0806
+#if PACKETVER >= 20091228
+packetLen(0x0806, 2)
+#elif PACKETVER >= 20091222
+packetLen(0x0806, 4)
+#endif
+
+// Packet: 0x0807
+#if PACKETVER >= 20091228
+packetLen(0x0807, 4)
+#elif PACKETVER >= 20091222
+packetLen(0x0807, 2)
+#endif
+
+// Packet: 0x0808
+#if PACKETVER >= 20091228
+packetLen(0x0808, 14)
+#elif PACKETVER >= 20091222
+packetLen(0x0808, 4)
+#endif
+
+// Packet: 0x0809
+#if PACKETVER >= 20091228
+packetLen(0x0809, 50)
+#elif PACKETVER >= 20091222
+packetLen(0x0809, 14)
+#endif
+
+// Packet: 0x080a
+#if PACKETVER >= 20091228
+packetLen(0x080a, 18)
+#elif PACKETVER >= 20091222
+packetLen(0x080a, 50)
+#endif
+
+// Packet: 0x080b
+#if PACKETVER >= 20091228
+packetLen(0x080b, 6)
+#elif PACKETVER >= 20091222
+packetLen(0x080b, 18)
+#endif
+
+// Packet: 0x080c
+#if PACKETVER >= 20091228
+// removed
+#elif PACKETVER >= 20091222
+packetLen(0x080c, 6)
+#endif
+
+
+#endif /* COMMON_PACKETS2009_LEN_MAIN_H */
diff --git a/src/common/packets/packets2009_len_re.h b/src/common/packets/packets2009_len_re.h
new file mode 100644
index 000000000..deab0c497
--- /dev/null
+++ b/src/common/packets/packets2009_len_re.h
@@ -0,0 +1,3418 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2009_LEN_RE_H
+#define COMMON_PACKETS2009_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 114)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+#if PACKETVER >= 20090617
+packetLen(0x0072, 25)
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0072, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20090617
+packetLen(0x007e, 105)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x007e, 105)
+#endif
+
+// 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
+#if PACKETVER >= 20090617
+packetLen(0x0085, 11)
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0085, 10)
+#endif
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+#if PACKETVER >= 20090617
+packetLen(0x0089, 11)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0089, 11)
+#endif
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+#if PACKETVER >= 20090617
+packetLen(0x008c, 14)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x008c, 14)
+#endif
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// 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
+#if PACKETVER >= 20090617
+packetLen(0x0094, 19)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0094, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20090617
+packetLen(0x009b, 34)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x009b, 34)
+#endif
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+#if PACKETVER >= 20090617
+packetLen(0x009f, 20)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x009f, 20)
+#endif
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+#if PACKETVER >= 20090617
+packetLen(0x00a2, 15)
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00a2, 14)
+#endif
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+#if PACKETVER >= 20090617
+packetLen(0x00a7, 9)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00a7, 9)
+#endif
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+#if PACKETVER >= 20090617
+packetLen(0x00f5, 11)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00f5, 11)
+#endif
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+#if PACKETVER >= 20090617
+packetLen(0x00f7, 22)
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x00f7, 17)
+#endif
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+#if PACKETVER >= 20090617
+packetLen(0x0113, 25)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0113, 25)
+#endif
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+#if PACKETVER >= 20090617
+packetLen(0x0116, 17)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0116, 17)
+#endif
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+#if PACKETVER >= 20090617
+packetLen(0x0190, 23)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x0190, 23)
+#endif
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20090701
+packetLen(0x0275, 37)
+#endif
+
+// Packet: 0x0276
+#if PACKETVER >= 20090701
+packetLen(0x0276, -1)
+#endif
+
+// 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, 10)
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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
+#if PACKETVER >= 20090722
+// removed
+#elif PACKETVER >= 20090408
+packetLen(0x02a6, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x02a6, 404)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20090722
+// removed
+#elif PACKETVER >= 20090408
+packetLen(0x02a7, -1)
+#elif PACKETVER >= 20090325
+packetLen(0x02a7, 404)
+#endif
+
+// 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, 22)
+
+// 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, 29)
+
+// 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
+#if PACKETVER >= 20090617
+packetLen(0x02e2, 20)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e2, 20)
+#endif
+
+// Packet: 0x02e3
+#if PACKETVER >= 20090617
+packetLen(0x02e3, 25)
+// ignored packet from 2009-06-17cRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e3, 22)
+#endif
+
+// Packet: 0x02e4
+#if PACKETVER >= 20090617
+packetLen(0x02e4, 11)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e4, 11)
+#endif
+
+// Packet: 0x02e5
+#if PACKETVER >= 20090617
+packetLen(0x02e5, 9)
+// ignored packet from 2009-06-17bRagexeRE
+#elif PACKETVER >= 20090107
+packetLen(0x02e5, 9)
+#endif
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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, -1)
+
+// Packet: 0x02f5
+packetLen(0x02f5, -1)
+
+// Packet: 0x02f6
+packetLen(0x02f6, -1)
+
+// Packet: 0x02f7
+packetLen(0x02f7, -1)
+
+// Packet: 0x02f8
+packetLen(0x02f8, -1)
+
+// Packet: 0x02f9
+packetLen(0x02f9, -1)
+
+// Packet: 0x02fa
+packetLen(0x02fa, -1)
+
+// Packet: 0x02fb
+packetLen(0x02fb, -1)
+
+// Packet: 0x02fc
+packetLen(0x02fc, -1)
+
+// Packet: 0x02fd
+packetLen(0x02fd, -1)
+
+// Packet: 0x02fe
+packetLen(0x02fe, -1)
+
+// Packet: 0x02ff
+packetLen(0x02ff, -1)
+
+// Packet: 0x0300
+packetLen(0x0300, -1)
+
+// Packet: 0x0301
+packetLen(0x0301, -1)
+
+// Packet: 0x0302
+packetLen(0x0302, -1)
+
+// Packet: 0x0303
+packetLen(0x0303, -1)
+
+// Packet: 0x0304
+packetLen(0x0304, -1)
+
+// Packet: 0x0305
+packetLen(0x0305, -1)
+
+// Packet: 0x0306
+packetLen(0x0306, -1)
+
+// Packet: 0x0307
+packetLen(0x0307, -1)
+
+// Packet: 0x0308
+packetLen(0x0308, -1)
+
+// Packet: 0x0309
+packetLen(0x0309, -1)
+
+// Packet: 0x030a
+packetLen(0x030a, -1)
+
+// Packet: 0x030b
+packetLen(0x030b, -1)
+
+// Packet: 0x030c
+packetLen(0x030c, -1)
+
+// Packet: 0x030d
+packetLen(0x030d, -1)
+
+// Packet: 0x030e
+packetLen(0x030e, -1)
+
+// Packet: 0x030f
+packetLen(0x030f, -1)
+
+// Packet: 0x0310
+packetLen(0x0310, -1)
+
+// Packet: 0x0311
+packetLen(0x0311, -1)
+
+// Packet: 0x0312
+packetLen(0x0312, -1)
+
+// Packet: 0x0313
+packetLen(0x0313, -1)
+
+// Packet: 0x0314
+packetLen(0x0314, -1)
+
+// Packet: 0x0315
+packetLen(0x0315, -1)
+
+// Packet: 0x0316
+packetLen(0x0316, -1)
+
+// Packet: 0x0317
+packetLen(0x0317, -1)
+
+// Packet: 0x0318
+packetLen(0x0318, -1)
+
+// Packet: 0x0319
+packetLen(0x0319, -1)
+
+// Packet: 0x031a
+packetLen(0x031a, -1)
+
+// Packet: 0x031b
+packetLen(0x031b, -1)
+
+// Packet: 0x031c
+packetLen(0x031c, -1)
+
+// Packet: 0x031d
+packetLen(0x031d, -1)
+
+// Packet: 0x031e
+packetLen(0x031e, -1)
+
+// Packet: 0x031f
+packetLen(0x031f, -1)
+
+// Packet: 0x0320
+packetLen(0x0320, -1)
+
+// Packet: 0x0321
+packetLen(0x0321, -1)
+
+// Packet: 0x0322
+packetLen(0x0322, -1)
+
+// Packet: 0x0323
+packetLen(0x0323, -1)
+
+// Packet: 0x0324
+packetLen(0x0324, -1)
+
+// Packet: 0x0325
+packetLen(0x0325, -1)
+
+// Packet: 0x0326
+packetLen(0x0326, -1)
+
+// Packet: 0x0327
+packetLen(0x0327, -1)
+
+// Packet: 0x0328
+packetLen(0x0328, -1)
+
+// Packet: 0x0329
+packetLen(0x0329, -1)
+
+// Packet: 0x032a
+packetLen(0x032a, -1)
+
+// Packet: 0x032b
+packetLen(0x032b, -1)
+
+// Packet: 0x032c
+packetLen(0x032c, -1)
+
+// Packet: 0x032d
+packetLen(0x032d, -1)
+
+// Packet: 0x032e
+packetLen(0x032e, -1)
+
+// Packet: 0x032f
+packetLen(0x032f, -1)
+
+// Packet: 0x0330
+packetLen(0x0330, -1)
+
+// Packet: 0x0331
+packetLen(0x0331, -1)
+
+// Packet: 0x0332
+packetLen(0x0332, -1)
+
+// Packet: 0x0333
+packetLen(0x0333, -1)
+
+// Packet: 0x0334
+packetLen(0x0334, -1)
+
+// Packet: 0x0335
+packetLen(0x0335, -1)
+
+// Packet: 0x0336
+packetLen(0x0336, -1)
+
+// Packet: 0x0337
+packetLen(0x0337, -1)
+
+// Packet: 0x0338
+packetLen(0x0338, -1)
+
+// Packet: 0x0339
+packetLen(0x0339, -1)
+
+// Packet: 0x033a
+packetLen(0x033a, -1)
+
+// Packet: 0x033b
+packetLen(0x033b, -1)
+
+// Packet: 0x033c
+packetLen(0x033c, -1)
+
+// Packet: 0x033d
+packetLen(0x033d, -1)
+
+// Packet: 0x033e
+packetLen(0x033e, -1)
+
+// Packet: 0x033f
+packetLen(0x033f, -1)
+
+// Packet: 0x0340
+packetLen(0x0340, -1)
+
+// Packet: 0x0341
+packetLen(0x0341, -1)
+
+// Packet: 0x0342
+packetLen(0x0342, -1)
+
+// Packet: 0x0343
+packetLen(0x0343, -1)
+
+// Packet: 0x0344
+packetLen(0x0344, -1)
+
+// Packet: 0x0345
+packetLen(0x0345, -1)
+
+// Packet: 0x0346
+packetLen(0x0346, -1)
+
+// Packet: 0x0347
+packetLen(0x0347, -1)
+
+// Packet: 0x0348
+packetLen(0x0348, -1)
+
+// Packet: 0x0349
+packetLen(0x0349, -1)
+
+// Packet: 0x034a
+packetLen(0x034a, -1)
+
+// Packet: 0x034b
+packetLen(0x034b, -1)
+
+// Packet: 0x034c
+packetLen(0x034c, -1)
+
+// Packet: 0x034d
+packetLen(0x034d, -1)
+
+// Packet: 0x034e
+packetLen(0x034e, -1)
+
+// Packet: 0x034f
+packetLen(0x034f, -1)
+
+// Packet: 0x0350
+packetLen(0x0350, -1)
+
+// Packet: 0x0351
+packetLen(0x0351, -1)
+
+// Packet: 0x0352
+packetLen(0x0352, -1)
+
+// Packet: 0x0353
+packetLen(0x0353, -1)
+
+// Packet: 0x0354
+packetLen(0x0354, -1)
+
+// Packet: 0x0355
+packetLen(0x0355, -1)
+
+// Packet: 0x0356
+packetLen(0x0356, -1)
+
+// Packet: 0x0357
+packetLen(0x0357, -1)
+
+// Packet: 0x0358
+packetLen(0x0358, -1)
+
+// Packet: 0x0359
+packetLen(0x0359, -1)
+
+// Packet: 0x035a
+packetLen(0x035a, -1)
+
+// Packet: 0x035b
+packetLen(0x035b, -1)
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+packetLen(0x035f, -1)
+
+// Packet: 0x0360
+packetLen(0x0360, -1)
+
+// Packet: 0x0361
+packetLen(0x0361, -1)
+
+// Packet: 0x0362
+packetLen(0x0362, -1)
+
+// Packet: 0x0363
+packetLen(0x0363, -1)
+
+// Packet: 0x0364
+packetLen(0x0364, -1)
+
+// Packet: 0x0365
+packetLen(0x0365, -1)
+
+// Packet: 0x0366
+packetLen(0x0366, -1)
+
+// Packet: 0x0367
+packetLen(0x0367, -1)
+
+// Packet: 0x0368
+packetLen(0x0368, -1)
+
+// Packet: 0x0369
+packetLen(0x0369, -1)
+
+// Packet: 0x036a
+packetLen(0x036a, -1)
+
+// Packet: 0x036b
+packetLen(0x036b, -1)
+
+// Packet: 0x036c
+packetLen(0x036c, -1)
+
+// Packet: 0x036d
+packetLen(0x036d, -1)
+
+// Packet: 0x036e
+packetLen(0x036e, -1)
+
+// Packet: 0x036f
+packetLen(0x036f, -1)
+
+// Packet: 0x0370
+packetLen(0x0370, -1)
+
+// Packet: 0x0371
+packetLen(0x0371, -1)
+
+// Packet: 0x0372
+packetLen(0x0372, -1)
+
+// Packet: 0x0373
+packetLen(0x0373, -1)
+
+// Packet: 0x0374
+packetLen(0x0374, -1)
+
+// Packet: 0x0375
+packetLen(0x0375, -1)
+
+// Packet: 0x0376
+packetLen(0x0376, -1)
+
+// Packet: 0x0377
+packetLen(0x0377, -1)
+
+// Packet: 0x0378
+packetLen(0x0378, -1)
+
+// Packet: 0x0379
+packetLen(0x0379, -1)
+
+// Packet: 0x037a
+packetLen(0x037a, -1)
+
+// Packet: 0x037b
+packetLen(0x037b, -1)
+
+// Packet: 0x037c
+packetLen(0x037c, -1)
+
+// Packet: 0x037d
+packetLen(0x037d, -1)
+
+// Packet: 0x037e
+packetLen(0x037e, -1)
+
+// Packet: 0x037f
+packetLen(0x037f, -1)
+
+// Packet: 0x0380
+packetLen(0x0380, -1)
+
+// Packet: 0x0381
+packetLen(0x0381, -1)
+
+// Packet: 0x0382
+packetLen(0x0382, -1)
+
+// Packet: 0x0383
+packetLen(0x0383, -1)
+
+// Packet: 0x0384
+packetLen(0x0384, -1)
+
+// Packet: 0x0385
+packetLen(0x0385, -1)
+
+// Packet: 0x0386
+packetLen(0x0386, -1)
+
+// Packet: 0x0387
+packetLen(0x0387, -1)
+
+// Packet: 0x0388
+packetLen(0x0388, -1)
+
+// Packet: 0x0389
+packetLen(0x0389, -1)
+
+// Packet: 0x038a
+packetLen(0x038a, -1)
+
+// Packet: 0x038b
+packetLen(0x038b, -1)
+
+// Packet: 0x038c
+packetLen(0x038c, -1)
+
+// Packet: 0x038d
+packetLen(0x038d, -1)
+
+// Packet: 0x038e
+packetLen(0x038e, -1)
+
+// Packet: 0x038f
+packetLen(0x038f, -1)
+
+// Packet: 0x0390
+packetLen(0x0390, -1)
+
+// Packet: 0x0391
+packetLen(0x0391, -1)
+
+// Packet: 0x0392
+packetLen(0x0392, -1)
+
+// Packet: 0x0393
+packetLen(0x0393, -1)
+
+// Packet: 0x0394
+packetLen(0x0394, -1)
+
+// Packet: 0x0395
+packetLen(0x0395, -1)
+
+// Packet: 0x0396
+packetLen(0x0396, -1)
+
+// Packet: 0x0397
+packetLen(0x0397, -1)
+
+// Packet: 0x0398
+packetLen(0x0398, -1)
+
+// Packet: 0x0399
+packetLen(0x0399, -1)
+
+// Packet: 0x039a
+packetLen(0x039a, -1)
+
+// Packet: 0x039b
+packetLen(0x039b, -1)
+
+// Packet: 0x039c
+packetLen(0x039c, -1)
+
+// Packet: 0x039d
+packetLen(0x039d, -1)
+
+// Packet: 0x039e
+packetLen(0x039e, -1)
+
+// Packet: 0x039f
+packetLen(0x039f, -1)
+
+// Packet: 0x03a0
+packetLen(0x03a0, -1)
+
+// Packet: 0x03a1
+packetLen(0x03a1, -1)
+
+// Packet: 0x03a2
+packetLen(0x03a2, -1)
+
+// Packet: 0x03a3
+packetLen(0x03a3, -1)
+
+// Packet: 0x03a4
+packetLen(0x03a4, -1)
+
+// Packet: 0x03a5
+packetLen(0x03a5, -1)
+
+// Packet: 0x03a6
+packetLen(0x03a6, -1)
+
+// Packet: 0x03a7
+packetLen(0x03a7, -1)
+
+// Packet: 0x03a8
+packetLen(0x03a8, -1)
+
+// Packet: 0x03a9
+packetLen(0x03a9, -1)
+
+// Packet: 0x03aa
+packetLen(0x03aa, -1)
+
+// Packet: 0x03ab
+packetLen(0x03ab, -1)
+
+// Packet: 0x03ac
+packetLen(0x03ac, -1)
+
+// Packet: 0x03ad
+packetLen(0x03ad, -1)
+
+// Packet: 0x03ae
+packetLen(0x03ae, -1)
+
+// Packet: 0x03af
+packetLen(0x03af, -1)
+
+// Packet: 0x03b0
+packetLen(0x03b0, -1)
+
+// Packet: 0x03b1
+packetLen(0x03b1, -1)
+
+// Packet: 0x03b2
+packetLen(0x03b2, -1)
+
+// Packet: 0x03b3
+packetLen(0x03b3, -1)
+
+// Packet: 0x03b4
+packetLen(0x03b4, -1)
+
+// Packet: 0x03b5
+packetLen(0x03b5, -1)
+
+// Packet: 0x03b6
+packetLen(0x03b6, -1)
+
+// Packet: 0x03b7
+packetLen(0x03b7, -1)
+
+// Packet: 0x03b8
+packetLen(0x03b8, -1)
+
+// Packet: 0x03b9
+packetLen(0x03b9, -1)
+
+// Packet: 0x03ba
+packetLen(0x03ba, -1)
+
+// Packet: 0x03bb
+packetLen(0x03bb, -1)
+
+// Packet: 0x03bc
+packetLen(0x03bc, -1)
+
+// Packet: 0x03bd
+packetLen(0x03bd, -1)
+
+// Packet: 0x03be
+packetLen(0x03be, -1)
+
+// Packet: 0x03bf
+packetLen(0x03bf, -1)
+
+// Packet: 0x03c0
+packetLen(0x03c0, -1)
+
+// Packet: 0x03c1
+packetLen(0x03c1, -1)
+
+// Packet: 0x03c2
+packetLen(0x03c2, -1)
+
+// Packet: 0x03c3
+packetLen(0x03c3, -1)
+
+// Packet: 0x03c4
+packetLen(0x03c4, -1)
+
+// Packet: 0x03c5
+packetLen(0x03c5, -1)
+
+// Packet: 0x03c6
+packetLen(0x03c6, -1)
+
+// Packet: 0x03c7
+packetLen(0x03c7, -1)
+
+// Packet: 0x03c8
+packetLen(0x03c8, -1)
+
+// Packet: 0x03c9
+packetLen(0x03c9, -1)
+
+// Packet: 0x03ca
+packetLen(0x03ca, -1)
+
+// Packet: 0x03cb
+packetLen(0x03cb, -1)
+
+// Packet: 0x03cc
+packetLen(0x03cc, -1)
+
+// Packet: 0x03cd
+packetLen(0x03cd, -1)
+
+// Packet: 0x03ce
+packetLen(0x03ce, -1)
+
+// Packet: 0x03cf
+packetLen(0x03cf, -1)
+
+// Packet: 0x03d0
+packetLen(0x03d0, -1)
+
+// Packet: 0x03d1
+packetLen(0x03d1, -1)
+
+// Packet: 0x03d2
+packetLen(0x03d2, -1)
+
+// Packet: 0x03d3
+packetLen(0x03d3, -1)
+
+// Packet: 0x03d4
+packetLen(0x03d4, -1)
+
+// Packet: 0x03d5
+packetLen(0x03d5, -1)
+
+// Packet: 0x03d6
+packetLen(0x03d6, -1)
+
+// Packet: 0x03d7
+packetLen(0x03d7, -1)
+
+// Packet: 0x03d8
+packetLen(0x03d8, -1)
+
+// Packet: 0x03d9
+packetLen(0x03d9, -1)
+
+// Packet: 0x03da
+packetLen(0x03da, -1)
+
+// Packet: 0x03db
+packetLen(0x03db, -1)
+
+// Packet: 0x03dc
+packetLen(0x03dc, -1)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x03e2
+packetLen(0x03e2, -1)
+
+// Packet: 0x03e3
+packetLen(0x03e3, -1)
+
+// Packet: 0x03e4
+packetLen(0x03e4, -1)
+
+// Packet: 0x03e5
+packetLen(0x03e5, -1)
+
+// Packet: 0x03e6
+packetLen(0x03e6, -1)
+
+// Packet: 0x03e7
+packetLen(0x03e7, -1)
+
+// Packet: 0x03e8
+packetLen(0x03e8, -1)
+
+// Packet: 0x03e9
+packetLen(0x03e9, -1)
+
+// Packet: 0x03ea
+packetLen(0x03ea, -1)
+
+// Packet: 0x03eb
+packetLen(0x03eb, -1)
+
+// Packet: 0x03ec
+packetLen(0x03ec, -1)
+
+// Packet: 0x03ed
+packetLen(0x03ed, -1)
+
+// Packet: 0x03ee
+packetLen(0x03ee, -1)
+
+// Packet: 0x03ef
+packetLen(0x03ef, -1)
+
+// Packet: 0x03f0
+packetLen(0x03f0, -1)
+
+// Packet: 0x03f1
+packetLen(0x03f1, -1)
+
+// Packet: 0x03f2
+packetLen(0x03f2, -1)
+
+// Packet: 0x03f3
+packetLen(0x03f3, -1)
+
+// Packet: 0x03f4
+packetLen(0x03f4, -1)
+
+// Packet: 0x03f5
+packetLen(0x03f5, -1)
+
+// Packet: 0x03f6
+packetLen(0x03f6, -1)
+
+// Packet: 0x03f7
+packetLen(0x03f7, -1)
+
+// Packet: 0x03f8
+packetLen(0x03f8, -1)
+
+// Packet: 0x03f9
+packetLen(0x03f9, -1)
+
+// Packet: 0x03fa
+packetLen(0x03fa, -1)
+
+// Packet: 0x03fb
+packetLen(0x03fb, -1)
+
+// Packet: 0x03fc
+packetLen(0x03fc, -1)
+
+// Packet: 0x03fd
+packetLen(0x03fd, -1)
+
+// Packet: 0x03fe
+packetLen(0x03fe, -1)
+
+// Packet: 0x03ff
+packetLen(0x03ff, -1)
+
+// Packet: 0x0400
+packetLen(0x0400, -1)
+
+// Packet: 0x0401
+packetLen(0x0401, -1)
+
+// Packet: 0x0402
+packetLen(0x0402, -1)
+
+// Packet: 0x0403
+packetLen(0x0403, -1)
+
+// Packet: 0x0404
+packetLen(0x0404, -1)
+
+// Packet: 0x0405
+packetLen(0x0405, -1)
+
+// Packet: 0x0406
+packetLen(0x0406, -1)
+
+// Packet: 0x0407
+packetLen(0x0407, -1)
+
+// Packet: 0x0408
+packetLen(0x0408, -1)
+
+// Packet: 0x0409
+packetLen(0x0409, -1)
+
+// Packet: 0x040a
+packetLen(0x040a, -1)
+
+// Packet: 0x040b
+packetLen(0x040b, -1)
+
+// Packet: 0x040c
+packetLen(0x040c, -1)
+
+// Packet: 0x040d
+packetLen(0x040d, -1)
+
+// Packet: 0x040e
+packetLen(0x040e, -1)
+
+// Packet: 0x040f
+packetLen(0x040f, -1)
+
+// Packet: 0x0410
+packetLen(0x0410, -1)
+
+// Packet: 0x0411
+packetLen(0x0411, -1)
+
+// Packet: 0x0412
+packetLen(0x0412, -1)
+
+// Packet: 0x0413
+packetLen(0x0413, -1)
+
+// Packet: 0x0414
+packetLen(0x0414, -1)
+
+// Packet: 0x0415
+packetLen(0x0415, -1)
+
+// Packet: 0x0416
+packetLen(0x0416, -1)
+
+// Packet: 0x0417
+packetLen(0x0417, -1)
+
+// Packet: 0x0418
+packetLen(0x0418, -1)
+
+// Packet: 0x0419
+packetLen(0x0419, -1)
+
+// Packet: 0x041a
+packetLen(0x041a, -1)
+
+// Packet: 0x041b
+packetLen(0x041b, -1)
+
+// Packet: 0x041c
+packetLen(0x041c, -1)
+
+// Packet: 0x041d
+packetLen(0x041d, -1)
+
+// Packet: 0x041e
+packetLen(0x041e, -1)
+
+// Packet: 0x041f
+packetLen(0x041f, -1)
+
+// Packet: 0x0420
+packetLen(0x0420, -1)
+
+// Packet: 0x0421
+packetLen(0x0421, -1)
+
+// Packet: 0x0422
+packetLen(0x0422, -1)
+
+// Packet: 0x0423
+packetLen(0x0423, -1)
+
+// Packet: 0x0424
+packetLen(0x0424, -1)
+
+// Packet: 0x0425
+packetLen(0x0425, -1)
+
+// Packet: 0x0426
+packetLen(0x0426, -1)
+
+// Packet: 0x0427
+packetLen(0x0427, -1)
+
+// Packet: 0x0428
+packetLen(0x0428, -1)
+
+// Packet: 0x0429
+packetLen(0x0429, -1)
+
+// Packet: 0x042a
+packetLen(0x042a, -1)
+
+// Packet: 0x042b
+packetLen(0x042b, -1)
+
+// Packet: 0x042c
+packetLen(0x042c, -1)
+
+// Packet: 0x042d
+packetLen(0x042d, -1)
+
+// Packet: 0x042e
+packetLen(0x042e, -1)
+
+// Packet: 0x042f
+packetLen(0x042f, -1)
+
+// Packet: 0x0430
+packetLen(0x0430, -1)
+
+// Packet: 0x0431
+packetLen(0x0431, -1)
+
+// Packet: 0x0432
+packetLen(0x0432, -1)
+
+// Packet: 0x0433
+packetLen(0x0433, -1)
+
+// Packet: 0x0434
+packetLen(0x0434, -1)
+
+// Packet: 0x0435
+packetLen(0x0435, -1)
+
+// Packet: 0x0436
+packetLen(0x0436, 19)
+
+// 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
+#if PACKETVER >= 20090113
+packetLen(0x043f, 25)
+#elif PACKETVER >= 20090107
+packetLen(0x043f, 8)
+#endif
+
+// Packet: 0x0440
+packetLen(0x0440, 10)
+
+// Packet: 0x0441
+packetLen(0x0441, 4)
+
+// Packet: 0x0442
+packetLen(0x0442, 8)
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+#if PACKETVER >= 20090113
+packetLen(0x0444, -1)
+#endif
+
+// Packet: 0x0445
+#if PACKETVER >= 20090113
+packetLen(0x0445, 10)
+#endif
+
+// Packet: 0x0446
+#if PACKETVER >= 20090218
+packetLen(0x0446, 14)
+#endif
+
+// Packet: 0x0447
+#if PACKETVER >= 20090520
+packetLen(0x0447, 2)
+#endif
+
+// Packet: 0x0448
+#if PACKETVER >= 20090226
+packetLen(0x0448, -1)
+#endif
+
+// Packet: 0x0449
+#if PACKETVER >= 20090722
+// removed
+#elif PACKETVER >= 20090401
+packetLen(0x0449, 4)
+#endif
+
+// Packet: 0x044a
+#if PACKETVER >= 20090408
+packetLen(0x044a, 6)
+#endif
+
+// Packet: 0x044b
+#if PACKETVER >= 20090514
+packetLen(0x044b, 2)
+#endif
+
+// Packet: 0x07d0
+#if PACKETVER >= 20090520
+packetLen(0x07d0, 6)
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20090520
+packetLen(0x07d1, 2)
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20090520
+packetLen(0x07d2, -1)
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20090520
+packetLen(0x07d3, 4)
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20090520
+packetLen(0x07d4, 4)
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20090520
+packetLen(0x07d5, 4)
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20090520
+packetLen(0x07d6, 4)
+#endif
+
+// Packet: 0x07d7
+#if PACKETVER >= 20090603
+packetLen(0x07d7, 8)
+#endif
+
+// Packet: 0x07d8
+#if PACKETVER >= 20090603
+packetLen(0x07d8, 8)
+#endif
+
+// Packet: 0x07d9
+#if PACKETVER >= 20090617
+packetLen(0x07d9, 268)
+#elif PACKETVER >= 20090603
+packetLen(0x07d9, 254)
+#endif
+
+// Packet: 0x07da
+#if PACKETVER >= 20090603
+packetLen(0x07da, 6)
+#endif
+
+// Packet: 0x07db
+#if PACKETVER >= 20090610
+packetLen(0x07db, 8)
+#endif
+
+// Packet: 0x07dc
+#if PACKETVER >= 20090617
+packetLen(0x07dc, 6)
+#endif
+
+// Packet: 0x07dd
+#if PACKETVER >= 20090617
+packetLen(0x07dd, 54)
+#endif
+
+// Packet: 0x07de
+#if PACKETVER >= 20090617
+packetLen(0x07de, 30)
+#endif
+
+// Packet: 0x07df
+#if PACKETVER >= 20090617
+packetLen(0x07df, 54)
+#endif
+
+// Packet: 0x07e0
+#if PACKETVER >= 20090708
+packetLen(0x07e0, 58)
+#endif
+
+// Packet: 0x07e1
+#if PACKETVER >= 20090715
+packetLen(0x07e1, 15)
+#endif
+
+// Packet: 0x07e2
+#if PACKETVER >= 20090805
+packetLen(0x07e2, 8)
+#endif
+
+// Packet: 0x07e3
+#if PACKETVER >= 20090818
+packetLen(0x07e3, 6)
+#endif
+
+// Packet: 0x07e4
+#if PACKETVER >= 20090818
+packetLen(0x07e4, -1)
+#endif
+
+// Packet: 0x07e5
+#if PACKETVER >= 20090922
+packetLen(0x07e5, 8)
+#elif PACKETVER >= 20090825
+packetLen(0x07e5, -1)
+#endif
+
+// Packet: 0x07e6
+#if PACKETVER >= 20090818
+packetLen(0x07e6, 8)
+#endif
+
+// Packet: 0x07e7
+#if PACKETVER >= 20090922
+packetLen(0x07e7, 32)
+#elif PACKETVER >= 20090825
+packetLen(0x07e7, 5)
+#endif
+
+// Packet: 0x07e8
+#if PACKETVER >= 20090922
+packetLen(0x07e8, -1)
+#endif
+
+// Packet: 0x07e9
+#if PACKETVER >= 20090922
+packetLen(0x07e9, 5)
+#endif
+
+// Packet: 0x07ea
+#if PACKETVER >= 20090929
+packetLen(0x07ea, 2)
+#endif
+
+// Packet: 0x07eb
+#if PACKETVER >= 20090929
+packetLen(0x07eb, -1)
+#endif
+
+// Packet: 0x07ec
+#if PACKETVER >= 20091006
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20090929
+packetLen(0x07ec, 6)
+#endif
+
+// Packet: 0x07ed
+#if PACKETVER >= 20091006
+packetLen(0x07ed, 10)
+#elif PACKETVER >= 20090929
+packetLen(0x07ed, 8)
+#endif
+
+// Packet: 0x07ee
+#if PACKETVER >= 20090929
+packetLen(0x07ee, 6)
+#endif
+
+// Packet: 0x07ef
+#if PACKETVER >= 20090929
+packetLen(0x07ef, 8)
+#endif
+
+// Packet: 0x07f0
+#if PACKETVER >= 20090929
+packetLen(0x07f0, 8)
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20090929
+packetLen(0x07f1, 15)
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20091006
+packetLen(0x07f2, 6)
+#elif PACKETVER >= 20090929
+packetLen(0x07f2, 4)
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20091006
+packetLen(0x07f3, 4)
+#elif PACKETVER >= 20090929
+packetLen(0x07f3, 3)
+#endif
+
+// Packet: 0x07f4
+#if PACKETVER >= 20091006
+packetLen(0x07f4, 3)
+#endif
+
+// Packet: 0x07f5
+#if PACKETVER >= 20091027
+packetLen(0x07f5, 6)
+#endif
+
+// Packet: 0x07f6
+#if PACKETVER >= 20091027
+packetLen(0x07f6, 14)
+#endif
+
+// Packet: 0x07f7
+#if PACKETVER >= 20091103
+packetLen(0x07f7, -1)
+#endif
+
+// Packet: 0x07f8
+#if PACKETVER >= 20091103
+packetLen(0x07f8, -1)
+#endif
+
+// Packet: 0x07f9
+#if PACKETVER >= 20091103
+packetLen(0x07f9, -1)
+#endif
+
+// Packet: 0x07fa
+#if PACKETVER >= 20091117
+packetLen(0x07fa, 8)
+#endif
+
+// Packet: 0x07fb
+#if PACKETVER >= 20091124
+packetLen(0x07fb, 25)
+#endif
+
+// Packet: 0x07fc
+#if PACKETVER >= 20091201
+packetLen(0x07fc, 10)
+#endif
+
+// Packet: 0x07fd
+#if PACKETVER >= 20091201
+packetLen(0x07fd, -1)
+#endif
+
+// Packet: 0x07fe
+#if PACKETVER >= 20091201
+packetLen(0x07fe, 26)
+#endif
+
+// Packet: 0x07ff
+#if PACKETVER >= 20091201
+packetLen(0x07ff, -1)
+#endif
+
+// Packet: 0x0800
+#if PACKETVER >= 20091215
+packetLen(0x0800, -1)
+#endif
+
+// Packet: 0x0801
+#if PACKETVER >= 20091215
+packetLen(0x0801, -1)
+#endif
+
+// Packet: 0x0802
+#if PACKETVER >= 20091222
+packetLen(0x0802, 18)
+#endif
+
+// Packet: 0x0803
+#if PACKETVER >= 20091222
+packetLen(0x0803, 4)
+#endif
+
+// Packet: 0x0804
+#if PACKETVER >= 20091229
+packetLen(0x0804, 14)
+#elif PACKETVER >= 20091222
+packetLen(0x0804, 8)
+#endif
+
+// Packet: 0x0805
+#if PACKETVER >= 20091222
+packetLen(0x0805, -1)
+#endif
+
+// Packet: 0x0806
+#if PACKETVER >= 20091229
+packetLen(0x0806, 2)
+#elif PACKETVER >= 20091222
+packetLen(0x0806, 4)
+#endif
+
+// Packet: 0x0807
+#if PACKETVER >= 20091229
+packetLen(0x0807, 4)
+#elif PACKETVER >= 20091222
+packetLen(0x0807, 2)
+#endif
+
+// Packet: 0x0808
+#if PACKETVER >= 20091229
+packetLen(0x0808, 14)
+#elif PACKETVER >= 20091222
+packetLen(0x0808, 4)
+#endif
+
+// Packet: 0x0809
+#if PACKETVER >= 20091229
+packetLen(0x0809, 50)
+#elif PACKETVER >= 20091222
+packetLen(0x0809, 14)
+#endif
+
+// Packet: 0x080a
+#if PACKETVER >= 20091229
+packetLen(0x080a, 18)
+#elif PACKETVER >= 20091222
+packetLen(0x080a, 50)
+#endif
+
+// Packet: 0x080b
+#if PACKETVER >= 20091229
+packetLen(0x080b, 6)
+#elif PACKETVER >= 20091222
+packetLen(0x080b, 18)
+#endif
+
+// Packet: 0x080c
+#if PACKETVER >= 20091229
+// removed
+#elif PACKETVER >= 20091222
+packetLen(0x080c, 6)
+#endif
+
+
+#endif /* COMMON_PACKETS2009_LEN_RE_H */
diff --git a/src/common/packets/packets2009_len_sak.h b/src/common/packets/packets2009_len_sak.h
new file mode 100644
index 000000000..e90bd59f0
--- /dev/null
+++ b/src/common/packets/packets2009_len_sak.h
@@ -0,0 +1,3054 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2009_LEN_SAK_H
+#define COMMON_PACKETS2009_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 110)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 25)
+
+// 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, 42)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+packetLen(0x007e, 102)
+
+// 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, 11)
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 8)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 11)
+
+// 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, 14)
+
+// 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, 26)
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 14)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+packetLen(0x00a2, 15)
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+packetLen(0x00a7, 8)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 7)
+
+// 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, 19)
+
+// 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, 21)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 8)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+packetLen(0x00f7, 22)
+
+// 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, 4)
+
+// 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, 10)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+packetLen(0x0113, 22)
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 10)
+
+// 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, 21)
+
+// 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: 0x0158
+packetLen(0x0158, -1)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 19)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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: 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, 10)
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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
+#if PACKETVER >= 20090408
+packetLen(0x02a6, -1)
+#elif PACKETVER >= 20090320
+packetLen(0x02a6, 404)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20090408
+packetLen(0x02a7, -1)
+#elif PACKETVER >= 20090320
+packetLen(0x02a7, 404)
+#endif
+
+// 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, 22)
+
+// 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, 29)
+
+// 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, 14)
+
+// Packet: 0x02e3
+packetLen(0x02e3, 25)
+
+// Packet: 0x02e4
+packetLen(0x02e4, 8)
+
+// Packet: 0x02e5
+packetLen(0x02e5, 8)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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, -1)
+
+// Packet: 0x02f5
+packetLen(0x02f5, -1)
+
+// Packet: 0x02f6
+packetLen(0x02f6, -1)
+
+// Packet: 0x02f7
+packetLen(0x02f7, -1)
+
+// Packet: 0x02f8
+packetLen(0x02f8, -1)
+
+// Packet: 0x02f9
+packetLen(0x02f9, -1)
+
+// Packet: 0x02fa
+packetLen(0x02fa, -1)
+
+// Packet: 0x02fb
+packetLen(0x02fb, -1)
+
+// Packet: 0x02fc
+packetLen(0x02fc, -1)
+
+// Packet: 0x02fd
+packetLen(0x02fd, -1)
+
+// Packet: 0x02fe
+packetLen(0x02fe, -1)
+
+// Packet: 0x02ff
+packetLen(0x02ff, -1)
+
+// Packet: 0x0300
+packetLen(0x0300, -1)
+
+// Packet: 0x0301
+packetLen(0x0301, -1)
+
+// Packet: 0x0302
+packetLen(0x0302, -1)
+
+// Packet: 0x0303
+packetLen(0x0303, -1)
+
+// Packet: 0x0304
+packetLen(0x0304, -1)
+
+// Packet: 0x0305
+packetLen(0x0305, -1)
+
+// Packet: 0x0306
+packetLen(0x0306, -1)
+
+// Packet: 0x0307
+packetLen(0x0307, -1)
+
+// Packet: 0x0308
+packetLen(0x0308, -1)
+
+// Packet: 0x0309
+packetLen(0x0309, -1)
+
+// Packet: 0x030a
+packetLen(0x030a, -1)
+
+// Packet: 0x030b
+packetLen(0x030b, -1)
+
+// Packet: 0x030c
+packetLen(0x030c, -1)
+
+// Packet: 0x030d
+packetLen(0x030d, -1)
+
+// Packet: 0x030e
+packetLen(0x030e, -1)
+
+// Packet: 0x030f
+packetLen(0x030f, -1)
+
+// Packet: 0x0310
+packetLen(0x0310, -1)
+
+// Packet: 0x0311
+packetLen(0x0311, -1)
+
+// Packet: 0x0312
+packetLen(0x0312, -1)
+
+// Packet: 0x0313
+packetLen(0x0313, -1)
+
+// Packet: 0x0314
+packetLen(0x0314, -1)
+
+// Packet: 0x0315
+packetLen(0x0315, -1)
+
+// Packet: 0x0316
+packetLen(0x0316, -1)
+
+// Packet: 0x0317
+packetLen(0x0317, -1)
+
+// Packet: 0x0318
+packetLen(0x0318, -1)
+
+// Packet: 0x0319
+packetLen(0x0319, -1)
+
+// Packet: 0x031a
+packetLen(0x031a, -1)
+
+// Packet: 0x031b
+packetLen(0x031b, -1)
+
+// Packet: 0x031c
+packetLen(0x031c, -1)
+
+// Packet: 0x031d
+packetLen(0x031d, -1)
+
+// Packet: 0x031e
+packetLen(0x031e, -1)
+
+// Packet: 0x031f
+packetLen(0x031f, -1)
+
+// Packet: 0x0320
+packetLen(0x0320, -1)
+
+// Packet: 0x0321
+packetLen(0x0321, -1)
+
+// Packet: 0x0322
+packetLen(0x0322, -1)
+
+// Packet: 0x0323
+packetLen(0x0323, -1)
+
+// Packet: 0x0324
+packetLen(0x0324, -1)
+
+// Packet: 0x0325
+packetLen(0x0325, -1)
+
+// Packet: 0x0326
+packetLen(0x0326, -1)
+
+// Packet: 0x0327
+packetLen(0x0327, -1)
+
+// Packet: 0x0328
+packetLen(0x0328, -1)
+
+// Packet: 0x0329
+packetLen(0x0329, -1)
+
+// Packet: 0x032a
+packetLen(0x032a, -1)
+
+// Packet: 0x032b
+packetLen(0x032b, -1)
+
+// Packet: 0x032c
+packetLen(0x032c, -1)
+
+// Packet: 0x032d
+packetLen(0x032d, -1)
+
+// Packet: 0x032e
+packetLen(0x032e, -1)
+
+// Packet: 0x032f
+packetLen(0x032f, -1)
+
+// Packet: 0x0330
+packetLen(0x0330, -1)
+
+// Packet: 0x0331
+packetLen(0x0331, -1)
+
+// Packet: 0x0332
+packetLen(0x0332, -1)
+
+// Packet: 0x0333
+packetLen(0x0333, -1)
+
+// Packet: 0x0334
+packetLen(0x0334, -1)
+
+// Packet: 0x0335
+packetLen(0x0335, -1)
+
+// Packet: 0x0336
+packetLen(0x0336, -1)
+
+// Packet: 0x0337
+packetLen(0x0337, -1)
+
+// Packet: 0x0338
+packetLen(0x0338, -1)
+
+// Packet: 0x0339
+packetLen(0x0339, -1)
+
+// Packet: 0x033a
+packetLen(0x033a, -1)
+
+// Packet: 0x033b
+packetLen(0x033b, -1)
+
+// Packet: 0x033c
+packetLen(0x033c, -1)
+
+// Packet: 0x033d
+packetLen(0x033d, -1)
+
+// Packet: 0x033e
+packetLen(0x033e, -1)
+
+// Packet: 0x033f
+packetLen(0x033f, -1)
+
+// Packet: 0x0340
+packetLen(0x0340, -1)
+
+// Packet: 0x0341
+packetLen(0x0341, -1)
+
+// Packet: 0x0342
+packetLen(0x0342, -1)
+
+// Packet: 0x0343
+packetLen(0x0343, -1)
+
+// Packet: 0x0344
+packetLen(0x0344, -1)
+
+// Packet: 0x0345
+packetLen(0x0345, -1)
+
+// Packet: 0x0346
+packetLen(0x0346, -1)
+
+// Packet: 0x0347
+packetLen(0x0347, -1)
+
+// Packet: 0x0348
+packetLen(0x0348, -1)
+
+// Packet: 0x0349
+packetLen(0x0349, -1)
+
+// Packet: 0x034a
+packetLen(0x034a, -1)
+
+// Packet: 0x034b
+packetLen(0x034b, -1)
+
+// Packet: 0x034c
+packetLen(0x034c, -1)
+
+// Packet: 0x034d
+packetLen(0x034d, -1)
+
+// Packet: 0x034e
+packetLen(0x034e, -1)
+
+// Packet: 0x034f
+packetLen(0x034f, -1)
+
+// Packet: 0x0350
+packetLen(0x0350, -1)
+
+// Packet: 0x0351
+packetLen(0x0351, -1)
+
+// Packet: 0x0352
+packetLen(0x0352, -1)
+
+// Packet: 0x0353
+packetLen(0x0353, -1)
+
+// Packet: 0x0354
+packetLen(0x0354, -1)
+
+// Packet: 0x0355
+packetLen(0x0355, -1)
+
+// Packet: 0x0356
+packetLen(0x0356, -1)
+
+// Packet: 0x0357
+packetLen(0x0357, -1)
+
+// Packet: 0x0358
+packetLen(0x0358, -1)
+
+// Packet: 0x0359
+packetLen(0x0359, -1)
+
+// Packet: 0x035a
+packetLen(0x035a, -1)
+
+// Packet: 0x035b
+packetLen(0x035b, -1)
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+packetLen(0x035f, -1)
+
+// Packet: 0x0360
+packetLen(0x0360, -1)
+
+// Packet: 0x0361
+packetLen(0x0361, -1)
+
+// Packet: 0x0362
+packetLen(0x0362, -1)
+
+// Packet: 0x0363
+packetLen(0x0363, -1)
+
+// Packet: 0x0364
+packetLen(0x0364, -1)
+
+// Packet: 0x0365
+packetLen(0x0365, -1)
+
+// Packet: 0x0366
+packetLen(0x0366, -1)
+
+// Packet: 0x0367
+packetLen(0x0367, -1)
+
+// Packet: 0x0368
+packetLen(0x0368, -1)
+
+// Packet: 0x0369
+packetLen(0x0369, -1)
+
+// Packet: 0x036a
+packetLen(0x036a, -1)
+
+// Packet: 0x036b
+packetLen(0x036b, -1)
+
+// Packet: 0x036c
+packetLen(0x036c, -1)
+
+// Packet: 0x036d
+packetLen(0x036d, -1)
+
+// Packet: 0x036e
+packetLen(0x036e, -1)
+
+// Packet: 0x036f
+packetLen(0x036f, -1)
+
+// Packet: 0x0370
+packetLen(0x0370, -1)
+
+// Packet: 0x0371
+packetLen(0x0371, -1)
+
+// Packet: 0x0372
+packetLen(0x0372, -1)
+
+// Packet: 0x0373
+packetLen(0x0373, -1)
+
+// Packet: 0x0374
+packetLen(0x0374, -1)
+
+// Packet: 0x0375
+packetLen(0x0375, -1)
+
+// Packet: 0x0376
+packetLen(0x0376, -1)
+
+// Packet: 0x0377
+packetLen(0x0377, -1)
+
+// Packet: 0x0378
+packetLen(0x0378, -1)
+
+// Packet: 0x0379
+packetLen(0x0379, -1)
+
+// Packet: 0x037a
+packetLen(0x037a, -1)
+
+// Packet: 0x037b
+packetLen(0x037b, -1)
+
+// Packet: 0x037c
+packetLen(0x037c, -1)
+
+// Packet: 0x037d
+packetLen(0x037d, -1)
+
+// Packet: 0x037e
+packetLen(0x037e, -1)
+
+// Packet: 0x037f
+packetLen(0x037f, -1)
+
+// Packet: 0x0380
+packetLen(0x0380, -1)
+
+// Packet: 0x0381
+packetLen(0x0381, -1)
+
+// Packet: 0x0382
+packetLen(0x0382, -1)
+
+// Packet: 0x0383
+packetLen(0x0383, -1)
+
+// Packet: 0x0384
+packetLen(0x0384, -1)
+
+// Packet: 0x0385
+packetLen(0x0385, -1)
+
+// Packet: 0x0386
+packetLen(0x0386, -1)
+
+// Packet: 0x0387
+packetLen(0x0387, -1)
+
+// Packet: 0x0388
+packetLen(0x0388, -1)
+
+// Packet: 0x0389
+packetLen(0x0389, -1)
+
+// Packet: 0x038a
+packetLen(0x038a, -1)
+
+// Packet: 0x038b
+packetLen(0x038b, -1)
+
+// Packet: 0x038c
+packetLen(0x038c, -1)
+
+// Packet: 0x038d
+packetLen(0x038d, -1)
+
+// Packet: 0x038e
+packetLen(0x038e, -1)
+
+// Packet: 0x038f
+packetLen(0x038f, -1)
+
+// Packet: 0x0390
+packetLen(0x0390, -1)
+
+// Packet: 0x0391
+packetLen(0x0391, -1)
+
+// Packet: 0x0392
+packetLen(0x0392, -1)
+
+// Packet: 0x0393
+packetLen(0x0393, -1)
+
+// Packet: 0x0394
+packetLen(0x0394, -1)
+
+// Packet: 0x0395
+packetLen(0x0395, -1)
+
+// Packet: 0x0396
+packetLen(0x0396, -1)
+
+// Packet: 0x0397
+packetLen(0x0397, -1)
+
+// Packet: 0x0398
+packetLen(0x0398, -1)
+
+// Packet: 0x0399
+packetLen(0x0399, -1)
+
+// Packet: 0x039a
+packetLen(0x039a, -1)
+
+// Packet: 0x039b
+packetLen(0x039b, -1)
+
+// Packet: 0x039c
+packetLen(0x039c, -1)
+
+// Packet: 0x039d
+packetLen(0x039d, -1)
+
+// Packet: 0x039e
+packetLen(0x039e, -1)
+
+// Packet: 0x039f
+packetLen(0x039f, -1)
+
+// Packet: 0x03a0
+packetLen(0x03a0, -1)
+
+// Packet: 0x03a1
+packetLen(0x03a1, -1)
+
+// Packet: 0x03a2
+packetLen(0x03a2, -1)
+
+// Packet: 0x03a3
+packetLen(0x03a3, -1)
+
+// Packet: 0x03a4
+packetLen(0x03a4, -1)
+
+// Packet: 0x03a5
+packetLen(0x03a5, -1)
+
+// Packet: 0x03a6
+packetLen(0x03a6, -1)
+
+// Packet: 0x03a7
+packetLen(0x03a7, -1)
+
+// Packet: 0x03a8
+packetLen(0x03a8, -1)
+
+// Packet: 0x03a9
+packetLen(0x03a9, -1)
+
+// Packet: 0x03aa
+packetLen(0x03aa, -1)
+
+// Packet: 0x03ab
+packetLen(0x03ab, -1)
+
+// Packet: 0x03ac
+packetLen(0x03ac, -1)
+
+// Packet: 0x03ad
+packetLen(0x03ad, -1)
+
+// Packet: 0x03ae
+packetLen(0x03ae, -1)
+
+// Packet: 0x03af
+packetLen(0x03af, -1)
+
+// Packet: 0x03b0
+packetLen(0x03b0, -1)
+
+// Packet: 0x03b1
+packetLen(0x03b1, -1)
+
+// Packet: 0x03b2
+packetLen(0x03b2, -1)
+
+// Packet: 0x03b3
+packetLen(0x03b3, -1)
+
+// Packet: 0x03b4
+packetLen(0x03b4, -1)
+
+// Packet: 0x03b5
+packetLen(0x03b5, -1)
+
+// Packet: 0x03b6
+packetLen(0x03b6, -1)
+
+// Packet: 0x03b7
+packetLen(0x03b7, -1)
+
+// Packet: 0x03b8
+packetLen(0x03b8, -1)
+
+// Packet: 0x03b9
+packetLen(0x03b9, -1)
+
+// Packet: 0x03ba
+packetLen(0x03ba, -1)
+
+// Packet: 0x03bb
+packetLen(0x03bb, -1)
+
+// Packet: 0x03bc
+packetLen(0x03bc, -1)
+
+// Packet: 0x03bd
+packetLen(0x03bd, -1)
+
+// Packet: 0x03be
+packetLen(0x03be, -1)
+
+// Packet: 0x03bf
+packetLen(0x03bf, -1)
+
+// Packet: 0x03c0
+packetLen(0x03c0, -1)
+
+// Packet: 0x03c1
+packetLen(0x03c1, -1)
+
+// Packet: 0x03c2
+packetLen(0x03c2, -1)
+
+// Packet: 0x03c3
+packetLen(0x03c3, -1)
+
+// Packet: 0x03c4
+packetLen(0x03c4, -1)
+
+// Packet: 0x03c5
+packetLen(0x03c5, -1)
+
+// Packet: 0x03c6
+packetLen(0x03c6, -1)
+
+// Packet: 0x03c7
+packetLen(0x03c7, -1)
+
+// Packet: 0x03c8
+packetLen(0x03c8, -1)
+
+// Packet: 0x03c9
+packetLen(0x03c9, -1)
+
+// Packet: 0x03ca
+packetLen(0x03ca, -1)
+
+// Packet: 0x03cb
+packetLen(0x03cb, -1)
+
+// Packet: 0x03cc
+packetLen(0x03cc, -1)
+
+// Packet: 0x03cd
+packetLen(0x03cd, -1)
+
+// Packet: 0x03ce
+packetLen(0x03ce, -1)
+
+// Packet: 0x03cf
+packetLen(0x03cf, -1)
+
+// Packet: 0x03d0
+packetLen(0x03d0, -1)
+
+// Packet: 0x03d1
+packetLen(0x03d1, -1)
+
+// Packet: 0x03d2
+packetLen(0x03d2, -1)
+
+// Packet: 0x03d3
+packetLen(0x03d3, -1)
+
+// Packet: 0x03d4
+packetLen(0x03d4, -1)
+
+// Packet: 0x03d5
+packetLen(0x03d5, -1)
+
+// Packet: 0x03d6
+packetLen(0x03d6, -1)
+
+// Packet: 0x03d7
+packetLen(0x03d7, -1)
+
+// Packet: 0x03d8
+packetLen(0x03d8, -1)
+
+// Packet: 0x03d9
+packetLen(0x03d9, -1)
+
+// Packet: 0x03da
+packetLen(0x03da, -1)
+
+// Packet: 0x03db
+packetLen(0x03db, -1)
+
+// Packet: 0x03dc
+packetLen(0x03dc, -1)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x03e2
+packetLen(0x03e2, -1)
+
+// Packet: 0x03e3
+packetLen(0x03e3, -1)
+
+// Packet: 0x03e4
+packetLen(0x03e4, -1)
+
+// Packet: 0x03e5
+packetLen(0x03e5, -1)
+
+// Packet: 0x03e6
+packetLen(0x03e6, -1)
+
+// Packet: 0x03e7
+packetLen(0x03e7, -1)
+
+// Packet: 0x03e8
+packetLen(0x03e8, -1)
+
+// Packet: 0x03e9
+packetLen(0x03e9, -1)
+
+// Packet: 0x03ea
+packetLen(0x03ea, -1)
+
+// Packet: 0x03eb
+packetLen(0x03eb, -1)
+
+// Packet: 0x03ec
+packetLen(0x03ec, -1)
+
+// Packet: 0x03ed
+packetLen(0x03ed, -1)
+
+// Packet: 0x03ee
+packetLen(0x03ee, -1)
+
+// Packet: 0x03ef
+packetLen(0x03ef, -1)
+
+// Packet: 0x03f0
+packetLen(0x03f0, -1)
+
+// Packet: 0x03f1
+packetLen(0x03f1, -1)
+
+// Packet: 0x03f2
+packetLen(0x03f2, -1)
+
+// Packet: 0x03f3
+packetLen(0x03f3, -1)
+
+// Packet: 0x03f4
+packetLen(0x03f4, -1)
+
+// Packet: 0x03f5
+packetLen(0x03f5, -1)
+
+// Packet: 0x03f6
+packetLen(0x03f6, -1)
+
+// Packet: 0x03f7
+packetLen(0x03f7, -1)
+
+// Packet: 0x03f8
+packetLen(0x03f8, -1)
+
+// Packet: 0x03f9
+packetLen(0x03f9, -1)
+
+// Packet: 0x03fa
+packetLen(0x03fa, -1)
+
+// Packet: 0x03fb
+packetLen(0x03fb, -1)
+
+// Packet: 0x03fc
+packetLen(0x03fc, -1)
+
+// Packet: 0x03fd
+packetLen(0x03fd, -1)
+
+// Packet: 0x03fe
+packetLen(0x03fe, -1)
+
+// Packet: 0x03ff
+packetLen(0x03ff, -1)
+
+// Packet: 0x0400
+packetLen(0x0400, -1)
+
+// Packet: 0x0401
+packetLen(0x0401, -1)
+
+// Packet: 0x0402
+packetLen(0x0402, -1)
+
+// Packet: 0x0403
+packetLen(0x0403, -1)
+
+// Packet: 0x0404
+packetLen(0x0404, -1)
+
+// Packet: 0x0405
+packetLen(0x0405, -1)
+
+// Packet: 0x0406
+packetLen(0x0406, -1)
+
+// Packet: 0x0407
+packetLen(0x0407, -1)
+
+// Packet: 0x0408
+packetLen(0x0408, -1)
+
+// Packet: 0x0409
+packetLen(0x0409, -1)
+
+// Packet: 0x040a
+packetLen(0x040a, -1)
+
+// Packet: 0x040b
+packetLen(0x040b, -1)
+
+// Packet: 0x040c
+packetLen(0x040c, -1)
+
+// Packet: 0x040d
+packetLen(0x040d, -1)
+
+// Packet: 0x040e
+packetLen(0x040e, -1)
+
+// Packet: 0x040f
+packetLen(0x040f, -1)
+
+// Packet: 0x0410
+packetLen(0x0410, -1)
+
+// Packet: 0x0411
+packetLen(0x0411, -1)
+
+// Packet: 0x0412
+packetLen(0x0412, -1)
+
+// Packet: 0x0413
+packetLen(0x0413, -1)
+
+// Packet: 0x0414
+packetLen(0x0414, -1)
+
+// Packet: 0x0415
+packetLen(0x0415, -1)
+
+// Packet: 0x0416
+packetLen(0x0416, -1)
+
+// Packet: 0x0417
+packetLen(0x0417, -1)
+
+// Packet: 0x0418
+packetLen(0x0418, -1)
+
+// Packet: 0x0419
+packetLen(0x0419, -1)
+
+// Packet: 0x041a
+packetLen(0x041a, -1)
+
+// Packet: 0x041b
+packetLen(0x041b, -1)
+
+// Packet: 0x041c
+packetLen(0x041c, -1)
+
+// Packet: 0x041d
+packetLen(0x041d, -1)
+
+// Packet: 0x041e
+packetLen(0x041e, -1)
+
+// Packet: 0x041f
+packetLen(0x041f, -1)
+
+// Packet: 0x0420
+packetLen(0x0420, -1)
+
+// Packet: 0x0421
+packetLen(0x0421, -1)
+
+// Packet: 0x0422
+packetLen(0x0422, -1)
+
+// Packet: 0x0423
+packetLen(0x0423, -1)
+
+// Packet: 0x0424
+packetLen(0x0424, -1)
+
+// Packet: 0x0425
+packetLen(0x0425, -1)
+
+// Packet: 0x0426
+packetLen(0x0426, -1)
+
+// Packet: 0x0427
+packetLen(0x0427, -1)
+
+// Packet: 0x0428
+packetLen(0x0428, -1)
+
+// Packet: 0x0429
+packetLen(0x0429, -1)
+
+// Packet: 0x042a
+packetLen(0x042a, -1)
+
+// Packet: 0x042b
+packetLen(0x042b, -1)
+
+// Packet: 0x042c
+packetLen(0x042c, -1)
+
+// Packet: 0x042d
+packetLen(0x042d, -1)
+
+// Packet: 0x042e
+packetLen(0x042e, -1)
+
+// Packet: 0x042f
+packetLen(0x042f, -1)
+
+// Packet: 0x0430
+packetLen(0x0430, -1)
+
+// Packet: 0x0431
+packetLen(0x0431, -1)
+
+// Packet: 0x0432
+packetLen(0x0432, -1)
+
+// Packet: 0x0433
+packetLen(0x0433, -1)
+
+// Packet: 0x0434
+packetLen(0x0434, -1)
+
+// Packet: 0x0435
+packetLen(0x0435, -1)
+
+// Packet: 0x0436
+packetLen(0x0436, 19)
+
+// 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
+#if PACKETVER >= 20090114
+packetLen(0x043f, 25)
+#elif PACKETVER >= 20090107
+packetLen(0x043f, 8)
+#endif
+
+// Packet: 0x0440
+packetLen(0x0440, 10)
+
+// Packet: 0x0441
+packetLen(0x0441, 4)
+
+// Packet: 0x0442
+packetLen(0x0442, 8)
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+#if PACKETVER >= 20090114
+packetLen(0x0444, -1)
+#endif
+
+// Packet: 0x0445
+#if PACKETVER >= 20090114
+packetLen(0x0445, 10)
+#endif
+
+// Packet: 0x0446
+#if PACKETVER >= 20090218
+packetLen(0x0446, 14)
+#endif
+
+// Packet: 0x0447
+#if PACKETVER >= 20090520
+packetLen(0x0447, 2)
+#endif
+
+// Packet: 0x0448
+#if PACKETVER >= 20090225
+packetLen(0x0448, -1)
+#endif
+
+// Packet: 0x0449
+#if PACKETVER >= 20090330
+packetLen(0x0449, 4)
+#endif
+
+// Packet: 0x044a
+#if PACKETVER >= 20090408
+packetLen(0x044a, 6)
+#endif
+
+// Packet: 0x044b
+#if PACKETVER >= 20090514
+packetLen(0x044b, 2)
+#endif
+
+// Packet: 0x07d0
+#if PACKETVER >= 20090520
+packetLen(0x07d0, 6)
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20090520
+packetLen(0x07d1, 2)
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20090520
+packetLen(0x07d2, -1)
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20090520
+packetLen(0x07d3, 4)
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20090520
+packetLen(0x07d4, 4)
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20090520
+packetLen(0x07d5, 4)
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20090520
+packetLen(0x07d6, 4)
+#endif
+
+// Packet: 0x07d7
+#if PACKETVER >= 20090603
+packetLen(0x07d7, 8)
+#endif
+
+// Packet: 0x07d8
+#if PACKETVER >= 20090603
+packetLen(0x07d8, 8)
+#endif
+
+// Packet: 0x07d9
+#if PACKETVER >= 20090617
+packetLen(0x07d9, 268)
+#elif PACKETVER >= 20090603
+packetLen(0x07d9, 254)
+#endif
+
+// Packet: 0x07da
+#if PACKETVER >= 20090603
+packetLen(0x07da, 6)
+#endif
+
+// Packet: 0x07db
+#if PACKETVER >= 20090610
+packetLen(0x07db, 8)
+#endif
+
+// Packet: 0x07dc
+#if PACKETVER >= 20090617
+packetLen(0x07dc, 6)
+#endif
+
+// Packet: 0x07dd
+#if PACKETVER >= 20090617
+packetLen(0x07dd, 54)
+#endif
+
+// Packet: 0x07de
+#if PACKETVER >= 20090617
+packetLen(0x07de, 30)
+#endif
+
+// Packet: 0x07df
+#if PACKETVER >= 20090617
+packetLen(0x07df, 54)
+#endif
+
+
+#endif /* COMMON_PACKETS2009_LEN_SAK_H */
diff --git a/src/common/packets/packets2010_len_main.h b/src/common/packets/packets2010_len_main.h
new file mode 100644
index 000000000..887545b26
--- /dev/null
+++ b/src/common/packets/packets2010_len_main.h
@@ -0,0 +1,5784 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2010_LEN_MAIN_H
+#define COMMON_PACKETS2010_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20100803
+packetLen(0x006d, 134)
+#elif PACKETVER >= 20100728
+packetLen(0x006d, 114)
+#elif PACKETVER >= 20100727
+packetLen(0x006d, 130)
+#elif PACKETVER >= 20100105
+packetLen(0x006d, 114)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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
+#if PACKETVER >= 20101123
+packetLen(0x00aa, 9)
+#elif PACKETVER >= 20100105
+packetLen(0x00aa, 7)
+#endif
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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: 0x0158
+#if PACKETVER >= 20100817
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0158, -1)
+#endif
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20101228
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0202, 18)
+#elif PACKETVER >= 20101130
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20100105
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20101214
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20101130
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20101228
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20101221
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20101207
+packetLen(0x023b, 36)
+#elif PACKETVER >= 20101123
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x023b, 36)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20101228
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20101123
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0281, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20100803
+packetLen(0x0288, -1)
+#elif PACKETVER >= 20100105
+packetLen(0x0288, 10)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20101123
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x02c4, 26)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f3, -1)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f4, -1)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f5, -1)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f6, -1)
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f8, -1)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f9, -1)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fa, -1)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fb, -1)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fd, -1)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0308, -1)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0309, -1)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030b, -1)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030d, -1)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030e, -1)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0311, -1)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0312, -1)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0314, -1)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0315, -1)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0316, -1)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0318, -1)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031a, -1)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031b, -1)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031c, -1)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031f, -1)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0320, -1)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0322, -1)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0323, -1)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0325, -1)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0328, -1)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032a, -1)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032e, -1)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0332, -1)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0334, -1)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0336, -1)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0337, -1)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033b, -1)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033c, -1)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033d, -1)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033e, -1)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0341, -1)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0342, -1)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0346, -1)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0348, -1)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0349, -1)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034b, -1)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034d, -1)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034e, -1)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034f, -1)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0352, -1)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0354, -1)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0355, -1)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0358, -1)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035b, -1)
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+#if PACKETVER >= 20101221
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x035f, 18)
+#elif PACKETVER >= 20101130
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x035f, -1)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20101214
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20101123
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0360, -1)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20101228
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20101221
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20101130
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20100105
+packetLen(0x0361, -1)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20101221
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20101207
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20101130
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x0362, -1)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20101228
+packetLen(0x0363, 12)
+#elif PACKETVER >= 20101221
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20101207
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20101123
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0363, -1)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20101214
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0364, 12)
+#elif PACKETVER >= 20101123
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20100105
+packetLen(0x0364, -1)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20101228
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20101130
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20100105
+packetLen(0x0365, -1)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20101221
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20101207
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20101123
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20101228
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20101123
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0367, -1)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20101228
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20101221
+packetLen(0x0368, 10)
+#elif PACKETVER >= 20101214
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0368, 4)
+#elif PACKETVER >= 20101130
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0368, -1)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20101228
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20101207
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0369, 90)
+#elif PACKETVER >= 20101123
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0369, -1)
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x03e2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e6, -1)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ef, -1)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f4, -1)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f9, -1)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fa, -1)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fb, -1)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fc, -1)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0402, -1)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0405, -1)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0406, -1)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0408, -1)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040d, -1)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040f, -1)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0412, -1)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0417, -1)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041b, -1)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041c, -1)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0425, -1)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0428, -1)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0432, -1)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+#if PACKETVER >= 20101228
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20101214
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20101123
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0436, 19)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20101228
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20101207
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20101123
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x0437, 7)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20101214
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0438, 7)
+#elif PACKETVER >= 20101130
+packetLen(0x0438, 12)
+#elif PACKETVER >= 20100105
+packetLen(0x0438, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20100817
+packetLen(0x0442, -1)
+#elif PACKETVER >= 20100105
+packetLen(0x0442, 8)
+#endif
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+packetLen(0x0444, -1)
+
+// Packet: 0x0445
+packetLen(0x0445, 10)
+
+// 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: 0x07d0
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d0, 6)
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d1, 2)
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d2, -1)
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d3, 4)
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d4, 4)
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d5, 4)
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d6, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20101228
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20101221
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20101207
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20101123
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x07e4, -1)
+#endif
+
+// Packet: 0x07e5
+#if PACKETVER >= 20101012
+packetLen(0x07e5, 4)
+#elif PACKETVER >= 20100105
+packetLen(0x07e5, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20101207
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20101123
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20100105
+packetLen(0x07ec, 8)
+#endif
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10)
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6)
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8)
+
+// Packet: 0x07f0
+#if PACKETVER >= 20100209
+packetLen(0x07f0, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x07f0, 8)
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20100629
+packetLen(0x07f1, 18)
+#elif PACKETVER >= 20100105
+packetLen(0x07f1, 15)
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20100629
+packetLen(0x07f2, 8)
+#elif PACKETVER >= 20100105
+packetLen(0x07f2, 6)
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20100629
+packetLen(0x07f3, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x07f3, 4)
+#endif
+
+// 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: 0x07ff
+packetLen(0x07ff, -1)
+
+// Packet: 0x0800
+packetLen(0x0800, -1)
+
+// Packet: 0x0801
+packetLen(0x0801, -1)
+
+// Packet: 0x0802
+#if PACKETVER >= 20101228
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20101214
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20101130
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20100105
+packetLen(0x0802, 18)
+#endif
+
+// 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
+#if PACKETVER >= 20100113
+packetLen(0x080c, 2)
+#endif
+
+// Packet: 0x080d
+#if PACKETVER >= 20100113
+packetLen(0x080d, 3)
+#endif
+
+// Packet: 0x080e
+#if PACKETVER >= 20100119
+packetLen(0x080e, 14)
+#endif
+
+// Packet: 0x080f
+#if PACKETVER >= 20100223
+packetLen(0x080f, 20)
+#endif
+
+// Packet: 0x0810
+#if PACKETVER >= 20100303
+packetLen(0x0810, 3)
+#endif
+
+// Packet: 0x0811
+#if PACKETVER >= 20101228
+packetLen(0x0811, 90)
+#elif PACKETVER >= 20101221
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20101207
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20101123
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20100303
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+#if PACKETVER >= 20100420
+packetLen(0x0812, 8)
+#elif PACKETVER >= 20100303
+packetLen(0x0812, 86)
+#endif
+
+// Packet: 0x0813
+#if PACKETVER >= 20100309
+packetLen(0x0813, -1)
+#elif PACKETVER >= 20100303
+packetLen(0x0813, 6)
+#endif
+
+// Packet: 0x0814
+#if PACKETVER >= 20100420
+packetLen(0x0814, 86)
+#elif PACKETVER >= 20100309
+packetLen(0x0814, 2)
+#elif PACKETVER >= 20100303
+packetLen(0x0814, 6)
+#endif
+
+// Packet: 0x0815
+#if PACKETVER >= 20101228
+packetLen(0x0815, 7)
+#elif PACKETVER >= 20101221
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20101207
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20100420
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20100309
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20100303
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+#if PACKETVER >= 20100309
+packetLen(0x0816, 6)
+#endif
+
+// Packet: 0x0817
+#if PACKETVER >= 20101228
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20101221
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20101130
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20100420
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20100303
+packetLen(0x0817, -1)
+#endif
+
+// Packet: 0x0818
+#if PACKETVER >= 20100309
+packetLen(0x0818, -1)
+#elif PACKETVER >= 20100303
+packetLen(0x0818, 6)
+#endif
+
+// Packet: 0x0819
+#if PACKETVER >= 20101207
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0819, 7)
+#elif PACKETVER >= 20101123
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20100420
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20100309
+packetLen(0x0819, 10)
+#elif PACKETVER >= 20100303
+packetLen(0x0819, 4)
+#endif
+
+// Packet: 0x081a
+#if PACKETVER >= 20100420
+packetLen(0x081a, 4)
+#elif PACKETVER >= 20100413
+packetLen(0x081a, 10)
+#elif PACKETVER >= 20100331
+packetLen(0x081a, 6)
+#elif PACKETVER >= 20100309
+packetLen(0x081a, 4)
+#endif
+
+// Packet: 0x081b
+#if PACKETVER >= 20100420
+packetLen(0x081b, 10)
+#elif PACKETVER >= 20100414
+packetLen(0x081b, 8)
+#elif PACKETVER >= 20100309
+packetLen(0x081b, 4)
+#endif
+
+// Packet: 0x081c
+#if PACKETVER >= 20100420
+packetLen(0x081c, 10)
+#elif PACKETVER >= 20100309
+packetLen(0x081c, 6)
+#endif
+
+// Packet: 0x081d
+#if PACKETVER >= 20100309
+packetLen(0x081d, 22)
+#endif
+
+// Packet: 0x081e
+#if PACKETVER >= 20100309
+packetLen(0x081e, 8)
+#endif
+
+// Packet: 0x081f
+#if PACKETVER >= 20100323
+packetLen(0x081f, -1)
+#endif
+
+// Packet: 0x0820
+#if PACKETVER >= 20100413
+packetLen(0x0820, 11)
+#endif
+
+// Packet: 0x0821
+#if PACKETVER >= 20100413
+packetLen(0x0821, 2)
+#endif
+
+// Packet: 0x0822
+#if PACKETVER >= 20100413
+packetLen(0x0822, 9)
+#endif
+
+// Packet: 0x0823
+#if PACKETVER >= 20100413
+packetLen(0x0823, -1)
+#endif
+
+// Packet: 0x0824
+#if PACKETVER >= 20100420
+packetLen(0x0824, 6)
+#endif
+
+// Packet: 0x0825
+#if PACKETVER >= 20100601
+packetLen(0x0825, -1)
+#endif
+
+// Packet: 0x0826
+#if PACKETVER >= 20101019
+// removed
+#elif PACKETVER >= 20100601
+packetLen(0x0826, 4)
+#endif
+
+// Packet: 0x0827
+#if PACKETVER >= 20100713
+packetLen(0x0827, 6)
+#endif
+
+// Packet: 0x0828
+#if PACKETVER >= 20100713
+packetLen(0x0828, 14)
+#endif
+
+// Packet: 0x0829
+#if PACKETVER >= 20100728
+packetLen(0x0829, 12)
+#elif PACKETVER >= 20100713
+packetLen(0x0829, 6)
+#endif
+
+// Packet: 0x082a
+#if PACKETVER >= 20100713
+packetLen(0x082a, 10)
+#endif
+
+// Packet: 0x082b
+#if PACKETVER >= 20100713
+packetLen(0x082b, 6)
+#endif
+
+// Packet: 0x082c
+#if PACKETVER >= 20100720
+packetLen(0x082c, 10)
+#elif PACKETVER >= 20100713
+packetLen(0x082c, 14)
+#endif
+
+// Packet: 0x082d
+#if PACKETVER >= 20101221
+packetLen(0x082d, -1)
+#endif
+
+// Packet: 0x0835
+#if PACKETVER >= 20101228
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20101214
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20101130
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20100601
+packetLen(0x0835, -1)
+#endif
+
+// Packet: 0x0836
+#if PACKETVER >= 20100601
+packetLen(0x0836, -1)
+#endif
+
+// Packet: 0x0837
+#if PACKETVER >= 20100601
+packetLen(0x0837, 3)
+#endif
+
+// Packet: 0x0838
+#if PACKETVER >= 20101228
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20101214
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20101130
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20100608
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20100601
+packetLen(0x0838, 3)
+#endif
+
+// Packet: 0x0839
+#if PACKETVER >= 20100608
+packetLen(0x0839, 66)
+#endif
+
+// Packet: 0x083a
+#if PACKETVER >= 20100701
+packetLen(0x083a, 5)
+#elif PACKETVER >= 20100608
+packetLen(0x083a, 4)
+#endif
+
+// Packet: 0x083b
+#if PACKETVER >= 20100608
+packetLen(0x083b, 2)
+#endif
+
+// Packet: 0x083c
+#if PACKETVER >= 20101214
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20101130
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20100608
+packetLen(0x083c, 12)
+#endif
+
+// Packet: 0x083d
+#if PACKETVER >= 20100608
+packetLen(0x083d, 6)
+#endif
+
+// Packet: 0x083e
+#if PACKETVER >= 20100615
+packetLen(0x083e, 26)
+#endif
+
+// Packet: 0x083f
+#if PACKETVER >= 20100629
+// removed
+#elif PACKETVER >= 20100622
+packetLen(0x083f, 22)
+#endif
+
+// Packet: 0x0840
+#if PACKETVER >= 20100713
+packetLen(0x0840, -1)
+#endif
+
+// Packet: 0x0841
+#if PACKETVER >= 20100714
+packetLen(0x0841, 4)
+#elif PACKETVER >= 20100713
+packetLen(0x0841, 19)
+#endif
+
+// Packet: 0x0842
+#if PACKETVER >= 20100720
+packetLen(0x0842, 6)
+#endif
+
+// Packet: 0x0843
+#if PACKETVER >= 20100720
+packetLen(0x0843, 6)
+#endif
+
+// Packet: 0x0844
+#if PACKETVER >= 20100824
+packetLen(0x0844, 2)
+#endif
+
+// Packet: 0x0845
+#if PACKETVER >= 20100824
+packetLen(0x0845, 10)
+#endif
+
+// Packet: 0x0846
+#if PACKETVER >= 20100824
+packetLen(0x0846, 4)
+#endif
+
+// Packet: 0x0847
+#if PACKETVER >= 20100824
+packetLen(0x0847, -1)
+#endif
+
+// Packet: 0x0848
+#if PACKETVER >= 20100824
+packetLen(0x0848, -1)
+#endif
+
+// Packet: 0x0849
+#if PACKETVER >= 20100914
+packetLen(0x0849, 16)
+#elif PACKETVER >= 20100824
+packetLen(0x0849, 12)
+#endif
+
+// Packet: 0x084a
+#if PACKETVER >= 20101019
+packetLen(0x084a, 2)
+#endif
+
+// Packet: 0x084b
+#if PACKETVER >= 20101019
+packetLen(0x084b, 19)
+#endif
+
+// Packet: 0x084c
+#if PACKETVER >= 20101026
+packetLen(0x084c, 10)
+#endif
+
+// Packet: 0x084d
+#if PACKETVER >= 20101026
+packetLen(0x084d, 10)
+#endif
+
+// Packet: 0x084e
+#if PACKETVER >= 20101026
+packetLen(0x084e, 5)
+#endif
+
+// Packet: 0x084f
+#if PACKETVER >= 20101026
+packetLen(0x084f, 6)
+#endif
+
+// Packet: 0x0850
+#if PACKETVER >= 20101026
+packetLen(0x0850, 7)
+#endif
+
+// Packet: 0x0851
+#if PACKETVER >= 20101102
+packetLen(0x0851, -1)
+#endif
+
+// Packet: 0x0852
+#if PACKETVER >= 20101102
+packetLen(0x0852, 2)
+#endif
+
+// Packet: 0x0853
+#if PACKETVER >= 20101102
+packetLen(0x0853, -1)
+#endif
+
+// Packet: 0x0854
+#if PACKETVER >= 20101102
+packetLen(0x0854, -1)
+#endif
+
+// Packet: 0x0855
+#if PACKETVER >= 20101102
+packetLen(0x0855, 6)
+#endif
+
+// Packet: 0x0856
+#if PACKETVER >= 20101123
+packetLen(0x0856, -1)
+#endif
+
+// Packet: 0x0857
+#if PACKETVER >= 20101123
+packetLen(0x0857, -1)
+#endif
+
+// Packet: 0x0858
+#if PACKETVER >= 20101123
+packetLen(0x0858, -1)
+#endif
+
+// Packet: 0x0859
+#if PACKETVER >= 20101123
+packetLen(0x0859, -1)
+#endif
+
+// Packet: 0x085a
+#if PACKETVER >= 20101123
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20101123
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20101123
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20101123
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20101123
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20101123
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20101123
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20101123
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20101123
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20101123
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20101123
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20101123
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20101123
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20101123
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20101123
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20101123
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20101123
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20101123
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20101123
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20101123
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20101123
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20101123
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20101123
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20101123
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20101123
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20101123
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20101123
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20101123
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20101123
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20101123
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20101123
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20101123
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20101123
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20101123
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20101123
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20101123
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20101123
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20101123
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20101123
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20101123
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20101123
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20101123
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20101228
+packetLen(0x0884, 19)
+#elif PACKETVER >= 20101221
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20101228
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20101214
+packetLen(0x0885, 19)
+#elif PACKETVER >= 20101207
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20101228
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20101221
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20101207
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0886, 10)
+#elif PACKETVER >= 20101123
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20101221
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x0887, 4)
+#elif PACKETVER >= 20101207
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20101130
+packetLen(0x0887, 18)
+#elif PACKETVER >= 20101123
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20101228
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20101221
+packetLen(0x0888, 4)
+#elif PACKETVER >= 20101130
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0888, 10)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20101228
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20101214
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0889, 26)
+#elif PACKETVER >= 20101130
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0889, 19)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20101123
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20101123
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20101228
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20101207
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20101123
+packetLen(0x088c, 26)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20101228
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20101214
+packetLen(0x088d, 12)
+#elif PACKETVER >= 20101123
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20101228
+packetLen(0x088e, 18)
+#elif PACKETVER >= 20101207
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20101123
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20101228
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20101214
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20101207
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20101123
+packetLen(0x088f, 6)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20101228
+packetLen(0x0890, 4)
+#elif PACKETVER >= 20101214
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20101123
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20101228
+packetLen(0x0891, 26)
+#elif PACKETVER >= 20101214
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20101130
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0891, 5)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20101228
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20101214
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20101123
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20101228
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20101130
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0893, 18)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20101207
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20101123
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20101214
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20101228
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20101214
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20101130
+packetLen(0x0896, 10)
+#elif PACKETVER >= 20101123
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20101228
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20101221
+packetLen(0x0897, 36)
+#elif PACKETVER >= 20101214
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20101228
+packetLen(0x0898, 10)
+#elif PACKETVER >= 20101221
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20101214
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20101207
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20101130
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x0898, -1)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20101228
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20101214
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20101207
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20101123
+packetLen(0x0899, 6)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20101123
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20101130
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x089b, 26)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20101228
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20101214
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20101123
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20101228
+packetLen(0x089d, 36)
+#elif PACKETVER >= 20101214
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20101207
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x089d, 36)
+#elif PACKETVER >= 20101123
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20101228
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x089e, 90)
+#elif PACKETVER >= 20101214
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20101207
+packetLen(0x089e, 18)
+#elif PACKETVER >= 20101130
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x089e, 4)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20101221
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20101207
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20101130
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x089f, 8)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20101228
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20101221
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x08a1, -1)
+#elif PACKETVER >= 20101130
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x08a1, 6)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20101228
+packetLen(0x08a2, 5)
+#elif PACKETVER >= 20101214
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20101130
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20101123
+packetLen(0x08a2, -1)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20101221
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20101207
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20101130
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x08a3, 12)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20101228
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20101214
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20101123
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20101228
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20101214
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20101123
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20101221
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x08a7, 8)
+#elif PACKETVER >= 20101123
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20101123
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20101214
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20101130
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x08a9, -1)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20101228
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20101221
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20101214
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20101207
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20101207
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20101130
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20101123
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20101228
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20101214
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20101130
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20101123
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20101228
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20101221
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20101214
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20101207
+packetLen(0x08ad, 90)
+#elif PACKETVER >= 20101130
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20101123
+packetLen(0x08ad, 6)
+#endif
+
+// Packet: 0x08af
+#if PACKETVER >= 20101228
+packetLen(0x08af, 10)
+#endif
+
+// Packet: 0x08b1
+#if PACKETVER >= 20101221
+packetLen(0x08b1, -1)
+#endif
+
+// Packet: 0x08b2
+#if PACKETVER >= 20101228
+packetLen(0x08b2, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2010_LEN_MAIN_H */
diff --git a/src/common/packets/packets2010_len_re.h b/src/common/packets/packets2010_len_re.h
new file mode 100644
index 000000000..5e53e0b57
--- /dev/null
+++ b/src/common/packets/packets2010_len_re.h
@@ -0,0 +1,5291 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2010_LEN_RE_H
+#define COMMON_PACKETS2010_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20100803
+packetLen(0x006d, 134)
+#elif PACKETVER >= 20100728
+packetLen(0x006d, 114)
+#elif PACKETVER >= 20100720
+packetLen(0x006d, 130)
+#elif PACKETVER >= 20100105
+packetLen(0x006d, 114)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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
+#if PACKETVER >= 20100629
+packetLen(0x00aa, 9)
+#elif PACKETVER >= 20100105
+packetLen(0x00aa, 7)
+#endif
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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: 0x0158
+#if PACKETVER >= 20100817
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0158, -1)
+#endif
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// 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, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20100803
+packetLen(0x0288, -1)
+#elif PACKETVER >= 20100105
+packetLen(0x0288, 10)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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: 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, 22)
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f3, -1)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f4, -1)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f5, -1)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f6, -1)
+#endif
+
+// Packet: 0x02f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f7, -1)
+#endif
+
+// Packet: 0x02f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f8, -1)
+#endif
+
+// Packet: 0x02f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02f9, -1)
+#endif
+
+// Packet: 0x02fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fa, -1)
+#endif
+
+// Packet: 0x02fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fb, -1)
+#endif
+
+// Packet: 0x02fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fc, -1)
+#endif
+
+// Packet: 0x02fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fd, -1)
+#endif
+
+// Packet: 0x02fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02fe, -1)
+#endif
+
+// Packet: 0x02ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x02ff, -1)
+#endif
+
+// Packet: 0x0300
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0300, -1)
+#endif
+
+// Packet: 0x0301
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0301, -1)
+#endif
+
+// Packet: 0x0302
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0302, -1)
+#endif
+
+// Packet: 0x0303
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0303, -1)
+#endif
+
+// Packet: 0x0304
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0304, -1)
+#endif
+
+// Packet: 0x0305
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0305, -1)
+#endif
+
+// Packet: 0x0306
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0306, -1)
+#endif
+
+// Packet: 0x0307
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0307, -1)
+#endif
+
+// Packet: 0x0308
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0308, -1)
+#endif
+
+// Packet: 0x0309
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0309, -1)
+#endif
+
+// Packet: 0x030a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030a, -1)
+#endif
+
+// Packet: 0x030b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030b, -1)
+#endif
+
+// Packet: 0x030c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030c, -1)
+#endif
+
+// Packet: 0x030d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030d, -1)
+#endif
+
+// Packet: 0x030e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030e, -1)
+#endif
+
+// Packet: 0x030f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x030f, -1)
+#endif
+
+// Packet: 0x0310
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0310, -1)
+#endif
+
+// Packet: 0x0311
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0311, -1)
+#endif
+
+// Packet: 0x0312
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0312, -1)
+#endif
+
+// Packet: 0x0313
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0313, -1)
+#endif
+
+// Packet: 0x0314
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0314, -1)
+#endif
+
+// Packet: 0x0315
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0315, -1)
+#endif
+
+// Packet: 0x0316
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0316, -1)
+#endif
+
+// Packet: 0x0317
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0317, -1)
+#endif
+
+// Packet: 0x0318
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0318, -1)
+#endif
+
+// Packet: 0x0319
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0319, -1)
+#endif
+
+// Packet: 0x031a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031a, -1)
+#endif
+
+// Packet: 0x031b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031b, -1)
+#endif
+
+// Packet: 0x031c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031c, -1)
+#endif
+
+// Packet: 0x031d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031d, -1)
+#endif
+
+// Packet: 0x031e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031e, -1)
+#endif
+
+// Packet: 0x031f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x031f, -1)
+#endif
+
+// Packet: 0x0320
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0320, -1)
+#endif
+
+// Packet: 0x0321
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0321, -1)
+#endif
+
+// Packet: 0x0322
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0322, -1)
+#endif
+
+// Packet: 0x0323
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0323, -1)
+#endif
+
+// Packet: 0x0324
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0324, -1)
+#endif
+
+// Packet: 0x0325
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0325, -1)
+#endif
+
+// Packet: 0x0326
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0326, -1)
+#endif
+
+// Packet: 0x0327
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0327, -1)
+#endif
+
+// Packet: 0x0328
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0328, -1)
+#endif
+
+// Packet: 0x0329
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0329, -1)
+#endif
+
+// Packet: 0x032a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032a, -1)
+#endif
+
+// Packet: 0x032b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032b, -1)
+#endif
+
+// Packet: 0x032c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032c, -1)
+#endif
+
+// Packet: 0x032d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032d, -1)
+#endif
+
+// Packet: 0x032e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032e, -1)
+#endif
+
+// Packet: 0x032f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x032f, -1)
+#endif
+
+// Packet: 0x0330
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0330, -1)
+#endif
+
+// Packet: 0x0331
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0331, -1)
+#endif
+
+// Packet: 0x0332
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0332, -1)
+#endif
+
+// Packet: 0x0333
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0333, -1)
+#endif
+
+// Packet: 0x0334
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0334, -1)
+#endif
+
+// Packet: 0x0335
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0335, -1)
+#endif
+
+// Packet: 0x0336
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0336, -1)
+#endif
+
+// Packet: 0x0337
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0337, -1)
+#endif
+
+// Packet: 0x0338
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0338, -1)
+#endif
+
+// Packet: 0x0339
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0339, -1)
+#endif
+
+// Packet: 0x033a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033a, -1)
+#endif
+
+// Packet: 0x033b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033b, -1)
+#endif
+
+// Packet: 0x033c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033c, -1)
+#endif
+
+// Packet: 0x033d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033d, -1)
+#endif
+
+// Packet: 0x033e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033e, -1)
+#endif
+
+// Packet: 0x033f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x033f, -1)
+#endif
+
+// Packet: 0x0340
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0340, -1)
+#endif
+
+// Packet: 0x0341
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0341, -1)
+#endif
+
+// Packet: 0x0342
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0342, -1)
+#endif
+
+// Packet: 0x0343
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0343, -1)
+#endif
+
+// Packet: 0x0344
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0344, -1)
+#endif
+
+// Packet: 0x0345
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0345, -1)
+#endif
+
+// Packet: 0x0346
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0346, -1)
+#endif
+
+// Packet: 0x0347
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0347, -1)
+#endif
+
+// Packet: 0x0348
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0348, -1)
+#endif
+
+// Packet: 0x0349
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0349, -1)
+#endif
+
+// Packet: 0x034a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034a, -1)
+#endif
+
+// Packet: 0x034b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034b, -1)
+#endif
+
+// Packet: 0x034c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034c, -1)
+#endif
+
+// Packet: 0x034d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034d, -1)
+#endif
+
+// Packet: 0x034e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034e, -1)
+#endif
+
+// Packet: 0x034f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x034f, -1)
+#endif
+
+// Packet: 0x0350
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0350, -1)
+#endif
+
+// Packet: 0x0351
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0351, -1)
+#endif
+
+// Packet: 0x0352
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0352, -1)
+#endif
+
+// Packet: 0x0353
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0353, -1)
+#endif
+
+// Packet: 0x0354
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0354, -1)
+#endif
+
+// Packet: 0x0355
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0355, -1)
+#endif
+
+// Packet: 0x0356
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0356, -1)
+#endif
+
+// Packet: 0x0357
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0357, -1)
+#endif
+
+// Packet: 0x0358
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0358, -1)
+#endif
+
+// Packet: 0x0359
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0359, -1)
+#endif
+
+// Packet: 0x035a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035a, -1)
+#endif
+
+// Packet: 0x035b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x035b, -1)
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+#if PACKETVER >= 20101123
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20100105
+packetLen(0x035f, -1)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20101123
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x0360, -1)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20101123
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20100105
+packetLen(0x0361, -1)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20101123
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x0362, -1)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20101123
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x0363, -1)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20101123
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20100105
+packetLen(0x0364, -1)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20101123
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20100105
+packetLen(0x0365, -1)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20101123
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20100105
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20101123
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20100105
+packetLen(0x0367, -1)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20101123
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x0368, -1)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20101123
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x0369, -1)
+#endif
+
+// Packet: 0x036a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036a, -1)
+#endif
+
+// Packet: 0x036b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036b, -1)
+#endif
+
+// Packet: 0x036c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036c, -1)
+#endif
+
+// Packet: 0x036d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036d, -1)
+#endif
+
+// Packet: 0x036e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036e, -1)
+#endif
+
+// Packet: 0x036f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x036f, -1)
+#endif
+
+// Packet: 0x0370
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0370, -1)
+#endif
+
+// Packet: 0x0371
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0371, -1)
+#endif
+
+// Packet: 0x0372
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0372, -1)
+#endif
+
+// Packet: 0x0373
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0373, -1)
+#endif
+
+// Packet: 0x0374
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0374, -1)
+#endif
+
+// Packet: 0x0375
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0375, -1)
+#endif
+
+// Packet: 0x0376
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0376, -1)
+#endif
+
+// Packet: 0x0377
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0377, -1)
+#endif
+
+// Packet: 0x0378
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0378, -1)
+#endif
+
+// Packet: 0x0379
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0379, -1)
+#endif
+
+// Packet: 0x037a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037a, -1)
+#endif
+
+// Packet: 0x037b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037b, -1)
+#endif
+
+// Packet: 0x037c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037c, -1)
+#endif
+
+// Packet: 0x037d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037d, -1)
+#endif
+
+// Packet: 0x037e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037e, -1)
+#endif
+
+// Packet: 0x037f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x037f, -1)
+#endif
+
+// Packet: 0x0380
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0380, -1)
+#endif
+
+// Packet: 0x0381
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0381, -1)
+#endif
+
+// Packet: 0x0382
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0382, -1)
+#endif
+
+// Packet: 0x0383
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0383, -1)
+#endif
+
+// Packet: 0x0384
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0384, -1)
+#endif
+
+// Packet: 0x0385
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0385, -1)
+#endif
+
+// Packet: 0x0386
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0386, -1)
+#endif
+
+// Packet: 0x0387
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0387, -1)
+#endif
+
+// Packet: 0x0388
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0388, -1)
+#endif
+
+// Packet: 0x0389
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0389, -1)
+#endif
+
+// Packet: 0x038a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038a, -1)
+#endif
+
+// Packet: 0x038b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038b, -1)
+#endif
+
+// Packet: 0x038c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038c, -1)
+#endif
+
+// Packet: 0x038d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038d, -1)
+#endif
+
+// Packet: 0x038e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038e, -1)
+#endif
+
+// Packet: 0x038f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x038f, -1)
+#endif
+
+// Packet: 0x0390
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0390, -1)
+#endif
+
+// Packet: 0x0391
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0391, -1)
+#endif
+
+// Packet: 0x0392
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0392, -1)
+#endif
+
+// Packet: 0x0393
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0393, -1)
+#endif
+
+// Packet: 0x0394
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0394, -1)
+#endif
+
+// Packet: 0x0395
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0395, -1)
+#endif
+
+// Packet: 0x0396
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0396, -1)
+#endif
+
+// Packet: 0x0397
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0397, -1)
+#endif
+
+// Packet: 0x0398
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0398, -1)
+#endif
+
+// Packet: 0x0399
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0399, -1)
+#endif
+
+// Packet: 0x039a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039a, -1)
+#endif
+
+// Packet: 0x039b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039b, -1)
+#endif
+
+// Packet: 0x039c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039c, -1)
+#endif
+
+// Packet: 0x039d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039d, -1)
+#endif
+
+// Packet: 0x039e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039e, -1)
+#endif
+
+// Packet: 0x039f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x039f, -1)
+#endif
+
+// Packet: 0x03a0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a0, -1)
+#endif
+
+// Packet: 0x03a1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a1, -1)
+#endif
+
+// Packet: 0x03a2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a2, -1)
+#endif
+
+// Packet: 0x03a3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a3, -1)
+#endif
+
+// Packet: 0x03a4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a4, -1)
+#endif
+
+// Packet: 0x03a5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a5, -1)
+#endif
+
+// Packet: 0x03a6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a6, -1)
+#endif
+
+// Packet: 0x03a7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a7, -1)
+#endif
+
+// Packet: 0x03a8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a8, -1)
+#endif
+
+// Packet: 0x03a9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03a9, -1)
+#endif
+
+// Packet: 0x03aa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03aa, -1)
+#endif
+
+// Packet: 0x03ab
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ab, -1)
+#endif
+
+// Packet: 0x03ac
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ac, -1)
+#endif
+
+// Packet: 0x03ad
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ad, -1)
+#endif
+
+// Packet: 0x03ae
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ae, -1)
+#endif
+
+// Packet: 0x03af
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03af, -1)
+#endif
+
+// Packet: 0x03b0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b0, -1)
+#endif
+
+// Packet: 0x03b1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b1, -1)
+#endif
+
+// Packet: 0x03b2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b2, -1)
+#endif
+
+// Packet: 0x03b3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b3, -1)
+#endif
+
+// Packet: 0x03b4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b4, -1)
+#endif
+
+// Packet: 0x03b5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b5, -1)
+#endif
+
+// Packet: 0x03b6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b6, -1)
+#endif
+
+// Packet: 0x03b7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b7, -1)
+#endif
+
+// Packet: 0x03b8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b8, -1)
+#endif
+
+// Packet: 0x03b9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03b9, -1)
+#endif
+
+// Packet: 0x03ba
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ba, -1)
+#endif
+
+// Packet: 0x03bb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bb, -1)
+#endif
+
+// Packet: 0x03bc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bc, -1)
+#endif
+
+// Packet: 0x03bd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bd, -1)
+#endif
+
+// Packet: 0x03be
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03be, -1)
+#endif
+
+// Packet: 0x03bf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03bf, -1)
+#endif
+
+// Packet: 0x03c0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c0, -1)
+#endif
+
+// Packet: 0x03c1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c1, -1)
+#endif
+
+// Packet: 0x03c2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c2, -1)
+#endif
+
+// Packet: 0x03c3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c3, -1)
+#endif
+
+// Packet: 0x03c4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c4, -1)
+#endif
+
+// Packet: 0x03c5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c5, -1)
+#endif
+
+// Packet: 0x03c6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c6, -1)
+#endif
+
+// Packet: 0x03c7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c7, -1)
+#endif
+
+// Packet: 0x03c8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c8, -1)
+#endif
+
+// Packet: 0x03c9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03c9, -1)
+#endif
+
+// Packet: 0x03ca
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ca, -1)
+#endif
+
+// Packet: 0x03cb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cb, -1)
+#endif
+
+// Packet: 0x03cc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cc, -1)
+#endif
+
+// Packet: 0x03cd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cd, -1)
+#endif
+
+// Packet: 0x03ce
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ce, -1)
+#endif
+
+// Packet: 0x03cf
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03cf, -1)
+#endif
+
+// Packet: 0x03d0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d0, -1)
+#endif
+
+// Packet: 0x03d1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d1, -1)
+#endif
+
+// Packet: 0x03d2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d2, -1)
+#endif
+
+// Packet: 0x03d3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d3, -1)
+#endif
+
+// Packet: 0x03d4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d4, -1)
+#endif
+
+// Packet: 0x03d5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d5, -1)
+#endif
+
+// Packet: 0x03d6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d6, -1)
+#endif
+
+// Packet: 0x03d7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d7, -1)
+#endif
+
+// Packet: 0x03d8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d8, -1)
+#endif
+
+// Packet: 0x03d9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03d9, -1)
+#endif
+
+// Packet: 0x03da
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03da, -1)
+#endif
+
+// Packet: 0x03db
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03db, -1)
+#endif
+
+// Packet: 0x03dc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03dc, -1)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x03e2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e2, -1)
+#endif
+
+// Packet: 0x03e3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e3, -1)
+#endif
+
+// Packet: 0x03e4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e4, -1)
+#endif
+
+// Packet: 0x03e5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e5, -1)
+#endif
+
+// Packet: 0x03e6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e6, -1)
+#endif
+
+// Packet: 0x03e7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e7, -1)
+#endif
+
+// Packet: 0x03e8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e8, -1)
+#endif
+
+// Packet: 0x03e9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03e9, -1)
+#endif
+
+// Packet: 0x03ea
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ea, -1)
+#endif
+
+// Packet: 0x03eb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03eb, -1)
+#endif
+
+// Packet: 0x03ec
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ec, -1)
+#endif
+
+// Packet: 0x03ed
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ed, -1)
+#endif
+
+// Packet: 0x03ee
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ee, -1)
+#endif
+
+// Packet: 0x03ef
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ef, -1)
+#endif
+
+// Packet: 0x03f0
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f0, -1)
+#endif
+
+// Packet: 0x03f1
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f1, -1)
+#endif
+
+// Packet: 0x03f2
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f2, -1)
+#endif
+
+// Packet: 0x03f3
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f3, -1)
+#endif
+
+// Packet: 0x03f4
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f4, -1)
+#endif
+
+// Packet: 0x03f5
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f5, -1)
+#endif
+
+// Packet: 0x03f6
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f6, -1)
+#endif
+
+// Packet: 0x03f7
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f7, -1)
+#endif
+
+// Packet: 0x03f8
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f8, -1)
+#endif
+
+// Packet: 0x03f9
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03f9, -1)
+#endif
+
+// Packet: 0x03fa
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fa, -1)
+#endif
+
+// Packet: 0x03fb
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fb, -1)
+#endif
+
+// Packet: 0x03fc
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fc, -1)
+#endif
+
+// Packet: 0x03fd
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fd, -1)
+#endif
+
+// Packet: 0x03fe
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03fe, -1)
+#endif
+
+// Packet: 0x03ff
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x03ff, -1)
+#endif
+
+// Packet: 0x0400
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0400, -1)
+#endif
+
+// Packet: 0x0401
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0401, -1)
+#endif
+
+// Packet: 0x0402
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0402, -1)
+#endif
+
+// Packet: 0x0403
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0403, -1)
+#endif
+
+// Packet: 0x0404
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0404, -1)
+#endif
+
+// Packet: 0x0405
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0405, -1)
+#endif
+
+// Packet: 0x0406
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0406, -1)
+#endif
+
+// Packet: 0x0407
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0407, -1)
+#endif
+
+// Packet: 0x0408
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0408, -1)
+#endif
+
+// Packet: 0x0409
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0409, -1)
+#endif
+
+// Packet: 0x040a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040a, -1)
+#endif
+
+// Packet: 0x040b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040b, -1)
+#endif
+
+// Packet: 0x040c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040c, -1)
+#endif
+
+// Packet: 0x040d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040d, -1)
+#endif
+
+// Packet: 0x040e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040e, -1)
+#endif
+
+// Packet: 0x040f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x040f, -1)
+#endif
+
+// Packet: 0x0410
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0410, -1)
+#endif
+
+// Packet: 0x0411
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0411, -1)
+#endif
+
+// Packet: 0x0412
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0412, -1)
+#endif
+
+// Packet: 0x0413
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0413, -1)
+#endif
+
+// Packet: 0x0414
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0414, -1)
+#endif
+
+// Packet: 0x0415
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0415, -1)
+#endif
+
+// Packet: 0x0416
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0416, -1)
+#endif
+
+// Packet: 0x0417
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0417, -1)
+#endif
+
+// Packet: 0x0418
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0418, -1)
+#endif
+
+// Packet: 0x0419
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0419, -1)
+#endif
+
+// Packet: 0x041a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041a, -1)
+#endif
+
+// Packet: 0x041b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041b, -1)
+#endif
+
+// Packet: 0x041c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041c, -1)
+#endif
+
+// Packet: 0x041d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041d, -1)
+#endif
+
+// Packet: 0x041e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041e, -1)
+#endif
+
+// Packet: 0x041f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x041f, -1)
+#endif
+
+// Packet: 0x0420
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0420, -1)
+#endif
+
+// Packet: 0x0421
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0421, -1)
+#endif
+
+// Packet: 0x0422
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0422, -1)
+#endif
+
+// Packet: 0x0423
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0423, -1)
+#endif
+
+// Packet: 0x0424
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0424, -1)
+#endif
+
+// Packet: 0x0425
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0425, -1)
+#endif
+
+// Packet: 0x0426
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0426, -1)
+#endif
+
+// Packet: 0x0427
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0427, -1)
+#endif
+
+// Packet: 0x0428
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0428, -1)
+#endif
+
+// Packet: 0x0429
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0429, -1)
+#endif
+
+// Packet: 0x042a
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042a, -1)
+#endif
+
+// Packet: 0x042b
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042b, -1)
+#endif
+
+// Packet: 0x042c
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042c, -1)
+#endif
+
+// Packet: 0x042d
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042d, -1)
+#endif
+
+// Packet: 0x042e
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042e, -1)
+#endif
+
+// Packet: 0x042f
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x042f, -1)
+#endif
+
+// Packet: 0x0430
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0430, -1)
+#endif
+
+// Packet: 0x0431
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0431, -1)
+#endif
+
+// Packet: 0x0432
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0432, -1)
+#endif
+
+// Packet: 0x0433
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0433, -1)
+#endif
+
+// Packet: 0x0434
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0434, -1)
+#endif
+
+// Packet: 0x0435
+#if PACKETVER >= 20101123
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x0435, -1)
+#endif
+
+// Packet: 0x0436
+packetLen(0x0436, 19)
+
+// 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
+#if PACKETVER >= 20100817
+packetLen(0x0442, -1)
+#elif PACKETVER >= 20100105
+packetLen(0x0442, 8)
+#endif
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+packetLen(0x0444, -1)
+
+// Packet: 0x0445
+packetLen(0x0445, 10)
+
+// Packet: 0x0446
+packetLen(0x0446, 14)
+
+// Packet: 0x0447
+packetLen(0x0447, 2)
+
+// Packet: 0x0448
+packetLen(0x0448, -1)
+
+// Packet: 0x044a
+packetLen(0x044a, 6)
+
+// Packet: 0x044b
+packetLen(0x044b, 2)
+
+// Packet: 0x07d0
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d0, 6)
+#endif
+
+// Packet: 0x07d1
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d1, 2)
+#endif
+
+// Packet: 0x07d2
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d2, -1)
+#endif
+
+// Packet: 0x07d3
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d3, 4)
+#endif
+
+// Packet: 0x07d4
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d4, 4)
+#endif
+
+// Packet: 0x07d5
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d5, 4)
+#endif
+
+// Packet: 0x07d6
+#if PACKETVER >= 20100701
+// removed
+#elif PACKETVER >= 20100105
+packetLen(0x07d6, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20101012
+packetLen(0x07e5, 4)
+#elif PACKETVER >= 20100105
+packetLen(0x07e5, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20100209
+packetLen(0x07f0, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x07f0, 8)
+#endif
+
+// Packet: 0x07f1
+#if PACKETVER >= 20100629
+packetLen(0x07f1, 18)
+#elif PACKETVER >= 20100105
+packetLen(0x07f1, 15)
+#endif
+
+// Packet: 0x07f2
+#if PACKETVER >= 20100629
+packetLen(0x07f2, 8)
+#elif PACKETVER >= 20100105
+packetLen(0x07f2, 6)
+#endif
+
+// Packet: 0x07f3
+#if PACKETVER >= 20100629
+packetLen(0x07f3, 6)
+#elif PACKETVER >= 20100105
+packetLen(0x07f3, 4)
+#endif
+
+// 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: 0x07ff
+packetLen(0x07ff, -1)
+
+// 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
+#if PACKETVER >= 20100113
+packetLen(0x080c, 2)
+#endif
+
+// Packet: 0x080d
+#if PACKETVER >= 20100113
+packetLen(0x080d, 3)
+#endif
+
+// Packet: 0x080e
+#if PACKETVER >= 20100119
+packetLen(0x080e, 14)
+#endif
+
+// Packet: 0x080f
+#if PACKETVER >= 20100223
+packetLen(0x080f, 20)
+#endif
+
+// Packet: 0x0810
+#if PACKETVER >= 20100303
+packetLen(0x0810, 3)
+#endif
+
+// Packet: 0x0811
+#if PACKETVER >= 20100303
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+#if PACKETVER >= 20100420
+packetLen(0x0812, 8)
+#elif PACKETVER >= 20100303
+packetLen(0x0812, 86)
+#endif
+
+// Packet: 0x0813
+#if PACKETVER >= 20100309
+packetLen(0x0813, -1)
+#elif PACKETVER >= 20100303
+packetLen(0x0813, 6)
+#endif
+
+// Packet: 0x0814
+#if PACKETVER >= 20100420
+packetLen(0x0814, 86)
+#elif PACKETVER >= 20100309
+packetLen(0x0814, 2)
+#elif PACKETVER >= 20100303
+packetLen(0x0814, 6)
+#endif
+
+// Packet: 0x0815
+#if PACKETVER >= 20100420
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20100309
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20100303
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+#if PACKETVER >= 20100309
+packetLen(0x0816, 6)
+#endif
+
+// Packet: 0x0817
+#if PACKETVER >= 20100420
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20100303
+packetLen(0x0817, -1)
+#endif
+
+// Packet: 0x0818
+#if PACKETVER >= 20100309
+packetLen(0x0818, -1)
+#elif PACKETVER >= 20100303
+packetLen(0x0818, 6)
+#endif
+
+// Packet: 0x0819
+#if PACKETVER >= 20100420
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20100309
+packetLen(0x0819, 10)
+#elif PACKETVER >= 20100303
+packetLen(0x0819, 4)
+#endif
+
+// Packet: 0x081a
+#if PACKETVER >= 20100420
+packetLen(0x081a, 4)
+#elif PACKETVER >= 20100413
+packetLen(0x081a, 10)
+#elif PACKETVER >= 20100406
+packetLen(0x081a, 6)
+#elif PACKETVER >= 20100309
+packetLen(0x081a, 4)
+#endif
+
+// Packet: 0x081b
+#if PACKETVER >= 20100420
+packetLen(0x081b, 10)
+#elif PACKETVER >= 20100414
+packetLen(0x081b, 8)
+#elif PACKETVER >= 20100309
+packetLen(0x081b, 4)
+#endif
+
+// Packet: 0x081c
+#if PACKETVER >= 20100420
+packetLen(0x081c, 10)
+#elif PACKETVER >= 20100309
+packetLen(0x081c, 6)
+#endif
+
+// Packet: 0x081d
+#if PACKETVER >= 20100309
+packetLen(0x081d, 22)
+#endif
+
+// Packet: 0x081e
+#if PACKETVER >= 20100309
+packetLen(0x081e, 8)
+#endif
+
+// Packet: 0x081f
+#if PACKETVER >= 20100323
+packetLen(0x081f, -1)
+#endif
+
+// Packet: 0x0820
+#if PACKETVER >= 20100413
+packetLen(0x0820, 11)
+#endif
+
+// Packet: 0x0821
+#if PACKETVER >= 20100413
+packetLen(0x0821, 2)
+#endif
+
+// Packet: 0x0822
+#if PACKETVER >= 20100413
+packetLen(0x0822, 9)
+#endif
+
+// Packet: 0x0823
+#if PACKETVER >= 20100413
+packetLen(0x0823, -1)
+#endif
+
+// Packet: 0x0824
+#if PACKETVER >= 20100420
+packetLen(0x0824, 6)
+#endif
+
+// Packet: 0x0825
+#if PACKETVER >= 20100601
+packetLen(0x0825, -1)
+#endif
+
+// Packet: 0x0826
+#if PACKETVER >= 20101019
+// removed
+#elif PACKETVER >= 20100601
+packetLen(0x0826, 4)
+#endif
+
+// Packet: 0x0827
+#if PACKETVER >= 20100713
+packetLen(0x0827, 6)
+#endif
+
+// Packet: 0x0828
+#if PACKETVER >= 20100713
+packetLen(0x0828, 14)
+#endif
+
+// Packet: 0x0829
+#if PACKETVER >= 20100728
+packetLen(0x0829, 12)
+#elif PACKETVER >= 20100713
+packetLen(0x0829, 6)
+#endif
+
+// Packet: 0x082a
+#if PACKETVER >= 20100713
+packetLen(0x082a, 10)
+#endif
+
+// Packet: 0x082b
+#if PACKETVER >= 20100713
+packetLen(0x082b, 6)
+#endif
+
+// Packet: 0x082c
+#if PACKETVER >= 20100720
+packetLen(0x082c, 10)
+#elif PACKETVER >= 20100713
+packetLen(0x082c, 14)
+#endif
+
+// Packet: 0x082d
+#if PACKETVER >= 20101221
+packetLen(0x082d, -1)
+#endif
+
+// Packet: 0x0835
+#if PACKETVER >= 20100601
+packetLen(0x0835, -1)
+#endif
+
+// Packet: 0x0836
+#if PACKETVER >= 20100601
+packetLen(0x0836, -1)
+#endif
+
+// Packet: 0x0837
+#if PACKETVER >= 20100601
+packetLen(0x0837, 3)
+#endif
+
+// Packet: 0x0838
+#if PACKETVER >= 20100608
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20100601
+packetLen(0x0838, 3)
+#endif
+
+// Packet: 0x0839
+#if PACKETVER >= 20100608
+packetLen(0x0839, 66)
+#endif
+
+// Packet: 0x083a
+#if PACKETVER >= 20100701
+packetLen(0x083a, 5)
+#elif PACKETVER >= 20100608
+packetLen(0x083a, 4)
+#endif
+
+// Packet: 0x083b
+#if PACKETVER >= 20100608
+packetLen(0x083b, 2)
+#endif
+
+// Packet: 0x083c
+#if PACKETVER >= 20100608
+packetLen(0x083c, 12)
+#endif
+
+// Packet: 0x083d
+#if PACKETVER >= 20100608
+packetLen(0x083d, 6)
+#endif
+
+// Packet: 0x083e
+#if PACKETVER >= 20100615
+packetLen(0x083e, 26)
+#endif
+
+// Packet: 0x083f
+#if PACKETVER >= 20100629
+// removed
+#elif PACKETVER >= 20100622
+packetLen(0x083f, 22)
+#endif
+
+// Packet: 0x0840
+#if PACKETVER >= 20100713
+packetLen(0x0840, -1)
+#endif
+
+// Packet: 0x0841
+#if PACKETVER >= 20100714
+packetLen(0x0841, 4)
+#elif PACKETVER >= 20100713
+packetLen(0x0841, 19)
+#endif
+
+// Packet: 0x0842
+#if PACKETVER >= 20100720
+packetLen(0x0842, 6)
+#endif
+
+// Packet: 0x0843
+#if PACKETVER >= 20100720
+packetLen(0x0843, 6)
+#endif
+
+// Packet: 0x0844
+#if PACKETVER >= 20100824
+packetLen(0x0844, 2)
+#endif
+
+// Packet: 0x0845
+#if PACKETVER >= 20100824
+packetLen(0x0845, 10)
+#endif
+
+// Packet: 0x0846
+#if PACKETVER >= 20100824
+packetLen(0x0846, 4)
+#endif
+
+// Packet: 0x0847
+#if PACKETVER >= 20100824
+packetLen(0x0847, -1)
+#endif
+
+// Packet: 0x0848
+#if PACKETVER >= 20100824
+packetLen(0x0848, -1)
+#endif
+
+// Packet: 0x0849
+#if PACKETVER >= 20100914
+packetLen(0x0849, 16)
+#elif PACKETVER >= 20100824
+packetLen(0x0849, 12)
+#endif
+
+// Packet: 0x084a
+#if PACKETVER >= 20101019
+packetLen(0x084a, 2)
+#endif
+
+// Packet: 0x084b
+#if PACKETVER >= 20101019
+packetLen(0x084b, 19)
+#endif
+
+// Packet: 0x084c
+#if PACKETVER >= 20101026
+packetLen(0x084c, 10)
+#endif
+
+// Packet: 0x084d
+#if PACKETVER >= 20101026
+packetLen(0x084d, 10)
+#endif
+
+// Packet: 0x084e
+#if PACKETVER >= 20101026
+packetLen(0x084e, 5)
+#endif
+
+// Packet: 0x084f
+#if PACKETVER >= 20101026
+packetLen(0x084f, 6)
+#endif
+
+// Packet: 0x0850
+#if PACKETVER >= 20101026
+packetLen(0x0850, 7)
+#endif
+
+// Packet: 0x0851
+#if PACKETVER >= 20101102
+packetLen(0x0851, -1)
+#endif
+
+// Packet: 0x0852
+#if PACKETVER >= 20101102
+packetLen(0x0852, 2)
+#endif
+
+// Packet: 0x0853
+#if PACKETVER >= 20101102
+packetLen(0x0853, -1)
+#endif
+
+// Packet: 0x0854
+#if PACKETVER >= 20101102
+packetLen(0x0854, -1)
+#endif
+
+// Packet: 0x0855
+#if PACKETVER >= 20101102
+packetLen(0x0855, 6)
+#endif
+
+// Packet: 0x0856
+#if PACKETVER >= 20101123
+packetLen(0x0856, -1)
+#endif
+
+// Packet: 0x0857
+#if PACKETVER >= 20101123
+packetLen(0x0857, -1)
+#endif
+
+// Packet: 0x0858
+#if PACKETVER >= 20101123
+packetLen(0x0858, -1)
+#endif
+
+// Packet: 0x0859
+#if PACKETVER >= 20101123
+packetLen(0x0859, -1)
+#endif
+
+// Packet: 0x085a
+#if PACKETVER >= 20101123
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20101123
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20101123
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20101123
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20101123
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20101123
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20101123
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20101123
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20101123
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20101123
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20101123
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20101123
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20101123
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20101123
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20101123
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20101123
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20101123
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20101123
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20101123
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20101123
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20101123
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20101123
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20101123
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20101123
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20101123
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20101123
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20101123
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20101123
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20101123
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20101123
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20101123
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20101123
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20101123
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20101123
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20101123
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20101123
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20101123
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20101123
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20101123
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20101123
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20101123
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20101123
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20101123
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20101123
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20101123
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20101123
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20101123
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20101123
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20101123
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20101123
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20101123
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20101123
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20101123
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20101123
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20101123
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20101123
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20101123
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20101123
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20101123
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20101123
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20101123
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20101123
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20101123
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20101123
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20101123
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20101123
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20101123
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20101123
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20101123
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20101123
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20101123
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20101123
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20101123
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20101123
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20101123
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20101123
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20101123
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20101123
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20101123
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20101123
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20101123
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20101123
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20101123
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20101123
+packetLen(0x08ad, 2)
+#endif
+
+// Packet: 0x08af
+#if PACKETVER >= 20101228
+packetLen(0x08af, 10)
+#endif
+
+// Packet: 0x08b1
+#if PACKETVER >= 20101221
+packetLen(0x08b1, -1)
+#endif
+
+// Packet: 0x08b2
+#if PACKETVER >= 20101228
+packetLen(0x08b2, -1)
+#endif
+
+
+#endif /* COMMON_PACKETS2010_LEN_RE_H */
diff --git a/src/common/packets/packets2011_len_main.h b/src/common/packets/packets2011_len_main.h
new file mode 100644
index 000000000..907dfcb5b
--- /dev/null
+++ b/src/common/packets/packets2011_len_main.h
@@ -0,0 +1,7200 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2011_LEN_MAIN_H
+#define COMMON_PACKETS2011_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20111101
+packetLen(0x006d, 146)
+#elif PACKETVER >= 20110111
+packetLen(0x006d, 138)
+#elif PACKETVER >= 20110104
+packetLen(0x006d, 134)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20111220
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20111207
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20111122
+packetLen(0x0202, 18)
+#elif PACKETVER >= 20111101
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20111017
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20111010
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20110823
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110726
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20110711
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110531
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110517
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20110426
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110322
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20110308
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110222
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20110125
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20110111
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20111227
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20111213
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20111122
+packetLen(0x022d, 7)
+#elif PACKETVER >= 20111114
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20111004
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110823
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110809
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20110726
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20110705
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20110620
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20110531
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20110523
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110503
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110412
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110315
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110215
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x022d, 36)
+#elif PACKETVER >= 20110131
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20110118
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20110111
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110104
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20111220
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x023b, 19)
+#elif PACKETVER >= 20111114
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20111101
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20111010
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20110906
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20110823
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20110726
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x023b, 4)
+#elif PACKETVER >= 20110620
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20110531
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20110517
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20110511
+packetLen(0x023b, 7)
+#elif PACKETVER >= 20110426
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20110405
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20110308
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20110222
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x023b, 18)
+#elif PACKETVER >= 20110208
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20110125
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20110111
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x023b, 4)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20111213
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0281, 7)
+#elif PACKETVER >= 20111122
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20111025
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20111004
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20110920
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110823
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110809
+packetLen(0x0281, 18)
+#elif PACKETVER >= 20110726
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0281, 18)
+#elif PACKETVER >= 20110711
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20110627
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20110607
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110531
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110511
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0281, 7)
+#elif PACKETVER >= 20110426
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0281, 8)
+#elif PACKETVER >= 20110412
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20110405
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110315
+packetLen(0x0281, 8)
+#elif PACKETVER >= 20110308
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20110228
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110125
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0281, 7)
+#elif PACKETVER >= 20110104
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20111220
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20111101
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20111010
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20110831
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20110816
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20110802
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20110726
+packetLen(0x02c4, 4)
+#elif PACKETVER >= 20110718
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x02c4, 4)
+#elif PACKETVER >= 20110627
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20110614
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x02c4, 19)
+#elif PACKETVER >= 20110523
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20110511
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20110426
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20110419
+packetLen(0x02c4, -1)
+#elif PACKETVER >= 20110322
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20110215
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20110125
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+#if PACKETVER >= 20110131
+packetLen(0x02f3, -1)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20110131
+packetLen(0x02f4, 3)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20110131
+packetLen(0x02f5, 7)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20110131
+packetLen(0x02f6, 7)
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+#if PACKETVER >= 20111227
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20111220
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20111213
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x035f, 19)
+#elif PACKETVER >= 20111010
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110823
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110726
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110711
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20110627
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110620
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110503
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110322
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110222
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110131
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110118
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20111227
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20111004
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20110906
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0360, 12)
+#elif PACKETVER >= 20110809
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x0360, 90)
+#elif PACKETVER >= 20110711
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110620
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20110517
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110511
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20110503
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20110426
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110322
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20110308
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0360, 26)
+#elif PACKETVER >= 20110208
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110131
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110118
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20111220
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20111207
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20110928
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20110816
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20110809
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20110726
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0361, 90)
+#elif PACKETVER >= 20110711
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20110705
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20110627
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0361, 4)
+#elif PACKETVER >= 20110614
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20110607
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0361, 7)
+#elif PACKETVER >= 20110523
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20110511
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20110405
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20110322
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20110315
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20110131
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20110118
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110111
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20111213
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20111207
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20110816
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110809
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20110802
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20110620
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110531
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110517
+packetLen(0x0362, 4)
+#elif PACKETVER >= 20110511
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20110426
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20110412
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0362, 36)
+#elif PACKETVER >= 20110322
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20110315
+packetLen(0x0362, 4)
+#elif PACKETVER >= 20110308
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20110208
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110125
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20110118
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20111227
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0363, 90)
+#elif PACKETVER >= 20111114
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20111101
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20111017
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0363, 7)
+#elif PACKETVER >= 20111004
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110809
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20110627
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20110607
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110531
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110503
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20110419
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20110405
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20110329
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110322
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20110308
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x0363, 4)
+#elif PACKETVER >= 20110208
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20110125
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20111227
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20111220
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20111108
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20111101
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20111017
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0364, 19)
+#elif PACKETVER >= 20111004
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110809
+packetLen(0x0364, 90)
+#elif PACKETVER >= 20110726
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20110705
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110620
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20110607
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110531
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110517
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20110503
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20110419
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20110405
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110315
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20110222
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20110208
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20110131
+packetLen(0x0364, 90)
+#elif PACKETVER >= 20110125
+packetLen(0x0364, 12)
+#elif PACKETVER >= 20110104
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20111227
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20111220
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20111213
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20111122
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20111108
+packetLen(0x0365, 10)
+#elif PACKETVER >= 20111010
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20110928
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110920
+packetLen(0x0365, 90)
+#elif PACKETVER >= 20110906
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110831
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110809
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20110620
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110531
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110517
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20110503
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0365, 90)
+#elif PACKETVER >= 20110412
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20110329
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110118
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20111227
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20111213
+packetLen(0x0366, 4)
+#elif PACKETVER >= 20111207
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0366, 12)
+#elif PACKETVER >= 20111108
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20111101
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20111017
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110920
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110831
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20110823
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110809
+packetLen(0x0366, 4)
+#elif PACKETVER >= 20110802
+packetLen(0x0366, 12)
+#elif PACKETVER >= 20110711
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110620
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110426
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110405
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110322
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110131
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110118
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20111220
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20111207
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0367, 4)
+#elif PACKETVER >= 20111101
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20111010
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20111004
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20110816
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20110802
+packetLen(0x0367, 5)
+#elif PACKETVER >= 20110726
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0367, 19)
+#elif PACKETVER >= 20110627
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20110614
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20110531
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20110517
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20110419
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20110329
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20110322
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20110131
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20110118
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110111
+packetLen(0x0367, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20111227
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20110718
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110711
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110620
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110426
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0368, 4)
+#elif PACKETVER >= 20110412
+packetLen(0x0368, 19)
+#elif PACKETVER >= 20110405
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110322
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20110228
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110131
+packetLen(0x0368, 26)
+#elif PACKETVER >= 20110125
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110118
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20111227
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20111220
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20111207
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20111101
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20111025
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20111010
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110920
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110831
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20110816
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110809
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20110726
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110711
+packetLen(0x0369, 19)
+#elif PACKETVER >= 20110705
+packetLen(0x0369, 18)
+#elif PACKETVER >= 20110620
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110531
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20110517
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110503
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20110419
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110412
+packetLen(0x0369, 4)
+#elif PACKETVER >= 20110405
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110322
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110228
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110131
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0369, 18)
+#elif PACKETVER >= 20110118
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20111227
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20111213
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20111025
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20111010
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20110928
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20110906
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110831
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20110816
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110809
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20110726
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20110711
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20110620
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20110607
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20110531
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110511
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20110426
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0436, 36)
+#elif PACKETVER >= 20110412
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20110329
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110315
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20110222
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20110118
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110111
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110104
+packetLen(0x0436, 2)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20111220
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20111122
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20111101
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20111010
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110823
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110802
+packetLen(0x0437, 18)
+#elif PACKETVER >= 20110726
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20110718
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110711
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110620
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110517
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20110511
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0437, 26)
+#elif PACKETVER >= 20110426
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20110419
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110412
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20110329
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110322
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110228
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20110222
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110215
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20110208
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110131
+packetLen(0x0437, 19)
+#elif PACKETVER >= 20110125
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110118
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20111227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20111108
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110920
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20110831
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20110823
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110802
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20110726
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110627
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0438, 18)
+#elif PACKETVER >= 20110517
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110503
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20110419
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110412
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20110329
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110322
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110215
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20110208
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110131
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20110125
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x07e4, 4)
+#elif PACKETVER >= 20111220
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20110816
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110809
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x07e4, 4)
+#elif PACKETVER >= 20110726
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x07e4, 4)
+#elif PACKETVER >= 20110711
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x07e4, 8)
+#elif PACKETVER >= 20110627
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110620
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20110614
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20110607
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110531
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20110523
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110517
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20110419
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110322
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20110118
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x07ec, 90)
+#elif PACKETVER >= 20111220
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20111213
+packetLen(0x07ec, 10)
+#elif PACKETVER >= 20111207
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x07ec, 18)
+#elif PACKETVER >= 20111101
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x07ec, 10)
+#elif PACKETVER >= 20111017
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20111004
+packetLen(0x07ec, 7)
+#elif PACKETVER >= 20110928
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110831
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x07ec, 36)
+#elif PACKETVER >= 20110816
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110809
+packetLen(0x07ec, 7)
+#elif PACKETVER >= 20110802
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20110726
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x07ec, 12)
+#elif PACKETVER >= 20110711
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20110705
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110620
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20110607
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110531
+packetLen(0x07ec, 4)
+#elif PACKETVER >= 20110523
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110517
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20110503
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110419
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20110405
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110322
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20110131
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x07ec, 8)
+#endif
+
+// 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: 0x07ff
+#if PACKETVER >= 20110718
+// removed
+#elif PACKETVER >= 20110104
+packetLen(0x07ff, -1)
+#endif
+
+// Packet: 0x0800
+packetLen(0x0800, -1)
+
+// Packet: 0x0801
+packetLen(0x0801, -1)
+
+// Packet: 0x0802
+#if PACKETVER >= 20111220
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20111122
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20111025
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20111010
+packetLen(0x0802, 12)
+#elif PACKETVER >= 20111004
+packetLen(0x0802, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110920
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110831
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20110823
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110802
+packetLen(0x0802, 8)
+#elif PACKETVER >= 20110711
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0802, 7)
+#elif PACKETVER >= 20110620
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110531
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110523
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110511
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20110426
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20110419
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20110412
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110308
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20110222
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20110208
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20110131
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0802, 7)
+#elif PACKETVER >= 20110118
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20111227
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20111220
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20111122
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110823
+packetLen(0x0811, 10)
+#elif PACKETVER >= 20110809
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110802
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20110718
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110711
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110620
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110511
+packetLen(0x0811, 90)
+#elif PACKETVER >= 20110426
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110412
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20110405
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110322
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110228
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110208
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20110131
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110118
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20111227
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20111101
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0815, 4)
+#elif PACKETVER >= 20110831
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110823
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110802
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20110726
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110711
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20110620
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110607
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20110523
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20110419
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110405
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110322
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110222
+packetLen(0x0815, 8)
+#elif PACKETVER >= 20110215
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110131
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110118
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20111220
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0817, 26)
+#elif PACKETVER >= 20110705
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20110627
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20110419
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0817, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20111227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20111213
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0819, 18)
+#elif PACKETVER >= 20111122
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20111101
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20111017
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20111010
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110831
+packetLen(0x0819, 12)
+#elif PACKETVER >= 20110823
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20110816
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110809
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x0819, 7)
+#elif PACKETVER >= 20110718
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20110705
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110627
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20110620
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110523
+packetLen(0x0819, 36)
+#elif PACKETVER >= 20110517
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110419
+packetLen(0x0819, 26)
+#elif PACKETVER >= 20110412
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110405
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110322
+packetLen(0x0819, 90)
+#elif PACKETVER >= 20110315
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x0819, 26)
+#elif PACKETVER >= 20110228
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20110208
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110131
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110118
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20111213
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0835, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20111108
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20110906
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0835, 4)
+#elif PACKETVER >= 20110823
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20110809
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20110726
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20110711
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0835, 36)
+#elif PACKETVER >= 20110627
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20110503
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20110412
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20110315
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0835, 4)
+#elif PACKETVER >= 20110222
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20110208
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20110125
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20111227
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20111220
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20111213
+packetLen(0x0838, 19)
+#elif PACKETVER >= 20111122
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20111101
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20111010
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110920
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110823
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110802
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20110718
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20110711
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110620
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110511
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20110503
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20110426
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110412
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20110329
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110315
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110228
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20110208
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110131
+packetLen(0x0838, 4)
+#elif PACKETVER >= 20110125
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20110118
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20111227
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20111220
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20111108
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x083c, 19)
+#elif PACKETVER >= 20111017
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20111004
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20110928
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110920
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110831
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20110823
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110809
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20110726
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110711
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110627
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20110523
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110511
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20110426
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110412
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20110405
+packetLen(0x083c, 19)
+#elif PACKETVER >= 20110329
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110322
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110308
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110131
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110118
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20111114
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20111025
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0884, 7)
+#elif PACKETVER >= 20111010
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20110831
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20110802
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20110711
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0884, 26)
+#elif PACKETVER >= 20110627
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20110620
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20110523
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0884, 18)
+#elif PACKETVER >= 20110315
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20110215
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20110131
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20111227
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20111108
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20111017
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20111004
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20110906
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20110726
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20110607
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20110517
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20110503
+packetLen(0x0885, 18)
+#elif PACKETVER >= 20110426
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20110412
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20110322
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0885, 18)
+#elif PACKETVER >= 20110228
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20110215
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20110208
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20110125
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0885, 18)
+#elif PACKETVER >= 20110104
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20111227
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0886, 36)
+#elif PACKETVER >= 20110802
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20110718
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20110711
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20110627
+packetLen(0x0886, 10)
+#elif PACKETVER >= 20110607
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0886, 18)
+#elif PACKETVER >= 20110517
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0886, 12)
+#elif PACKETVER >= 20110503
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0886, 4)
+#elif PACKETVER >= 20110419
+packetLen(0x0886, 18)
+#elif PACKETVER >= 20110412
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0886, 90)
+#elif PACKETVER >= 20110329
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20110315
+packetLen(0x0886, 26)
+#elif PACKETVER >= 20110131
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x0886, 19)
+#elif PACKETVER >= 20110118
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20111220
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20111207
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x0887, 7)
+#elif PACKETVER >= 20111101
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0887, 90)
+#elif PACKETVER >= 20110711
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20110627
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20110620
+packetLen(0x0887, 36)
+#elif PACKETVER >= 20110523
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20110511
+packetLen(0x0887, 18)
+#elif PACKETVER >= 20110412
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0887, 12)
+#elif PACKETVER >= 20110322
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20110308
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20110222
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20110215
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20110131
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20110111
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0887, 5)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20111227
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20111101
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20110831
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20110809
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x0888, 36)
+#elif PACKETVER >= 20110705
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0888, 90)
+#elif PACKETVER >= 20110607
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20110523
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20110511
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20110426
+packetLen(0x0888, 10)
+#elif PACKETVER >= 20110419
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20110412
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20110329
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20110315
+packetLen(0x0888, 12)
+#elif PACKETVER >= 20110308
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20110222
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20110215
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20110208
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20111227
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20111220
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0889, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20110809
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x0889, 26)
+#elif PACKETVER >= 20110607
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20110523
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0889, 10)
+#elif PACKETVER >= 20110511
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0889, 19)
+#elif PACKETVER >= 20110426
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20110419
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x0889, 5)
+#elif PACKETVER >= 20110405
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20110329
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0889, 5)
+#elif PACKETVER >= 20110315
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20110228
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20110222
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20111108
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x088a, 18)
+#elif PACKETVER >= 20110906
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20110718
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20110627
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x088a, 7)
+#elif PACKETVER >= 20110419
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20110329
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x088a, 18)
+#elif PACKETVER >= 20110228
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20110215
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20110208
+packetLen(0x088a, 19)
+#elif PACKETVER >= 20110111
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x088a, 19)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20111227
+packetLen(0x088b, 12)
+#elif PACKETVER >= 20111220
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20111114
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20110809
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20110726
+packetLen(0x088b, 10)
+#elif PACKETVER >= 20110718
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x088b, 18)
+#elif PACKETVER >= 20110705
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20110620
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20110614
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20110517
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20110503
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x088b, 10)
+#elif PACKETVER >= 20110208
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x088b, 7)
+#elif PACKETVER >= 20110104
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20111213
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x088c, 36)
+#elif PACKETVER >= 20111004
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x088c, 36)
+#elif PACKETVER >= 20110920
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20110802
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20110705
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20110511
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20110322
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110315
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20110125
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20111213
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20111017
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20110928
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20110816
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20110802
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20110711
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20110517
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20110419
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20110329
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20111025
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20110809
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x088e, 19)
+#elif PACKETVER >= 20110718
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20110412
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20110208
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20110125
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x088e, 19)
+#elif PACKETVER >= 20110104
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20111220
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20110816
+packetLen(0x088f, 36)
+#elif PACKETVER >= 20110809
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20110627
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20110517
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20110412
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20110125
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20110111
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x088f, 5)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20111220
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0890, 12)
+#elif PACKETVER >= 20111207
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20111108
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20110831
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20110523
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20110511
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0890, 7)
+#elif PACKETVER >= 20110308
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20110208
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20110125
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20110118
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20110104
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20111227
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20111213
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0891, 26)
+#elif PACKETVER >= 20111025
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0891, 4)
+#elif PACKETVER >= 20110920
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20110718
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20110627
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20110517
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0891, 7)
+#elif PACKETVER >= 20110329
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20110315
+packetLen(0x0891, 36)
+#elif PACKETVER >= 20110215
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20110131
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20111227
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20111220
+packetLen(0x0892, 26)
+#elif PACKETVER >= 20111207
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20111114
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20110607
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20110517
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0892, 12)
+#elif PACKETVER >= 20110419
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x0892, 7)
+#elif PACKETVER >= 20110228
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20110208
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20111227
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0893, 4)
+#elif PACKETVER >= 20111213
+packetLen(0x0893, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0893, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x0893, 90)
+#elif PACKETVER >= 20110823
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20110816
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0893, 26)
+#elif PACKETVER >= 20110802
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20110718
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20110222
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x0893, 4)
+#elif PACKETVER >= 20110208
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20110131
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20111213
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20111114
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20111017
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20110906
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0894, 18)
+#elif PACKETVER >= 20110816
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x0894, 36)
+#elif PACKETVER >= 20110614
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20110517
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0894, 26)
+#elif PACKETVER >= 20110503
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x0894, -1)
+#elif PACKETVER >= 20110419
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20110329
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0894, 12)
+#elif PACKETVER >= 20110104
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20111207
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20111114
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20111101
+packetLen(0x0895, 4)
+#elif PACKETVER >= 20110906
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0895, 36)
+#elif PACKETVER >= 20110802
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20110718
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0895, 12)
+#elif PACKETVER >= 20110627
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20110412
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0895, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20111220
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0896, 5)
+#elif PACKETVER >= 20111114
+packetLen(0x0896, 8)
+#elif PACKETVER >= 20111004
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0896, 26)
+#elif PACKETVER >= 20110920
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20110705
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0896, 8)
+#elif PACKETVER >= 20110607
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20110517
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0896, 26)
+#elif PACKETVER >= 20110426
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0896, 8)
+#elif PACKETVER >= 20110308
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x0896, 4)
+#elif PACKETVER >= 20110208
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0896, 18)
+#elif PACKETVER >= 20110104
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20111227
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0897, 36)
+#elif PACKETVER >= 20111213
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20111010
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20110809
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x0897, 10)
+#elif PACKETVER >= 20110726
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0897, 12)
+#elif PACKETVER >= 20110620
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20110517
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20110315
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20110208
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20110125
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20111220
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20111122
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20111010
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20110831
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20110705
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20110511
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0898, 12)
+#elif PACKETVER >= 20110329
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x0898, 26)
+#elif PACKETVER >= 20110208
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x0898, 12)
+#elif PACKETVER >= 20110125
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20111207
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20111114
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20110928
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x0899, 7)
+#elif PACKETVER >= 20110718
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x0899, 10)
+#elif PACKETVER >= 20110705
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20110620
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20110511
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20110426
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20110412
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x0899, 7)
+#elif PACKETVER >= 20110104
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20111220
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x089a, 90)
+#elif PACKETVER >= 20111122
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x089a, 4)
+#elif PACKETVER >= 20110928
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089a, 10)
+#elif PACKETVER >= 20110726
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20110711
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20110517
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20110208
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20111227
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20111213
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x089b, 36)
+#elif PACKETVER >= 20111101
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20111004
+packetLen(0x089b, 36)
+#elif PACKETVER >= 20110928
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x089b, 19)
+#elif PACKETVER >= 20110802
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20110718
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x089b, 5)
+#elif PACKETVER >= 20110705
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20110620
+packetLen(0x089b, 5)
+#elif PACKETVER >= 20110607
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20110523
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20110503
+packetLen(0x089b, 90)
+#elif PACKETVER >= 20110426
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20110419
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x089b, 5)
+#elif PACKETVER >= 20110308
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x089b, 7)
+#elif PACKETVER >= 20110125
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x089b, 10)
+#elif PACKETVER >= 20110111
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x089b, 36)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20111227
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20111220
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20111122
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20111025
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20110831
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20110816
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20110718
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x089c, 7)
+#elif PACKETVER >= 20110627
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20110503
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20110329
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20110315
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x089c, 12)
+#elif PACKETVER >= 20110215
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20110131
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x089c, 4)
+#elif PACKETVER >= 20110118
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20111213
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20111122
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x089d, 7)
+#elif PACKETVER >= 20110802
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x089d, 8)
+#elif PACKETVER >= 20110711
+packetLen(0x089d, 36)
+#elif PACKETVER >= 20110523
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x089d, 8)
+#elif PACKETVER >= 20110511
+packetLen(0x089d, 10)
+#elif PACKETVER >= 20110503
+packetLen(0x089d, 4)
+#elif PACKETVER >= 20110419
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x089d, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20110215
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x089d, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20111207
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20110802
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x089e, 19)
+#elif PACKETVER >= 20110607
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x089e, 36)
+#elif PACKETVER >= 20110517
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20110503
+packetLen(0x089e, 10)
+#elif PACKETVER >= 20110419
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x089e, 18)
+#elif PACKETVER >= 20110329
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x089e, 19)
+#elif PACKETVER >= 20110308
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20110208
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20111025
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20110802
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20110627
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x089f, 12)
+#elif PACKETVER >= 20110511
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20110419
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20110405
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20110308
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x089f, 19)
+#elif PACKETVER >= 20110222
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20110928
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a0, 10)
+#elif PACKETVER >= 20110906
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20110711
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20110627
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20110517
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20110308
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x08a0, 10)
+#elif PACKETVER >= 20110215
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20111207
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20111114
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20111108
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20110627
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20110419
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x08a1, 90)
+#elif PACKETVER >= 20110208
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x08a1, 26)
+#elif PACKETVER >= 20110125
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20111227
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20111114
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20111101
+packetLen(0x08a2, 12)
+#elif PACKETVER >= 20111025
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20111017
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x08a2, 90)
+#elif PACKETVER >= 20111004
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20110809
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20110718
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20110705
+packetLen(0x08a2, 5)
+#elif PACKETVER >= 20110627
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20110523
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x08a2, 18)
+#elif PACKETVER >= 20110308
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20110208
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20110125
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20110831
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x08a3, 7)
+#elif PACKETVER >= 20110523
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20110511
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x08a3, 10)
+#elif PACKETVER >= 20110412
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x08a3, 8)
+#elif PACKETVER >= 20110215
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20111227
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20111207
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20111004
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a4, 7)
+#elif PACKETVER >= 20110906
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x08a4, 26)
+#elif PACKETVER >= 20110823
+packetLen(0x08a4, 4)
+#elif PACKETVER >= 20110809
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20110726
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20110711
+packetLen(0x08a4, 90)
+#elif PACKETVER >= 20110627
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110620
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20110614
+packetLen(0x08a4, 26)
+#elif PACKETVER >= 20110517
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110511
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20110426
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20110412
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20110329
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20110131
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20111220
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20111207
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20111108
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08a5, 18)
+#elif PACKETVER >= 20110906
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20110802
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x08a5, 7)
+#elif PACKETVER >= 20110607
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110531
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20110511
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20110426
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20110412
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20110329
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20110315
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20110228
+packetLen(0x08a5, 18)
+#elif PACKETVER >= 20110131
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20111227
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20111220
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08a6, -1)
+#elif PACKETVER >= 20111101
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20110906
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20110816
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110809
+packetLen(0x08a6, -1)
+#elif PACKETVER >= 20110802
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20110718
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x08a6, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20111227
+packetLen(0x08a7, 19)
+#elif PACKETVER >= 20111220
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08a7, 36)
+#elif PACKETVER >= 20111207
+packetLen(0x08a7, 90)
+#elif PACKETVER >= 20111010
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110705
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20110620
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110614
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110607
+packetLen(0x08a7, 36)
+#elif PACKETVER >= 20110531
+packetLen(0x08a7, 19)
+#elif PACKETVER >= 20110503
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110426
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110215
+packetLen(0x08a7, 26)
+#elif PACKETVER >= 20110208
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110125
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x08a7, 12)
+#elif PACKETVER >= 20110104
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20111213
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20111114
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20110928
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110726
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20110419
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x08a8, 12)
+#elif PACKETVER >= 20110329
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x08a8, 4)
+#elif PACKETVER >= 20110308
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20110215
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20111213
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20110809
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20110705
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110627
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20110620
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20110523
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20110419
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110412
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20110405
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20110329
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20110222
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110215
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20110125
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20110118
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20111220
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20111207
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20111108
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20111025
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20110928
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20110523
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x08aa, 19)
+#elif PACKETVER >= 20110511
+packetLen(0x08aa, 10)
+#elif PACKETVER >= 20110503
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20110426
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x08aa, 19)
+#elif PACKETVER >= 20110228
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20110208
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110131
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20111213
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20110809
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20110718
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110711
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20110620
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20110523
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110517
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20110511
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20110412
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110405
+packetLen(0x08ab, 10)
+#elif PACKETVER >= 20110329
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110322
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x08ab, 19)
+#elif PACKETVER >= 20110111
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x08ab, 26)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20111227
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20110809
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20110726
+packetLen(0x08ac, 18)
+#elif PACKETVER >= 20110511
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20110503
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20110426
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20110308
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20110228
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20110215
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20110131
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20111227
+packetLen(0x08ad, 7)
+#elif PACKETVER >= 20111220
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08ad, 10)
+#elif PACKETVER >= 20111114
+packetLen(0x08ad, 4)
+#elif PACKETVER >= 20111108
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x08ad, 90)
+#elif PACKETVER >= 20111025
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20110809
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110802
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20110726
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110718
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110711
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110705
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20110620
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110614
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20110517
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110426
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110419
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110412
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20110405
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110329
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110322
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110308
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110222
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110215
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110208
+packetLen(0x08ad, 18)
+#elif PACKETVER >= 20110131
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110125
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110118
+packetLen(0x08ad, 4)
+#elif PACKETVER >= 20110104
+packetLen(0x08ad, 6)
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10)
+
+// Packet: 0x08b0
+#if PACKETVER >= 20110111
+packetLen(0x08b0, 17)
+#endif
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1)
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1)
+
+// Packet: 0x08b3
+#if PACKETVER >= 20110111
+packetLen(0x08b3, -1)
+#endif
+
+// Packet: 0x08b4
+#if PACKETVER >= 20110125
+packetLen(0x08b4, 2)
+#endif
+
+// Packet: 0x08b5
+#if PACKETVER >= 20110125
+packetLen(0x08b5, 6)
+#endif
+
+// Packet: 0x08b6
+#if PACKETVER >= 20110125
+packetLen(0x08b6, 3)
+#endif
+
+// Packet: 0x08b7
+#if PACKETVER >= 20110222
+// removed
+#elif PACKETVER >= 20110215
+packetLen(0x08b7, 10)
+#endif
+
+// Packet: 0x08b8
+#if PACKETVER >= 20110308
+packetLen(0x08b8, 10)
+#elif PACKETVER >= 20110215
+packetLen(0x08b8, 12)
+#endif
+
+// Packet: 0x08b9
+#if PACKETVER >= 20110222
+packetLen(0x08b9, 12)
+#endif
+
+// Packet: 0x08ba
+#if PACKETVER >= 20110308
+packetLen(0x08ba, 10)
+#elif PACKETVER >= 20110222
+packetLen(0x08ba, 12)
+#endif
+
+// Packet: 0x08bb
+#if PACKETVER >= 20110308
+packetLen(0x08bb, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x08bb, 4)
+#endif
+
+// Packet: 0x08bc
+#if PACKETVER >= 20110308
+packetLen(0x08bc, 10)
+#elif PACKETVER >= 20110222
+packetLen(0x08bc, 12)
+#endif
+
+// Packet: 0x08bd
+#if PACKETVER >= 20111207
+packetLen(0x08bd, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x08bd, 12)
+#endif
+
+// Packet: 0x08be
+#if PACKETVER >= 20110308
+packetLen(0x08be, 14)
+#elif PACKETVER >= 20110228
+packetLen(0x08be, 18)
+#elif PACKETVER >= 20110222
+packetLen(0x08be, 12)
+#endif
+
+// Packet: 0x08bf
+#if PACKETVER >= 20110308
+packetLen(0x08bf, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x08bf, 4)
+#endif
+
+// Packet: 0x08c0
+#if PACKETVER >= 20110222
+packetLen(0x08c0, -1)
+#endif
+
+// Packet: 0x08c1
+#if PACKETVER >= 20110222
+packetLen(0x08c1, 2)
+#endif
+
+// Packet: 0x08c2
+#if PACKETVER >= 20110222
+packetLen(0x08c2, 2)
+#endif
+
+// Packet: 0x08c3
+#if PACKETVER >= 20110308
+packetLen(0x08c3, 10)
+#elif PACKETVER >= 20110228
+packetLen(0x08c3, 12)
+#endif
+
+// Packet: 0x08c4
+#if PACKETVER >= 20110308
+packetLen(0x08c4, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x08c4, 4)
+#endif
+
+// Packet: 0x08c5
+#if PACKETVER >= 20110308
+packetLen(0x08c5, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x08c5, 12)
+#endif
+
+// Packet: 0x08c6
+#if PACKETVER >= 20110228
+packetLen(0x08c6, 4)
+#endif
+
+// Packet: 0x08c7
+#if PACKETVER >= 20110419
+packetLen(0x08c7, -1)
+#endif
+
+// Packet: 0x08c8
+#if PACKETVER >= 20110614
+packetLen(0x08c8, 34)
+#endif
+
+// Packet: 0x08c9
+#if PACKETVER >= 20110614
+packetLen(0x08c9, 2)
+#endif
+
+// Packet: 0x08ca
+#if PACKETVER >= 20110614
+packetLen(0x08ca, -1)
+#endif
+
+// Packet: 0x08cb
+#if PACKETVER >= 20110627
+packetLen(0x08cb, -1)
+#endif
+
+// Packet: 0x08cc
+#if PACKETVER >= 20110726
+packetLen(0x08cc, 109)
+#elif PACKETVER >= 20110711
+// removed
+#elif PACKETVER >= 20110705
+packetLen(0x08cc, 5)
+#endif
+
+// Packet: 0x08cd
+#if PACKETVER >= 20110802
+packetLen(0x08cd, 10)
+#endif
+
+// Packet: 0x08ce
+#if PACKETVER >= 20110809
+packetLen(0x08ce, 2)
+#elif PACKETVER >= 20110802
+packetLen(0x08ce, 10)
+#endif
+
+// Packet: 0x08cf
+#if PACKETVER >= 20110809
+packetLen(0x08cf, 10)
+#endif
+
+// Packet: 0x08d0
+#if PACKETVER >= 20110809
+packetLen(0x08d0, 9)
+#endif
+
+// Packet: 0x08d1
+#if PACKETVER >= 20110809
+packetLen(0x08d1, 7)
+#endif
+
+// Packet: 0x08d2
+#if PACKETVER >= 20110809
+packetLen(0x08d2, 10)
+#endif
+
+// Packet: 0x08d3
+#if PACKETVER >= 20110816
+packetLen(0x08d3, 10)
+#endif
+
+// Packet: 0x08d4
+#if PACKETVER >= 20111101
+packetLen(0x08d4, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x08d4, 12)
+#elif PACKETVER >= 20110920
+packetLen(0x08d4, 10)
+#elif PACKETVER >= 20110906
+packetLen(0x08d4, 14)
+#endif
+
+// Packet: 0x08d5
+#if PACKETVER >= 20110906
+packetLen(0x08d5, -1)
+#endif
+
+// Packet: 0x08d6
+#if PACKETVER >= 20110928
+packetLen(0x08d6, 6)
+#endif
+
+// Packet: 0x08d7
+#if PACKETVER >= 20111004
+packetLen(0x08d7, 28)
+#endif
+
+// Packet: 0x08d8
+#if PACKETVER >= 20111004
+packetLen(0x08d8, 27)
+#endif
+
+// Packet: 0x08d9
+#if PACKETVER >= 20111004
+packetLen(0x08d9, 30)
+#endif
+
+// Packet: 0x08da
+#if PACKETVER >= 20111004
+packetLen(0x08da, 26)
+#endif
+
+// Packet: 0x08db
+#if PACKETVER >= 20111004
+packetLen(0x08db, 27)
+#endif
+
+// Packet: 0x08dc
+#if PACKETVER >= 20111004
+packetLen(0x08dc, 26)
+#endif
+
+// Packet: 0x08dd
+#if PACKETVER >= 20111004
+packetLen(0x08dd, 27)
+#endif
+
+// Packet: 0x08de
+#if PACKETVER >= 20111004
+packetLen(0x08de, 27)
+#endif
+
+// Packet: 0x08df
+#if PACKETVER >= 20111004
+packetLen(0x08df, 50)
+#endif
+
+// Packet: 0x08e0
+#if PACKETVER >= 20111004
+packetLen(0x08e0, 51)
+#endif
+
+// Packet: 0x08e1
+#if PACKETVER >= 20111004
+packetLen(0x08e1, 51)
+#endif
+
+// Packet: 0x08e2
+#if PACKETVER >= 20111108
+packetLen(0x08e2, 25)
+#elif PACKETVER >= 20111004
+packetLen(0x08e2, 23)
+#endif
+
+// Packet: 0x08e3
+#if PACKETVER >= 20111101
+packetLen(0x08e3, 146)
+#elif PACKETVER >= 20111017
+packetLen(0x08e3, 138)
+#endif
+
+// Packet: 0x08e4
+#if PACKETVER >= 20111025
+packetLen(0x08e4, 6)
+#endif
+
+// Packet: 0x08e5
+#if PACKETVER >= 20111025
+packetLen(0x08e5, 41)
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20111025
+packetLen(0x08e6, 4)
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20111025
+packetLen(0x08e7, 10)
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20111025
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20111025
+packetLen(0x08e9, 2)
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20111025
+packetLen(0x08ea, 4)
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20111025
+packetLen(0x08eb, 39)
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20111025
+packetLen(0x08ec, 73)
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20111025
+packetLen(0x08ed, 43)
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20111025
+packetLen(0x08ee, 6)
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20111101
+packetLen(0x08ef, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x08ef, -1)
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20111101
+packetLen(0x08f0, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x08f0, -1)
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20111025
+packetLen(0x08f1, 6)
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20111101
+packetLen(0x08f2, 36)
+#elif PACKETVER >= 20111025
+packetLen(0x08f2, 12)
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20111025
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20111025
+packetLen(0x08f4, 6)
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20111108
+packetLen(0x08f5, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x08f5, 2)
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20111108
+packetLen(0x08f6, 22)
+#elif PACKETVER >= 20111025
+packetLen(0x08f6, 6)
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20111108
+packetLen(0x08f7, 3)
+#elif PACKETVER >= 20111101
+packetLen(0x08f7, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x08f7, 6)
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20111108
+packetLen(0x08f8, 7)
+#elif PACKETVER >= 20111025
+packetLen(0x08f8, 6)
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20111108
+packetLen(0x08f9, 6)
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20111108
+packetLen(0x08fa, 6)
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20111122
+packetLen(0x08fb, 6)
+#endif
+
+// Packet: 0x08fc
+#if PACKETVER >= 20111101
+packetLen(0x08fc, 30)
+#endif
+
+// Packet: 0x08fd
+#if PACKETVER >= 20111101
+packetLen(0x08fd, 6)
+#endif
+
+// Packet: 0x08fe
+#if PACKETVER >= 20111101
+packetLen(0x08fe, -1)
+#endif
+
+// Packet: 0x08ff
+#if PACKETVER >= 20111101
+packetLen(0x08ff, 24)
+#endif
+
+// Packet: 0x0900
+#if PACKETVER >= 20111122
+packetLen(0x0900, -1)
+#endif
+
+// Packet: 0x0901
+#if PACKETVER >= 20111122
+packetLen(0x0901, -1)
+#endif
+
+// Packet: 0x0902
+#if PACKETVER >= 20111122
+packetLen(0x0902, -1)
+#endif
+
+// Packet: 0x0903
+#if PACKETVER >= 20111122
+packetLen(0x0903, -1)
+#endif
+
+// Packet: 0x0904
+#if PACKETVER >= 20111122
+packetLen(0x0904, -1)
+#endif
+
+// Packet: 0x0905
+#if PACKETVER >= 20111122
+packetLen(0x0905, -1)
+#endif
+
+// Packet: 0x0906
+#if PACKETVER >= 20111122
+packetLen(0x0906, -1)
+#endif
+
+// Packet: 0x0907
+#if PACKETVER >= 20111122
+packetLen(0x0907, 5)
+#endif
+
+// Packet: 0x0908
+#if PACKETVER >= 20111122
+packetLen(0x0908, 5)
+#endif
+
+// Packet: 0x0909
+#if PACKETVER >= 20111122
+packetLen(0x0909, 6)
+#endif
+
+// Packet: 0x090a
+#if PACKETVER >= 20111207
+packetLen(0x090a, 26)
+#endif
+
+// Packet: 0x090b
+#if PACKETVER >= 20111207
+packetLen(0x090b, 30)
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20111207
+packetLen(0x090c, 30)
+#endif
+
+// Packet: 0x090d
+#if PACKETVER >= 20111227
+packetLen(0x090d, -1)
+#endif
+
+// Packet: 0x090e
+#if PACKETVER >= 20111227
+packetLen(0x090e, 2)
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20110809
+// removed
+#elif PACKETVER >= 20110802
+packetLen(0x09dc, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2011_LEN_MAIN_H */
diff --git a/src/common/packets/packets2011_len_re.h b/src/common/packets/packets2011_len_re.h
new file mode 100644
index 000000000..b1fc84270
--- /dev/null
+++ b/src/common/packets/packets2011_len_re.h
@@ -0,0 +1,4781 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2011_LEN_RE_H
+#define COMMON_PACKETS2011_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20111025
+packetLen(0x006d, 146)
+#elif PACKETVER >= 20110928
+packetLen(0x006d, 142)
+#elif PACKETVER >= 20110111
+packetLen(0x006d, 138)
+#elif PACKETVER >= 20110104
+packetLen(0x006d, 134)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20111220
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20111207
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20111122
+packetLen(0x0202, 18)
+#elif PACKETVER >= 20111101
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20111017
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20111010
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20110823
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20111227
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20111213
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20111122
+packetLen(0x022d, 7)
+#elif PACKETVER >= 20111114
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20111004
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110823
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20110104
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20111220
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x023b, 19)
+#elif PACKETVER >= 20111114
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20111101
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20111010
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20110906
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20110823
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x023b, 36)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20111213
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0281, 7)
+#elif PACKETVER >= 20111122
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20111025
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20111004
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20110920
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110823
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x0281, 4)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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: 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, 22)
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20111220
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20111101
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20111010
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20110831
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20110816
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x02c4, 26)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+#if PACKETVER >= 20110131
+packetLen(0x02f3, -1)
+#endif
+
+// Packet: 0x02f4
+#if PACKETVER >= 20110131
+packetLen(0x02f4, 3)
+#endif
+
+// Packet: 0x02f5
+#if PACKETVER >= 20110131
+packetLen(0x02f5, 7)
+#endif
+
+// Packet: 0x02f6
+#if PACKETVER >= 20110131
+packetLen(0x02f6, 7)
+#endif
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+#if PACKETVER >= 20111227
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20111220
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20111213
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x035f, 19)
+#elif PACKETVER >= 20111010
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110823
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x035f, 5)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20111227
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20111004
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20110906
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0360, 12)
+#elif PACKETVER >= 20110104
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20111220
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20111207
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20110928
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20110104
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20111213
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20111207
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20111227
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0363, 90)
+#elif PACKETVER >= 20111114
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20111101
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20111017
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0363, 7)
+#elif PACKETVER >= 20111004
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x0363, 6)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20111227
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20111220
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20111108
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20111101
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20111017
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0364, 19)
+#elif PACKETVER >= 20111004
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20111227
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20111220
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20111213
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20111122
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20111108
+packetLen(0x0365, 10)
+#elif PACKETVER >= 20111010
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20110928
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110920
+packetLen(0x0365, 90)
+#elif PACKETVER >= 20110906
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110831
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20110104
+packetLen(0x0365, 8)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20111227
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20111213
+packetLen(0x0366, 4)
+#elif PACKETVER >= 20111207
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0366, 12)
+#elif PACKETVER >= 20111108
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20111101
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20111017
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110920
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110831
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20110823
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20110104
+packetLen(0x0366, 10)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20111220
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20111207
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0367, 4)
+#elif PACKETVER >= 20111101
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20111010
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20111004
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20110816
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0367, 90)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20111227
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20111227
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20111220
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20111207
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20111101
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20111025
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20111010
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110920
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110831
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20110816
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20110104
+packetLen(0x0369, 6)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20111227
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20111213
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20111025
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20111010
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20110928
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20110906
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110831
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20110816
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20110104
+packetLen(0x0436, 19)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20111220
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20111122
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20111101
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20111010
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110823
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0437, 7)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20111227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20111108
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20110920
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20110831
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20110823
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// Packet: 0x0446
+packetLen(0x0446, 14)
+
+// Packet: 0x0447
+packetLen(0x0447, 2)
+
+// Packet: 0x0448
+packetLen(0x0448, -1)
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x07e4, 4)
+#elif PACKETVER >= 20111220
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20110816
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x07e4, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20111227
+packetLen(0x07ec, 90)
+#elif PACKETVER >= 20111220
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20111213
+packetLen(0x07ec, 10)
+#elif PACKETVER >= 20111207
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x07ec, 18)
+#elif PACKETVER >= 20111101
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x07ec, 10)
+#elif PACKETVER >= 20111017
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20111004
+packetLen(0x07ec, 7)
+#elif PACKETVER >= 20110928
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110920
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20110831
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x07ec, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x07ec, 8)
+#endif
+
+// 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: 0x07ff
+#if PACKETVER >= 20110719
+// removed
+#elif PACKETVER >= 20110104
+packetLen(0x07ff, -1)
+#endif
+
+// Packet: 0x0800
+packetLen(0x0800, -1)
+
+// Packet: 0x0801
+packetLen(0x0801, -1)
+
+// Packet: 0x0802
+#if PACKETVER >= 20111220
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20111122
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20111025
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20111010
+packetLen(0x0802, 12)
+#elif PACKETVER >= 20111004
+packetLen(0x0802, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110920
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110831
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20110823
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20110104
+packetLen(0x0802, 18)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20111227
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20111220
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20111122
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20110823
+packetLen(0x0811, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20111227
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20111101
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0815, 4)
+#elif PACKETVER >= 20110831
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110823
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x0815, 2)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20111220
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20110816
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0817, 6)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20111227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20111213
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0819, 18)
+#elif PACKETVER >= 20111122
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20111101
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20111017
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20111010
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20110831
+packetLen(0x0819, 12)
+#elif PACKETVER >= 20110823
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20111213
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0835, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20111108
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20110906
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0835, 4)
+#elif PACKETVER >= 20110823
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20110816
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20110104
+packetLen(0x0835, -1)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20111227
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20111220
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20111213
+packetLen(0x0838, 19)
+#elif PACKETVER >= 20111122
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20111101
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20111010
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110920
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110823
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20110104
+packetLen(0x0838, 2)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20111227
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20111220
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20111108
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x083c, 19)
+#elif PACKETVER >= 20111017
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20111004
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20110928
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110920
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110831
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20110823
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20110816
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x083c, 12)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20111114
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20111025
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0884, 7)
+#elif PACKETVER >= 20111010
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20110831
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20111227
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20111108
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20111017
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20111004
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20110906
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20111227
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20110920
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0886, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20111220
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20111207
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x0887, 7)
+#elif PACKETVER >= 20111101
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20111227
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20111122
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20111101
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20110831
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20111227
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20111220
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0889, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20111108
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x088a, 18)
+#elif PACKETVER >= 20110906
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20111227
+packetLen(0x088b, 12)
+#elif PACKETVER >= 20111220
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20111114
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20110104
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20111213
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20111017
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x088c, 36)
+#elif PACKETVER >= 20111004
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x088c, 36)
+#elif PACKETVER >= 20110920
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20111213
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20111017
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20110928
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20111025
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20111220
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20110823
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20110816
+packetLen(0x088f, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20111220
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0890, 12)
+#elif PACKETVER >= 20111207
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20111108
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20111010
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20110928
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20110831
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20110104
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20111227
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20111213
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20111207
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0891, 26)
+#elif PACKETVER >= 20111025
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0891, 4)
+#elif PACKETVER >= 20110920
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20111227
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20111220
+packetLen(0x0892, 26)
+#elif PACKETVER >= 20111207
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20111114
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20111227
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0893, 4)
+#elif PACKETVER >= 20111213
+packetLen(0x0893, 10)
+#elif PACKETVER >= 20111122
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x0893, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x0893, 90)
+#elif PACKETVER >= 20110823
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20111213
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20111114
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20111017
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20110906
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0894, 18)
+#elif PACKETVER >= 20110104
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20111207
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20111114
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20111101
+packetLen(0x0895, 4)
+#elif PACKETVER >= 20110906
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x0895, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20111220
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0896, 5)
+#elif PACKETVER >= 20111114
+packetLen(0x0896, 8)
+#elif PACKETVER >= 20111004
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x0896, 26)
+#elif PACKETVER >= 20110920
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20111227
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x0897, 36)
+#elif PACKETVER >= 20111213
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20111025
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20111010
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20111220
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20111122
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20111108
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20111025
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20111010
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20110831
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20111207
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20111114
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20110928
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20111220
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x089a, 90)
+#elif PACKETVER >= 20111122
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20111010
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x089a, 4)
+#elif PACKETVER >= 20110928
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089a, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20111227
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20111213
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x089b, 36)
+#elif PACKETVER >= 20111101
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20111004
+packetLen(0x089b, 36)
+#elif PACKETVER >= 20110928
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x089b, 19)
+#elif PACKETVER >= 20110104
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20111227
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20111220
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20111122
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20111114
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20111025
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20110831
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20111213
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20111122
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20111114
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20110928
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20110906
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x089d, 7)
+#elif PACKETVER >= 20110104
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20111207
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20111108
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20111025
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20110104
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20110928
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a0, 10)
+#elif PACKETVER >= 20110906
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20111207
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20111114
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20111108
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20111227
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20111114
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20111101
+packetLen(0x08a2, 12)
+#elif PACKETVER >= 20111025
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20111017
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x08a2, 90)
+#elif PACKETVER >= 20111004
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20110104
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20110831
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x08a3, 7)
+#elif PACKETVER >= 20110104
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20111227
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20111220
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20111207
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20111010
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20111004
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a4, 7)
+#elif PACKETVER >= 20110906
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20110831
+packetLen(0x08a4, 26)
+#elif PACKETVER >= 20110823
+packetLen(0x08a4, 4)
+#elif PACKETVER >= 20110104
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20111220
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20111207
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20111108
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08a5, 18)
+#elif PACKETVER >= 20110906
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20110104
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20111227
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20111220
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08a6, -1)
+#elif PACKETVER >= 20111101
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20111017
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20111010
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20110906
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20110104
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20111227
+packetLen(0x08a7, 19)
+#elif PACKETVER >= 20111220
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08a7, 36)
+#elif PACKETVER >= 20111207
+packetLen(0x08a7, 90)
+#elif PACKETVER >= 20111010
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20111004
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20110831
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20111213
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20111114
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20111108
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20111025
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20110928
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20111213
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20111220
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20111213
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20111207
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20111108
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20111025
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20111017
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20110928
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110920
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20110906
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20110823
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20111213
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20111207
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20111108
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20111101
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20110104
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20111227
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20110104
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20111227
+packetLen(0x08ad, 7)
+#elif PACKETVER >= 20111220
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20111207
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20111122
+packetLen(0x08ad, 10)
+#elif PACKETVER >= 20111114
+packetLen(0x08ad, 4)
+#elif PACKETVER >= 20111108
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20111101
+packetLen(0x08ad, 90)
+#elif PACKETVER >= 20111025
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20111004
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110928
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110920
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20110906
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110831
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20110816
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20110104
+packetLen(0x08ad, 2)
+#endif
+
+// Packet: 0x08af
+packetLen(0x08af, 10)
+
+// Packet: 0x08b0
+#if PACKETVER >= 20110111
+packetLen(0x08b0, 17)
+#endif
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1)
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1)
+
+// Packet: 0x08b3
+#if PACKETVER >= 20110111
+packetLen(0x08b3, -1)
+#endif
+
+// Packet: 0x08b4
+#if PACKETVER >= 20110125
+packetLen(0x08b4, 2)
+#endif
+
+// Packet: 0x08b5
+#if PACKETVER >= 20110125
+packetLen(0x08b5, 6)
+#endif
+
+// Packet: 0x08b6
+#if PACKETVER >= 20110125
+packetLen(0x08b6, 3)
+#endif
+
+// Packet: 0x08b7
+#if PACKETVER >= 20110222
+// removed
+#elif PACKETVER >= 20110215
+packetLen(0x08b7, 10)
+#endif
+
+// Packet: 0x08b8
+#if PACKETVER >= 20110308
+packetLen(0x08b8, 10)
+#elif PACKETVER >= 20110215
+packetLen(0x08b8, 12)
+#endif
+
+// Packet: 0x08b9
+#if PACKETVER >= 20110222
+packetLen(0x08b9, 12)
+#endif
+
+// Packet: 0x08ba
+#if PACKETVER >= 20110308
+packetLen(0x08ba, 10)
+#elif PACKETVER >= 20110222
+packetLen(0x08ba, 12)
+#endif
+
+// Packet: 0x08bb
+#if PACKETVER >= 20110308
+packetLen(0x08bb, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x08bb, 4)
+#endif
+
+// Packet: 0x08bc
+#if PACKETVER >= 20110308
+packetLen(0x08bc, 10)
+#elif PACKETVER >= 20110222
+packetLen(0x08bc, 12)
+#endif
+
+// Packet: 0x08bd
+#if PACKETVER >= 20111207
+packetLen(0x08bd, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x08bd, 12)
+#endif
+
+// Packet: 0x08be
+#if PACKETVER >= 20110308
+packetLen(0x08be, 14)
+#elif PACKETVER >= 20110228
+packetLen(0x08be, 18)
+#elif PACKETVER >= 20110222
+packetLen(0x08be, 12)
+#endif
+
+// Packet: 0x08bf
+#if PACKETVER >= 20110308
+packetLen(0x08bf, 8)
+#elif PACKETVER >= 20110222
+packetLen(0x08bf, 4)
+#endif
+
+// Packet: 0x08c0
+#if PACKETVER >= 20110222
+packetLen(0x08c0, -1)
+#endif
+
+// Packet: 0x08c1
+#if PACKETVER >= 20110222
+packetLen(0x08c1, 2)
+#endif
+
+// Packet: 0x08c2
+#if PACKETVER >= 20110222
+packetLen(0x08c2, 2)
+#endif
+
+// Packet: 0x08c3
+#if PACKETVER >= 20110308
+packetLen(0x08c3, 10)
+#elif PACKETVER >= 20110228
+packetLen(0x08c3, 12)
+#endif
+
+// Packet: 0x08c4
+#if PACKETVER >= 20110308
+packetLen(0x08c4, 8)
+#elif PACKETVER >= 20110228
+packetLen(0x08c4, 4)
+#endif
+
+// Packet: 0x08c5
+#if PACKETVER >= 20110308
+packetLen(0x08c5, 6)
+#elif PACKETVER >= 20110228
+packetLen(0x08c5, 12)
+#endif
+
+// Packet: 0x08c6
+#if PACKETVER >= 20110228
+packetLen(0x08c6, 4)
+#endif
+
+// Packet: 0x08c7
+#if PACKETVER >= 20110419
+packetLen(0x08c7, -1)
+#endif
+
+// Packet: 0x08c8
+#if PACKETVER >= 20110614
+packetLen(0x08c8, 34)
+#endif
+
+// Packet: 0x08c9
+#if PACKETVER >= 20110614
+packetLen(0x08c9, 2)
+#endif
+
+// Packet: 0x08ca
+#if PACKETVER >= 20110614
+packetLen(0x08ca, -1)
+#endif
+
+// Packet: 0x08cb
+#if PACKETVER >= 20110628
+packetLen(0x08cb, -1)
+#endif
+
+// Packet: 0x08cc
+#if PACKETVER >= 20110726
+packetLen(0x08cc, 109)
+#elif PACKETVER >= 20110713
+// removed
+#elif PACKETVER >= 20110706
+packetLen(0x08cc, 5)
+#endif
+
+// Packet: 0x08cd
+#if PACKETVER >= 20110803
+packetLen(0x08cd, 10)
+#endif
+
+// Packet: 0x08ce
+#if PACKETVER >= 20110810
+packetLen(0x08ce, 2)
+#elif PACKETVER >= 20110803
+packetLen(0x08ce, 10)
+#endif
+
+// Packet: 0x08cf
+#if PACKETVER >= 20110810
+packetLen(0x08cf, 10)
+#endif
+
+// Packet: 0x08d0
+#if PACKETVER >= 20110810
+packetLen(0x08d0, 9)
+#endif
+
+// Packet: 0x08d1
+#if PACKETVER >= 20110810
+packetLen(0x08d1, 7)
+#endif
+
+// Packet: 0x08d2
+#if PACKETVER >= 20110810
+packetLen(0x08d2, 10)
+#endif
+
+// Packet: 0x08d3
+#if PACKETVER >= 20110816
+packetLen(0x08d3, 10)
+#endif
+
+// Packet: 0x08d4
+#if PACKETVER >= 20111101
+packetLen(0x08d4, 8)
+#elif PACKETVER >= 20110928
+packetLen(0x08d4, 12)
+#elif PACKETVER >= 20110920
+packetLen(0x08d4, 10)
+#elif PACKETVER >= 20110906
+packetLen(0x08d4, 14)
+#endif
+
+// Packet: 0x08d5
+#if PACKETVER >= 20110906
+packetLen(0x08d5, -1)
+#endif
+
+// Packet: 0x08d6
+#if PACKETVER >= 20110928
+packetLen(0x08d6, 6)
+#endif
+
+// Packet: 0x08d7
+#if PACKETVER >= 20111004
+packetLen(0x08d7, 28)
+#endif
+
+// Packet: 0x08d8
+#if PACKETVER >= 20111004
+packetLen(0x08d8, 27)
+#endif
+
+// Packet: 0x08d9
+#if PACKETVER >= 20111004
+packetLen(0x08d9, 30)
+#endif
+
+// Packet: 0x08da
+#if PACKETVER >= 20111004
+packetLen(0x08da, 26)
+#endif
+
+// Packet: 0x08db
+#if PACKETVER >= 20111004
+packetLen(0x08db, 27)
+#endif
+
+// Packet: 0x08dc
+#if PACKETVER >= 20111004
+packetLen(0x08dc, 26)
+#endif
+
+// Packet: 0x08dd
+#if PACKETVER >= 20111004
+packetLen(0x08dd, 27)
+#endif
+
+// Packet: 0x08de
+#if PACKETVER >= 20111004
+packetLen(0x08de, 27)
+#endif
+
+// Packet: 0x08df
+#if PACKETVER >= 20111004
+packetLen(0x08df, 50)
+#endif
+
+// Packet: 0x08e0
+#if PACKETVER >= 20111004
+packetLen(0x08e0, 51)
+#endif
+
+// Packet: 0x08e1
+#if PACKETVER >= 20111004
+packetLen(0x08e1, 51)
+#endif
+
+// Packet: 0x08e2
+#if PACKETVER >= 20111108
+packetLen(0x08e2, 25)
+#elif PACKETVER >= 20111004
+packetLen(0x08e2, 23)
+#endif
+
+// Packet: 0x08e3
+#if PACKETVER >= 20111025
+packetLen(0x08e3, 146)
+#elif PACKETVER >= 20111017
+packetLen(0x08e3, 142)
+#endif
+
+// Packet: 0x08e4
+#if PACKETVER >= 20111025
+packetLen(0x08e4, 6)
+#endif
+
+// Packet: 0x08e5
+#if PACKETVER >= 20111025
+packetLen(0x08e5, 41)
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20111025
+packetLen(0x08e6, 4)
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20111025
+packetLen(0x08e7, 10)
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20111025
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20111025
+packetLen(0x08e9, 2)
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20111025
+packetLen(0x08ea, 4)
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20111025
+packetLen(0x08eb, 39)
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20111025
+packetLen(0x08ec, 73)
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20111025
+packetLen(0x08ed, 43)
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20111025
+packetLen(0x08ee, 6)
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20111101
+packetLen(0x08ef, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x08ef, -1)
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20111101
+packetLen(0x08f0, 6)
+#elif PACKETVER >= 20111025
+packetLen(0x08f0, -1)
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20111025
+packetLen(0x08f1, 6)
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20111101
+packetLen(0x08f2, 36)
+#elif PACKETVER >= 20111025
+packetLen(0x08f2, 12)
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20111025
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20111025
+packetLen(0x08f4, 6)
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20111108
+packetLen(0x08f5, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x08f5, 2)
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20111108
+packetLen(0x08f6, 22)
+#elif PACKETVER >= 20111025
+packetLen(0x08f6, 6)
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20111108
+packetLen(0x08f7, 3)
+#elif PACKETVER >= 20111101
+packetLen(0x08f7, -1)
+#elif PACKETVER >= 20111025
+packetLen(0x08f7, 6)
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20111108
+packetLen(0x08f8, 7)
+#elif PACKETVER >= 20111025
+packetLen(0x08f8, 6)
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20111108
+packetLen(0x08f9, 6)
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20111108
+packetLen(0x08fa, 6)
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20111122
+packetLen(0x08fb, 6)
+#endif
+
+// Packet: 0x08fc
+#if PACKETVER >= 20111101
+packetLen(0x08fc, 30)
+#endif
+
+// Packet: 0x08fd
+#if PACKETVER >= 20111101
+packetLen(0x08fd, 6)
+#endif
+
+// Packet: 0x08fe
+#if PACKETVER >= 20111101
+packetLen(0x08fe, -1)
+#endif
+
+// Packet: 0x08ff
+#if PACKETVER >= 20111101
+packetLen(0x08ff, 24)
+#endif
+
+// Packet: 0x0900
+#if PACKETVER >= 20111122
+packetLen(0x0900, -1)
+#endif
+
+// Packet: 0x0901
+#if PACKETVER >= 20111122
+packetLen(0x0901, -1)
+#endif
+
+// Packet: 0x0902
+#if PACKETVER >= 20111122
+packetLen(0x0902, -1)
+#endif
+
+// Packet: 0x0903
+#if PACKETVER >= 20111122
+packetLen(0x0903, -1)
+#endif
+
+// Packet: 0x0904
+#if PACKETVER >= 20111122
+packetLen(0x0904, -1)
+#endif
+
+// Packet: 0x0905
+#if PACKETVER >= 20111122
+packetLen(0x0905, -1)
+#endif
+
+// Packet: 0x0906
+#if PACKETVER >= 20111122
+packetLen(0x0906, -1)
+#endif
+
+// Packet: 0x0907
+#if PACKETVER >= 20111122
+packetLen(0x0907, 5)
+#endif
+
+// Packet: 0x0908
+#if PACKETVER >= 20111122
+packetLen(0x0908, 5)
+#endif
+
+// Packet: 0x0909
+#if PACKETVER >= 20111122
+packetLen(0x0909, 6)
+#endif
+
+// Packet: 0x090a
+#if PACKETVER >= 20111207
+packetLen(0x090a, 26)
+#endif
+
+// Packet: 0x090b
+#if PACKETVER >= 20111207
+packetLen(0x090b, 30)
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20111207
+packetLen(0x090c, 30)
+#endif
+
+// Packet: 0x090d
+#if PACKETVER >= 20111227
+packetLen(0x090d, -1)
+#endif
+
+// Packet: 0x090e
+#if PACKETVER >= 20111227
+packetLen(0x090e, 2)
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20110810
+// removed
+#elif PACKETVER >= 20110803
+packetLen(0x09dc, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2011_LEN_RE_H */
diff --git a/src/common/packets/packets2012_len_main.h b/src/common/packets/packets2012_len_main.h
new file mode 100644
index 000000000..0720e97b1
--- /dev/null
+++ b/src/common/packets/packets2012_len_main.h
@@ -0,0 +1,8486 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2012_LEN_MAIN_H
+#define COMMON_PACKETS2012_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 146)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20121227
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20121128
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20121017
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120814
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20120724
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120710
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20120503
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120424
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120120
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20120117
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120110
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0202, 5)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20121107
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120911
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20120724
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120626
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120508
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120424
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20120417
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120410
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120228
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120131
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20120110
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x022d, 19)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20121024
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120925
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120626
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120529
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20120503
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120424
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120214
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x023b, 4)
+#elif PACKETVER >= 20120110
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x023b, 26)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20121107
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20120808
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120626
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120604
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20120417
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20121227
+packetLen(0x02c4, 19)
+#elif PACKETVER >= 20120716
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20120515
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20120410
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20120314
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20121227
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20121107
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20121024
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20120716
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20121227
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0360, 90)
+#elif PACKETVER >= 20120221
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20121227
+packetLen(0x0361, 36)
+#elif PACKETVER >= 20121212
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0361, 36)
+#elif PACKETVER >= 20120925
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120626
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120604
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20120508
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120424
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120131
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20120120
+packetLen(0x0361, 19)
+#elif PACKETVER >= 20120117
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20121227
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20121212
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20121205
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0362, 19)
+#elif PACKETVER >= 20121107
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0362, 18)
+#elif PACKETVER >= 20120626
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120508
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20120328
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20121227
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20121205
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120925
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120814
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120724
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120710
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20120612
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120604
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120515
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20120503
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120424
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20120417
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120328
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120228
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20120214
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120131
+packetLen(0x0363, 12)
+#elif PACKETVER >= 20120120
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20121121
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20121107
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120925
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120814
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120716
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120710
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120604
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120522
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120508
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120424
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120410
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120314
+packetLen(0x0364, 19)
+#elif PACKETVER >= 20120214
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20121121
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20121107
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20121031
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20121024
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120911
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20120814
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120724
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120710
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20120702
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20120626
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120604
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120508
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120424
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120328
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120214
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120131
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x0365, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20121227
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20121107
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20121024
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120925
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120905
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120814
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20120724
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120702
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120604
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120522
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20120503
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120424
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120404
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120214
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120120
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20120716
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20120314
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20120117
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20121227
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20121218
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x0368, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20120103
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20121227
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20121212
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20121024
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120925
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120905
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120814
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120724
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120626
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120604
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120522
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20120503
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120424
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120328
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120314
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20120228
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120214
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120117
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20121031
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20120925
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120905
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20120814
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120724
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120710
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20120626
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120604
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120508
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120424
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120328
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120214
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120131
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20120117
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20121227
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20121128
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20121107
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20121024
+packetLen(0x0437, 10)
+#elif PACKETVER >= 20121017
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120925
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120905
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120724
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120626
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120604
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120424
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120120
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20121227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20121107
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20121024
+packetLen(0x0438, 12)
+#elif PACKETVER >= 20121017
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120925
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120911
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0438, 90)
+#elif PACKETVER >= 20120801
+packetLen(0x0438, 18)
+#elif PACKETVER >= 20120724
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120626
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120604
+packetLen(0x0438, 19)
+#elif PACKETVER >= 20120529
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120515
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120424
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120328
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120214
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120117
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20121107
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x07e4, 4)
+#elif PACKETVER >= 20120919
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x07e4, 10)
+#elif PACKETVER >= 20120529
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120508
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x07e4, 90)
+#elif PACKETVER >= 20120328
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20120103
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20121205
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120925
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120822
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x07ec, 12)
+#elif PACKETVER >= 20120808
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120724
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120626
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120604
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120508
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120424
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120328
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120131
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20120117
+packetLen(0x07ec, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20121205
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20121107
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120925
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120905
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20120814
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120710
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20120626
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120604
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120508
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120424
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120328
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120214
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120131
+packetLen(0x0802, 90)
+#elif PACKETVER >= 20120120
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20121227
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20121107
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20121024
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120905
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120814
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120710
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120604
+packetLen(0x0811, 12)
+#elif PACKETVER >= 20120522
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120131
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20121227
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20121212
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20121121
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0815, 90)
+#elif PACKETVER >= 20121107
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20121024
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0815, 8)
+#elif PACKETVER >= 20121010
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0815, 12)
+#elif PACKETVER >= 20120919
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120905
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120710
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20120626
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120604
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20120131
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20121218
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20121031
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20121017
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0817, 36)
+#elif PACKETVER >= 20120522
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x0817, 4)
+#elif PACKETVER >= 20120503
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20120214
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20121227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20121107
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20121024
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20121010
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20120919
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20120905
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120814
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20120618
+packetLen(0x0819, 36)
+#elif PACKETVER >= 20120612
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120604
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20121010
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0835, 90)
+#elif PACKETVER >= 20120905
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20121227
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20121121
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20121024
+packetLen(0x0838, 18)
+#elif PACKETVER >= 20121017
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20121010
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120905
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20120814
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120702
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20120612
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120604
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120515
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120424
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120328
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120228
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120214
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120131
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20120120
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20120117
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20121227
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20121107
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20121024
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120925
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120905
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120814
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120724
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120626
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120604
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120515
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120424
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120328
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120228
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120214
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120117
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20121107
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x085a, 26)
+#elif PACKETVER >= 20121024
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20120710
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x085a, 7)
+#elif PACKETVER >= 20120522
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x085a, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20120716
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x085b, 10)
+#elif PACKETVER >= 20120410
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x085b, 4)
+#elif PACKETVER >= 20120103
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20121218
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x085c, 7)
+#elif PACKETVER >= 20121114
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x085c, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x085c, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20121010
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20120911
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x085d, 10)
+#elif PACKETVER >= 20120830
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x085d, 10)
+#elif PACKETVER >= 20120808
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20120822
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20120814
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x085f, 36)
+#elif PACKETVER >= 20120702
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x085f, 5)
+#elif PACKETVER >= 20120612
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x085f, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20121227
+packetLen(0x0860, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20121205
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0861, 18)
+#elif PACKETVER >= 20121114
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0861, 19)
+#elif PACKETVER >= 20120822
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20120612
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0861, 18)
+#elif PACKETVER >= 20120529
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0861, 18)
+#elif PACKETVER >= 20120404
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20120314
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0861, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20121121
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0862, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20121212
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20121128
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20120710
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20120503
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0863, 26)
+#elif PACKETVER >= 20120314
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0863, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20121212
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0864, 18)
+#elif PACKETVER >= 20120410
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0864, 18)
+#elif PACKETVER >= 20120320
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0864, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20121114
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0865, 19)
+#elif PACKETVER >= 20120822
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0865, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0865, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20120801
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0866, 4)
+#elif PACKETVER >= 20120702
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0866, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20121227
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20121205
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20121031
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0868, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0868, 7)
+#elif PACKETVER >= 20120702
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20121017
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0869, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0869, 10)
+#elif PACKETVER >= 20120529
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0869, 19)
+#elif PACKETVER >= 20120515
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20121128
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x086a, 90)
+#elif PACKETVER >= 20120808
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20120604
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x086a, 36)
+#elif PACKETVER >= 20120522
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20120410
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x086a, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x086a, 19)
+#elif PACKETVER >= 20120221
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20121024
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20120830
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20121212
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20121128
+packetLen(0x086c, 10)
+#elif PACKETVER >= 20121121
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20121114
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x086c, 5)
+#elif PACKETVER >= 20121017
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20120417
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20121128
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20121114
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20120612
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x086d, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20121205
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x086e, 4)
+#elif PACKETVER >= 20120830
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x086e, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20121128
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20120905
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x086f, 36)
+#elif PACKETVER >= 20120702
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20121227
+packetLen(0x0870, 12)
+#elif PACKETVER >= 20121212
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20120314
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0870, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20121107
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20120702
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0871, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0871, 36)
+#elif PACKETVER >= 20120503
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0871, 10)
+#elif PACKETVER >= 20120417
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20120307
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0871, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20121227
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0872, 4)
+#elif PACKETVER >= 20121205
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20121121
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20120822
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20121114
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20121010
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0873, 10)
+#elif PACKETVER >= 20120417
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0873, 4)
+#elif PACKETVER >= 20120103
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20121017
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0874, 5)
+#elif PACKETVER >= 20120503
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0874, 90)
+#elif PACKETVER >= 20120404
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0874, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20121212
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20121128
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20121031
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20120822
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0875, 5)
+#elif PACKETVER >= 20120808
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20120307
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20121121
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20120404
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0876, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20121218
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20121107
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0877, 19)
+#elif PACKETVER >= 20120919
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0877, 26)
+#elif PACKETVER >= 20120905
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20120716
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20121212
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0878, 90)
+#elif PACKETVER >= 20121114
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20120911
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20120716
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0878, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20121121
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0879, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20121227
+packetLen(0x087a, 7)
+#elif PACKETVER >= 20121218
+packetLen(0x087a, 5)
+#elif PACKETVER >= 20121031
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20121010
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x087a, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20120905
+packetLen(0x087a, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20121227
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20121031
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x087b, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20120830
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x087c, 90)
+#elif PACKETVER >= 20120801
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x087c, 18)
+#elif PACKETVER >= 20120604
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x087c, 26)
+#elif PACKETVER >= 20120522
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x087c, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x087c, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20121218
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x087d, 10)
+#elif PACKETVER >= 20121017
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x087d, 90)
+#elif PACKETVER >= 20120830
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20120522
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20121031
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x087e, 10)
+#elif PACKETVER >= 20121010
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x087e, 26)
+#elif PACKETVER >= 20120911
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20120529
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x087e, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20121218
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20121114
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x087f, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x087f, 26)
+#elif PACKETVER >= 20120716
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x087f, 5)
+#elif PACKETVER >= 20120529
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20121128
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0880, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20120702
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0881, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0881, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20121031
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0882, 36)
+#elif PACKETVER >= 20120822
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0882, 18)
+#elif PACKETVER >= 20120515
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0882, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20121017
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0883, 5)
+#elif PACKETVER >= 20120710
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0883, 90)
+#elif PACKETVER >= 20120307
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20120515
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0884, 36)
+#elif PACKETVER >= 20120417
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20120314
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20120830
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20120612
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20120515
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20120417
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20120320
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20120307
+packetLen(0x0885, 7)
+#elif PACKETVER >= 20120228
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0885, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20121218
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20120710
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20120503
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0886, 36)
+#elif PACKETVER >= 20120417
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20121024
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20121010
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20120830
+packetLen(0x0887, 10)
+#elif PACKETVER >= 20120801
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x0887, 4)
+#elif PACKETVER >= 20120117
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20121227
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0888, 36)
+#elif PACKETVER >= 20121128
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20121031
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20121017
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20121010
+packetLen(0x0888, 4)
+#elif PACKETVER >= 20120905
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20121227
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20121212
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20120417
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20120307
+packetLen(0x0889, 10)
+#elif PACKETVER >= 20120131
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0889, 36)
+#elif PACKETVER >= 20120117
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20121031
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x088a, 26)
+#elif PACKETVER >= 20120919
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20120830
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x088a, 19)
+#elif PACKETVER >= 20120103
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20121212
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20121128
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20120808
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x088b, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20120320
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x088c, 4)
+#elif PACKETVER >= 20120221
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x088c, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20121010
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20120822
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20120716
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20120529
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20120120
+packetLen(0x088d, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20121227
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20120801
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20120503
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20120404
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20121114
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20120925
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20120919
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20120814
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20120508
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x088f, 36)
+#elif PACKETVER >= 20120131
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20120117
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20121227
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20121218
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20120905
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0890, 4)
+#elif PACKETVER >= 20120808
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0890, 7)
+#elif PACKETVER >= 20120529
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20120314
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20121114
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20121017
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0891, 26)
+#elif PACKETVER >= 20120529
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0891, 36)
+#elif PACKETVER >= 20120131
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20120117
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20121128
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0892, 36)
+#elif PACKETVER >= 20120120
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20121218
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20120716
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20121227
+packetLen(0x0894, 26)
+#elif PACKETVER >= 20121205
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0894, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0894, -1)
+#elif PACKETVER >= 20120131
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20121218
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20121205
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20120131
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0895, 7)
+#elif PACKETVER >= 20120103
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20121227
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20121114
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20121017
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20121024
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20120716
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20120117
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20121121
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0898, 7)
+#elif PACKETVER >= 20121107
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20121017
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20120207
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0898, 4)
+#elif PACKETVER >= 20120103
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20121128
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20121114
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20120830
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20120716
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20121212
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20121128
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x089a, 18)
+#elif PACKETVER >= 20121114
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x089a, 7)
+#elif PACKETVER >= 20121024
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20120522
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20120508
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20120503
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20121114
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20120503
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20121031
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20120808
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x089c, 90)
+#elif PACKETVER >= 20120417
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20120404
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20121212
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x089d, 12)
+#elif PACKETVER >= 20121010
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20120120
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x089d, 90)
+#elif PACKETVER >= 20120103
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20120710
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20120830
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x089f, 19)
+#elif PACKETVER >= 20120808
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20120724
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20120710
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20120207
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20120120
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20120911
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x08a0, 4)
+#elif PACKETVER >= 20120710
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20120626
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20120503
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20120404
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x08a0, 18)
+#elif PACKETVER >= 20120320
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20120131
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20121017
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20120801
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20120808
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x08a2, 7)
+#elif PACKETVER >= 20120522
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08a2, 90)
+#elif PACKETVER >= 20120417
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20121218
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08a3, 19)
+#elif PACKETVER >= 20120716
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x08a3, 10)
+#elif PACKETVER >= 20120503
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20120410
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20121010
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x08a4, 7)
+#elif PACKETVER >= 20120919
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a4, 18)
+#elif PACKETVER >= 20120702
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20120503
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20120919
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x08a5, 8)
+#elif PACKETVER >= 20120522
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x08a5, 4)
+#elif PACKETVER >= 20120131
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x08a5, 90)
+#elif PACKETVER >= 20120103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20121227
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20121010
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20120905
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20120716
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08a6, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20120120
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20120103
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20121218
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20121128
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20120919
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20120221
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20121205
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x08a8, 4)
+#elif PACKETVER >= 20120716
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08a8, 19)
+#elif PACKETVER >= 20120522
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08a8, 19)
+#elif PACKETVER >= 20120424
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20120320
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a8, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20121218
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20121121
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20120529
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20120503
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a9, 7)
+#elif PACKETVER >= 20120120
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20121227
+packetLen(0x08aa, 18)
+#elif PACKETVER >= 20121218
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08aa, 4)
+#elif PACKETVER >= 20121128
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20121031
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20120808
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20120716
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20121121
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20120830
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x08ab, 7)
+#elif PACKETVER >= 20120808
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20120724
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20120110
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x08ab, 36)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20121218
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x08ac, 7)
+#elif PACKETVER >= 20120515
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x08ac, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20121212
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20121128
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20120522
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08ad, 10)
+#elif PACKETVER >= 20120404
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x08ad, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20120307
+packetLen(0x08e2, 27)
+#elif PACKETVER >= 20120103
+packetLen(0x08e2, 25)
+#endif
+
+// Packet: 0x08e3
+packetLen(0x08e3, 146)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08e5
+packetLen(0x08e5, 41)
+
+// Packet: 0x08e6
+packetLen(0x08e6, 4)
+
+// Packet: 0x08e7
+packetLen(0x08e7, 10)
+
+// Packet: 0x08e8
+packetLen(0x08e8, -1)
+
+// Packet: 0x08e9
+packetLen(0x08e9, 2)
+
+// Packet: 0x08ea
+packetLen(0x08ea, 4)
+
+// Packet: 0x08eb
+packetLen(0x08eb, 39)
+
+// Packet: 0x08ec
+packetLen(0x08ec, 73)
+
+// Packet: 0x08ed
+packetLen(0x08ed, 43)
+
+// Packet: 0x08ee
+packetLen(0x08ee, 6)
+
+// Packet: 0x08ef
+packetLen(0x08ef, 6)
+
+// Packet: 0x08f0
+packetLen(0x08f0, 6)
+
+// Packet: 0x08f1
+packetLen(0x08f1, 6)
+
+// Packet: 0x08f2
+packetLen(0x08f2, 36)
+
+// Packet: 0x08f3
+packetLen(0x08f3, -1)
+
+// Packet: 0x08f4
+packetLen(0x08f4, 6)
+
+// Packet: 0x08f5
+packetLen(0x08f5, -1)
+
+// Packet: 0x08f6
+packetLen(0x08f6, 22)
+
+// Packet: 0x08f7
+packetLen(0x08f7, 3)
+
+// Packet: 0x08f8
+packetLen(0x08f8, 7)
+
+// Packet: 0x08f9
+packetLen(0x08f9, 6)
+
+// Packet: 0x08fa
+packetLen(0x08fa, 6)
+
+// Packet: 0x08fb
+packetLen(0x08fb, 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: 0x0909
+packetLen(0x0909, 6)
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090b
+packetLen(0x090b, 30)
+
+// Packet: 0x090c
+packetLen(0x090c, 30)
+
+// Packet: 0x090d
+packetLen(0x090d, -1)
+
+// Packet: 0x090e
+packetLen(0x090e, 2)
+
+// Packet: 0x090f
+#if PACKETVER >= 20120131
+packetLen(0x090f, -1)
+#endif
+
+// Packet: 0x0910
+#if PACKETVER >= 20120120
+packetLen(0x0910, 10)
+#endif
+
+// Packet: 0x0911
+#if PACKETVER >= 20120120
+packetLen(0x0911, 30)
+#endif
+
+// Packet: 0x0912
+#if PACKETVER >= 20120120
+packetLen(0x0912, 10)
+#endif
+
+// Packet: 0x0913
+#if PACKETVER >= 20120120
+packetLen(0x0913, 30)
+#endif
+
+// Packet: 0x0914
+#if PACKETVER >= 20120131
+packetLen(0x0914, -1)
+#endif
+
+// Packet: 0x0915
+#if PACKETVER >= 20120131
+packetLen(0x0915, -1)
+#endif
+
+// Packet: 0x0916
+#if PACKETVER >= 20120131
+packetLen(0x0916, 26)
+#endif
+
+// Packet: 0x0917
+#if PACKETVER >= 20121218
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0917, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0917, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0917, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0917, 7)
+#elif PACKETVER >= 20120207
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20121024
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0918, 36)
+#elif PACKETVER >= 20120911
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0918, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20120604
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20120307
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0919, 19)
+#elif PACKETVER >= 20120221
+packetLen(0x0919, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20121227
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20121212
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20121128
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20121114
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20120522
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20120404
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20120221
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20121205
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20120503
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20121227
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x091c, 19)
+#elif PACKETVER >= 20121212
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20121128
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x091c, 5)
+#elif PACKETVER >= 20120417
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20120905
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20120612
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x091d, 18)
+#elif PACKETVER >= 20120404
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20121205
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x091e, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x091e, 12)
+#elif PACKETVER >= 20120207
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20121227
+packetLen(0x091f, 4)
+#elif PACKETVER >= 20121205
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x091f, 90)
+#elif PACKETVER >= 20120822
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x091f, 19)
+#elif PACKETVER >= 20120801
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20120522
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x091f, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20121227
+packetLen(0x0920, 90)
+#elif PACKETVER >= 20121218
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20121024
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0920, 4)
+#elif PACKETVER >= 20120822
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0920, 7)
+#elif PACKETVER >= 20120404
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0920, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20121212
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0921, 19)
+#elif PACKETVER >= 20121128
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0921, 10)
+#elif PACKETVER >= 20120221
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0921, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20121205
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20120503
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0922, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20121010
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20120522
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0923, 7)
+#elif PACKETVER >= 20120503
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20120612
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0924, 90)
+#elif PACKETVER >= 20120207
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20121017
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0925, 12)
+#elif PACKETVER >= 20120307
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0925, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20120905
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20120503
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20120314
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0926, 18)
+#elif PACKETVER >= 20120207
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20121128
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0927, 19)
+#elif PACKETVER >= 20121010
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0927, 18)
+#elif PACKETVER >= 20120830
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20120801
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20120307
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20121128
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0929, 4)
+#elif PACKETVER >= 20120822
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0929, 12)
+#elif PACKETVER >= 20120314
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0929, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20120808
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x092a, 4)
+#elif PACKETVER >= 20120320
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20121107
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x092b, 4)
+#elif PACKETVER >= 20120801
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x092b, 90)
+#elif PACKETVER >= 20120522
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x092b, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20120710
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x092c, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20120716
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20120307
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x092d, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20120808
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20120410
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20121205
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x092f, 4)
+#elif PACKETVER >= 20120612
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20121121
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0930, 4)
+#elif PACKETVER >= 20120919
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0930, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0930, 4)
+#elif PACKETVER >= 20120228
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0930, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20121205
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0931, 7)
+#elif PACKETVER >= 20121031
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0931, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20121227
+packetLen(0x0932, 5)
+#elif PACKETVER >= 20121218
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0932, 18)
+#elif PACKETVER >= 20121010
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0932, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0932, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20121227
+packetLen(0x0933, -1)
+#elif PACKETVER >= 20120307
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0933, 18)
+#elif PACKETVER >= 20120221
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0933, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20121114
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0934, 12)
+#elif PACKETVER >= 20121017
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0934, 10)
+#elif PACKETVER >= 20120808
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0934, 10)
+#elif PACKETVER >= 20120404
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20121227
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20121121
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0935, 10)
+#elif PACKETVER >= 20120830
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0935, 5)
+#elif PACKETVER >= 20120702
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0935, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20120716
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20120612
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20120830
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0937, 10)
+#elif PACKETVER >= 20120307
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0937, 26)
+#elif PACKETVER >= 20120221
+packetLen(0x0937, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20121128
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0938, 12)
+#elif PACKETVER >= 20121114
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0938, 10)
+#elif PACKETVER >= 20120702
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0938, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20120207
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20121212
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x093a, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x093a, 90)
+#elif PACKETVER >= 20120604
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x093a, 19)
+#elif PACKETVER >= 20120320
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20121121
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x093b, 12)
+#elif PACKETVER >= 20121107
+packetLen(0x093b, 10)
+#elif PACKETVER >= 20120314
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20121121
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20121017
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x093c, 12)
+#elif PACKETVER >= 20120808
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20120503
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x093c, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20120814
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x093d, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20121212
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20120529
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x093e, 90)
+#elif PACKETVER >= 20120404
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x093e, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20121212
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x093f, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20121227
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20120830
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0940, 12)
+#elif PACKETVER >= 20120814
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20120626
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120618
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20121121
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20120822
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0941, 90)
+#elif PACKETVER >= 20120808
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20120529
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20120503
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20120307
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20121031
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0942, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20120830
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0943, 8)
+#elif PACKETVER >= 20120612
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0943, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20121121
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0944, 26)
+#elif PACKETVER >= 20120710
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20120522
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0944, 18)
+#elif PACKETVER >= 20120207
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20121205
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0945, 90)
+#elif PACKETVER >= 20120911
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0945, 7)
+#elif PACKETVER >= 20120417
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0945, 19)
+#elif PACKETVER >= 20120307
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20121227
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0946, 36)
+#elif PACKETVER >= 20121212
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0946, 10)
+#elif PACKETVER >= 20121128
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20121017
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20120808
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20120320
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20121227
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20121031
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20121017
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0947, 10)
+#elif PACKETVER >= 20120522
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0947, 10)
+#elif PACKETVER >= 20120503
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0947, 4)
+#elif PACKETVER >= 20120410
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20121010
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0948, 18)
+#elif PACKETVER >= 20120919
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0948, 10)
+#elif PACKETVER >= 20120503
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0948, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20121121
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0949, 18)
+#elif PACKETVER >= 20120919
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0949, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20121121
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x094a, 10)
+#elif PACKETVER >= 20120710
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x094a, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20121212
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x094b, 6)
+#elif PACKETVER >= 20121121
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20120919
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20120905
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x094b, 18)
+#elif PACKETVER >= 20120716
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x094b, 5)
+#elif PACKETVER >= 20120522
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x094b, 5)
+#elif PACKETVER >= 20120417
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20121017
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20121128
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x094d, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20120830
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x094d, 36)
+#elif PACKETVER >= 20120529
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x094d, 26)
+#elif PACKETVER >= 20120515
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x094d, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20120830
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20120716
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x094e, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20121121
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20121205
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0950, 12)
+#elif PACKETVER >= 20121121
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20121010
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20120911
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20121218
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0951, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20120404
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0951, 7)
+#elif PACKETVER >= 20120207
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20121128
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20120221
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0952, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20121227
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20121218
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0953, 6)
+#elif PACKETVER >= 20121205
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0953, 6)
+#elif PACKETVER >= 20120830
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0953, 18)
+#elif PACKETVER >= 20120716
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0953, 4)
+#elif PACKETVER >= 20120702
+packetLen(0x0953, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20121212
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0954, 7)
+#elif PACKETVER >= 20121128
+packetLen(0x0954, 8)
+#elif PACKETVER >= 20121121
+packetLen(0x0954, 36)
+#elif PACKETVER >= 20121031
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0954, 90)
+#elif PACKETVER >= 20120618
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0954, 36)
+#elif PACKETVER >= 20120404
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20120830
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0955, -1)
+#elif PACKETVER >= 20120503
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20121010
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20120716
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20120522
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20121227
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0957, 18)
+#elif PACKETVER >= 20121212
+packetLen(0x0957, 90)
+#elif PACKETVER >= 20121128
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0957, 26)
+#elif PACKETVER >= 20121017
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20120801
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0957, 36)
+#elif PACKETVER >= 20120522
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0957, 90)
+#elif PACKETVER >= 20120207
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20121227
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20121128
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0958, 10)
+#elif PACKETVER >= 20120410
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20121212
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0959, 26)
+#elif PACKETVER >= 20121017
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20120919
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0959, 7)
+#elif PACKETVER >= 20120905
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0959, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20120207
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20121218
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20120503
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20121121
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x095c, 4)
+#elif PACKETVER >= 20120228
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x095c, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20121227
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20121031
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20120710
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x095d, 36)
+#elif PACKETVER >= 20120404
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20121031
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x095e, 10)
+#elif PACKETVER >= 20120307
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x095e, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20120207
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20121205
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0960, -1)
+#elif PACKETVER >= 20121114
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20120911
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0960, 90)
+#elif PACKETVER >= 20120716
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0960, 90)
+#elif PACKETVER >= 20120702
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20120710
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0961, 4)
+#elif PACKETVER >= 20120417
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0961, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0961, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20121227
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20121024
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20121114
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0963, 4)
+#elif PACKETVER >= 20121010
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120604
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20120314
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0963, 7)
+#elif PACKETVER >= 20120207
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20121017
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0964, 26)
+#elif PACKETVER >= 20120905
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0964, 12)
+#elif PACKETVER >= 20120522
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0964, 18)
+#elif PACKETVER >= 20120207
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20121218
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20121121
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0965, 19)
+#elif PACKETVER >= 20120801
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20120503
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0965, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20121218
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0966, -1)
+#elif PACKETVER >= 20121205
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0966, 18)
+#elif PACKETVER >= 20120919
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20120522
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0966, 4)
+#elif PACKETVER >= 20120328
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20120911
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0967, 7)
+#elif PACKETVER >= 20120822
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20120228
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20120207
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20121212
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20120919
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20121017
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0969, 18)
+#elif PACKETVER >= 20120822
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0969, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0969, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20121227
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20121121
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20121107
+packetLen(0x096a, 26)
+#elif PACKETVER >= 20121031
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x096a, 36)
+#elif PACKETVER >= 20120905
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120604
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120522
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x096a, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120503
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x096a, 6)
+#endif
+
+// Packet: 0x096b
+#if PACKETVER >= 20120404
+packetLen(0x096b, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x096b, 3)
+#endif
+
+// Packet: 0x096c
+#if PACKETVER >= 20120207
+packetLen(0x096c, 6)
+#endif
+
+// Packet: 0x096d
+#if PACKETVER >= 20120228
+packetLen(0x096d, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x096d, 2)
+#endif
+
+// Packet: 0x096e
+#if PACKETVER >= 20120228
+packetLen(0x096e, -1)
+#elif PACKETVER >= 20120221
+packetLen(0x096e, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x096e, 10)
+#endif
+
+// Packet: 0x096f
+#if PACKETVER >= 20120221
+packetLen(0x096f, 7)
+#elif PACKETVER >= 20120214
+packetLen(0x096f, 3)
+#endif
+
+// Packet: 0x0970
+#if PACKETVER >= 20120214
+packetLen(0x0970, 31)
+#endif
+
+// Packet: 0x0971
+#if PACKETVER >= 20120214
+packetLen(0x0971, 6)
+#endif
+
+// Packet: 0x0972
+#if PACKETVER >= 20120214
+packetLen(0x0972, -1)
+#endif
+
+// Packet: 0x0973
+#if PACKETVER >= 20120214
+packetLen(0x0973, 7)
+#endif
+
+// Packet: 0x0974
+#if PACKETVER >= 20120221
+packetLen(0x0974, 2)
+#endif
+
+// Packet: 0x0975
+#if PACKETVER >= 20120221
+packetLen(0x0975, -1)
+#endif
+
+// Packet: 0x0976
+#if PACKETVER >= 20120221
+packetLen(0x0976, -1)
+#endif
+
+// Packet: 0x0977
+#if PACKETVER >= 20120228
+packetLen(0x0977, 14)
+#elif PACKETVER >= 20120221
+packetLen(0x0977, 15)
+#endif
+
+// Packet: 0x0978
+#if PACKETVER >= 20120328
+packetLen(0x0978, 6)
+#endif
+
+// Packet: 0x0979
+#if PACKETVER >= 20120328
+packetLen(0x0979, 50)
+#endif
+
+// Packet: 0x097a
+#if PACKETVER >= 20120410
+packetLen(0x097a, -1)
+#endif
+
+// Packet: 0x097b
+#if PACKETVER >= 20120417
+packetLen(0x097b, -1)
+#endif
+
+// Packet: 0x097c
+#if PACKETVER >= 20120503
+packetLen(0x097c, 4)
+#endif
+
+// Packet: 0x097d
+#if PACKETVER >= 20120503
+packetLen(0x097d, 288)
+#endif
+
+// Packet: 0x097e
+#if PACKETVER >= 20120503
+packetLen(0x097e, 12)
+#endif
+
+// Packet: 0x097f
+#if PACKETVER >= 20120503
+packetLen(0x097f, -1)
+#endif
+
+// Packet: 0x0980
+#if PACKETVER >= 20120503
+packetLen(0x0980, 7)
+#endif
+
+// Packet: 0x0981
+#if PACKETVER >= 20120515
+packetLen(0x0981, -1)
+#endif
+
+// Packet: 0x0982
+#if PACKETVER >= 20120522
+packetLen(0x0982, 7)
+#elif PACKETVER >= 20120515
+packetLen(0x0982, 3)
+#endif
+
+// Packet: 0x0983
+#if PACKETVER >= 20120529
+packetLen(0x0983, 29)
+#endif
+
+// Packet: 0x0984
+#if PACKETVER >= 20120529
+packetLen(0x0984, 28)
+#endif
+
+// Packet: 0x0985
+#if PACKETVER >= 20120604
+packetLen(0x0985, -1)
+#endif
+
+// Packet: 0x0986
+#if PACKETVER >= 20120626
+packetLen(0x0986, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0986, 6)
+#endif
+
+// Packet: 0x0987
+#if PACKETVER >= 20120702
+packetLen(0x0987, 63)
+#endif
+
+// Packet: 0x0988
+#if PACKETVER >= 20120716
+packetLen(0x0988, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0988, 2)
+#endif
+
+// Packet: 0x0989
+#if PACKETVER >= 20120716
+packetLen(0x0989, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0989, 6)
+#endif
+
+// Packet: 0x098a
+#if PACKETVER >= 20120702
+packetLen(0x098a, -1)
+#endif
+
+// Packet: 0x098b
+#if PACKETVER >= 20120716
+packetLen(0x098b, 2)
+#endif
+
+// Packet: 0x098c
+#if PACKETVER >= 20120716
+packetLen(0x098c, 4)
+#endif
+
+// Packet: 0x098d
+#if PACKETVER >= 20120716
+packetLen(0x098d, -1)
+#endif
+
+// Packet: 0x098e
+#if PACKETVER >= 20120716
+packetLen(0x098e, -1)
+#endif
+
+// Packet: 0x098f
+#if PACKETVER >= 20120724
+packetLen(0x098f, -1)
+#endif
+
+// Packet: 0x0990
+#if PACKETVER >= 20120925
+packetLen(0x0990, 31)
+#endif
+
+// Packet: 0x0991
+#if PACKETVER >= 20120925
+packetLen(0x0991, -1)
+#endif
+
+// Packet: 0x0992
+#if PACKETVER >= 20120925
+packetLen(0x0992, -1)
+#endif
+
+// Packet: 0x0993
+#if PACKETVER >= 20120925
+packetLen(0x0993, -1)
+#endif
+
+// Packet: 0x0994
+#if PACKETVER >= 20120925
+packetLen(0x0994, -1)
+#endif
+
+// Packet: 0x0995
+#if PACKETVER >= 20120925
+packetLen(0x0995, -1)
+#endif
+
+// Packet: 0x0996
+#if PACKETVER >= 20120925
+packetLen(0x0996, -1)
+#endif
+
+// Packet: 0x0997
+#if PACKETVER >= 20120925
+packetLen(0x0997, -1)
+#endif
+
+// Packet: 0x0998
+#if PACKETVER >= 20120925
+packetLen(0x0998, 8)
+#endif
+
+// Packet: 0x0999
+#if PACKETVER >= 20120925
+packetLen(0x0999, 11)
+#endif
+
+// Packet: 0x099a
+#if PACKETVER >= 20120925
+packetLen(0x099a, 9)
+#endif
+
+// Packet: 0x099b
+#if PACKETVER >= 20121010
+packetLen(0x099b, 8)
+#endif
+
+// Packet: 0x099c
+#if PACKETVER >= 20121024
+packetLen(0x099c, 6)
+#endif
+
+// Packet: 0x099d
+#if PACKETVER >= 20121024
+packetLen(0x099d, -1)
+#endif
+
+// Packet: 0x099e
+#if PACKETVER >= 20121128
+packetLen(0x099e, 12)
+#endif
+
+// Packet: 0x099f
+#if PACKETVER >= 20121212
+packetLen(0x099f, -1)
+#endif
+
+// Packet: 0x09a0
+#if PACKETVER >= 20121212
+packetLen(0x09a0, 6)
+#endif
+
+// Packet: 0x09a1
+#if PACKETVER >= 20121212
+packetLen(0x09a1, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2012_LEN_MAIN_H */
diff --git a/src/common/packets/packets2012_len_re.h b/src/common/packets/packets2012_len_re.h
new file mode 100644
index 000000000..131c29276
--- /dev/null
+++ b/src/common/packets/packets2012_len_re.h
@@ -0,0 +1,8498 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2012_LEN_RE_H
+#define COMMON_PACKETS2012_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 146)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20121227
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20121128
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20121017
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120814
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20120724
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120710
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20120502
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120424
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120120
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20120117
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20120110
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0202, 5)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20121107
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120911
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20120724
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120626
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120508
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120424
+packetLen(0x022d, 12)
+#elif PACKETVER >= 20120417
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120410
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120228
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20120131
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20120110
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x022d, 19)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20121024
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120925
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120626
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120529
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20120502
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120424
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120214
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x023b, 4)
+#elif PACKETVER >= 20120110
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x023b, 26)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20121107
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20120808
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120626
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120601
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20120417
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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
+#if PACKETVER >= 20120523
+packetLen(0x02a6, -1)
+#endif
+
+// Packet: 0x02a7
+#if PACKETVER >= 20120523
+packetLen(0x02a7, -1)
+#endif
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20121227
+packetLen(0x02c4, 19)
+#elif PACKETVER >= 20120716
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20120515
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20120410
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20120314
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20121227
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20121107
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20121024
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20120716
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20121227
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0360, 90)
+#elif PACKETVER >= 20120221
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20121227
+packetLen(0x0361, 36)
+#elif PACKETVER >= 20121212
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0361, 36)
+#elif PACKETVER >= 20120925
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120626
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120601
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0361, 10)
+#elif PACKETVER >= 20120508
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120424
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20120131
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20120120
+packetLen(0x0361, 19)
+#elif PACKETVER >= 20120117
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20121227
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20121212
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20121205
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0362, 19)
+#elif PACKETVER >= 20121107
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0362, 18)
+#elif PACKETVER >= 20120626
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120508
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20120328
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20121227
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20121205
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120925
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120814
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120724
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120710
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20120612
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120601
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120515
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20120502
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120424
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20120417
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120328
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120228
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20120214
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20120131
+packetLen(0x0363, 12)
+#elif PACKETVER >= 20120120
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20121121
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20121107
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120925
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120814
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120716
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120710
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120601
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120523
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120508
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120424
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120410
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120314
+packetLen(0x0364, 19)
+#elif PACKETVER >= 20120214
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20121121
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20121107
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20121031
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20121024
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120911
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20120814
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120724
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120710
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20120702
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20120626
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120601
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120508
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120424
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120328
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120214
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20120131
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x0365, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20121227
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20121107
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20121024
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120925
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120905
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120814
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20120724
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120702
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120601
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120523
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20120502
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120424
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120404
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120214
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20120120
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20120716
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20120314
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0367, 10)
+#elif PACKETVER >= 20120117
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20121227
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20121218
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x0368, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20120103
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20121227
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20121212
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20121024
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120925
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120905
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120814
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120724
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120626
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120601
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120523
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20120502
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120424
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120328
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120314
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20120228
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120214
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20120117
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20121031
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20120925
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120905
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20120814
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120724
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120710
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20120626
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120601
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120508
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120424
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120328
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120214
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20120131
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20120117
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20121227
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20121128
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20121107
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20121024
+packetLen(0x0437, 10)
+#elif PACKETVER >= 20121017
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120925
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120905
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120724
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120626
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120601
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120424
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20120120
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20121227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20121107
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20121024
+packetLen(0x0438, 12)
+#elif PACKETVER >= 20121017
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120925
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120911
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0438, 90)
+#elif PACKETVER >= 20120801
+packetLen(0x0438, 18)
+#elif PACKETVER >= 20120724
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120626
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120601
+packetLen(0x0438, 19)
+#elif PACKETVER >= 20120529
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120515
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120424
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120328
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120214
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20120117
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// Packet: 0x0446
+packetLen(0x0446, 14)
+
+// Packet: 0x0447
+packetLen(0x0447, 2)
+
+// Packet: 0x0448
+packetLen(0x0448, -1)
+
+// Packet: 0x0449
+#if PACKETVER >= 20120523
+packetLen(0x0449, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20121107
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x07e4, 4)
+#elif PACKETVER >= 20120919
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x07e4, 10)
+#elif PACKETVER >= 20120529
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120508
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x07e4, 90)
+#elif PACKETVER >= 20120328
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20120103
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20121205
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120925
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120822
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x07ec, 12)
+#elif PACKETVER >= 20120808
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120724
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120626
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120601
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120508
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120424
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120328
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20120131
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20120117
+packetLen(0x07ec, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20121205
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20121107
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120925
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120905
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20120814
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120710
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20120626
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120601
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120508
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120424
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120328
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120214
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20120131
+packetLen(0x0802, 90)
+#elif PACKETVER >= 20120120
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20121227
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20121107
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20121024
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120925
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120905
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120814
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120710
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120601
+packetLen(0x0811, 12)
+#elif PACKETVER >= 20120523
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20120131
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20120117
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20121227
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20121212
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20121121
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0815, 90)
+#elif PACKETVER >= 20121107
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20121024
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0815, 8)
+#elif PACKETVER >= 20121010
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0815, 12)
+#elif PACKETVER >= 20120919
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120905
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0815, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120710
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20120626
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120601
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20120131
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20121218
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20121031
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20121017
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0817, 36)
+#elif PACKETVER >= 20120523
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x0817, 4)
+#elif PACKETVER >= 20120502
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20120214
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20121227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20121107
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20121024
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20121010
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20120919
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20120905
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120814
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120724
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20120618
+packetLen(0x0819, 36)
+#elif PACKETVER >= 20120612
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120601
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120424
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20121010
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0835, 90)
+#elif PACKETVER >= 20120905
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20121227
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20121121
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20121107
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20121024
+packetLen(0x0838, 18)
+#elif PACKETVER >= 20121017
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20121010
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120905
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20120814
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120702
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20120612
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120601
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120515
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120424
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120328
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120228
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120214
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20120131
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20120120
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20120117
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20121227
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20121107
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20121024
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120925
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120905
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120814
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120724
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120626
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120601
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120515
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120424
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120328
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120228
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120214
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20120117
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20121107
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x085a, 26)
+#elif PACKETVER >= 20121024
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20120710
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x085a, 7)
+#elif PACKETVER >= 20120523
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x085a, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20120716
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x085b, 10)
+#elif PACKETVER >= 20120410
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x085b, 4)
+#elif PACKETVER >= 20120103
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20121218
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x085c, 7)
+#elif PACKETVER >= 20121114
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x085c, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x085c, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20121010
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20120911
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x085d, 10)
+#elif PACKETVER >= 20120830
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x085d, 10)
+#elif PACKETVER >= 20120808
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20120822
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20120814
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x085f, 36)
+#elif PACKETVER >= 20120702
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x085f, 5)
+#elif PACKETVER >= 20120612
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x085f, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20121227
+packetLen(0x0860, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20121205
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0861, 18)
+#elif PACKETVER >= 20121114
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0861, 19)
+#elif PACKETVER >= 20120822
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20120612
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0861, 18)
+#elif PACKETVER >= 20120529
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0861, 18)
+#elif PACKETVER >= 20120404
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20120314
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0861, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20121121
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0862, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20121212
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20121128
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20120710
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20120502
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0863, 26)
+#elif PACKETVER >= 20120314
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0863, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20121212
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0864, 18)
+#elif PACKETVER >= 20120410
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0864, 18)
+#elif PACKETVER >= 20120320
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0864, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20121114
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0865, 19)
+#elif PACKETVER >= 20120822
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0865, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0865, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20120801
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0866, 4)
+#elif PACKETVER >= 20120702
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0866, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20121227
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20121205
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20121031
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0868, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0868, 7)
+#elif PACKETVER >= 20120702
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20121017
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0869, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0869, 10)
+#elif PACKETVER >= 20120529
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0869, 19)
+#elif PACKETVER >= 20120515
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20121128
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x086a, 90)
+#elif PACKETVER >= 20120808
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20120601
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x086a, 36)
+#elif PACKETVER >= 20120523
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20120410
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x086a, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x086a, 19)
+#elif PACKETVER >= 20120221
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20121024
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20120830
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20121212
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20121128
+packetLen(0x086c, 10)
+#elif PACKETVER >= 20121121
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20121114
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x086c, 5)
+#elif PACKETVER >= 20121017
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20120417
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20121128
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20121114
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20120612
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x086d, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20121205
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x086e, 4)
+#elif PACKETVER >= 20120830
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x086e, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20121128
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20120905
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x086f, 36)
+#elif PACKETVER >= 20120702
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20121227
+packetLen(0x0870, 12)
+#elif PACKETVER >= 20121212
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20120314
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20120228
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0870, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20121107
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20120702
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0871, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0871, 36)
+#elif PACKETVER >= 20120502
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0871, 10)
+#elif PACKETVER >= 20120417
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20120307
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0871, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20121227
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0872, 4)
+#elif PACKETVER >= 20121205
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20121121
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20120822
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0872, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20121114
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20121010
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0873, 10)
+#elif PACKETVER >= 20120417
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0873, 4)
+#elif PACKETVER >= 20120103
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20121017
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0874, 5)
+#elif PACKETVER >= 20120502
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0874, 90)
+#elif PACKETVER >= 20120404
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0874, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20121212
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20121128
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20121031
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20120822
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0875, 5)
+#elif PACKETVER >= 20120808
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20120307
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20121121
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20120404
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0876, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20121218
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20121107
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0877, 19)
+#elif PACKETVER >= 20120919
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0877, 26)
+#elif PACKETVER >= 20120905
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20120716
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20121212
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0878, 90)
+#elif PACKETVER >= 20121114
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20120911
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20120716
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0878, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20121121
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0879, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20121227
+packetLen(0x087a, 7)
+#elif PACKETVER >= 20121218
+packetLen(0x087a, 5)
+#elif PACKETVER >= 20121031
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20121010
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x087a, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20120905
+packetLen(0x087a, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20121227
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20121031
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x087b, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20120830
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x087c, 90)
+#elif PACKETVER >= 20120801
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x087c, 18)
+#elif PACKETVER >= 20120601
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x087c, 26)
+#elif PACKETVER >= 20120523
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x087c, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x087c, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20121218
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x087d, 10)
+#elif PACKETVER >= 20121017
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x087d, 90)
+#elif PACKETVER >= 20120830
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20120523
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20121031
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x087e, 10)
+#elif PACKETVER >= 20121010
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x087e, 26)
+#elif PACKETVER >= 20120911
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20120529
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20120515
+packetLen(0x087e, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20121218
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20121114
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x087f, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x087f, 26)
+#elif PACKETVER >= 20120716
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x087f, 5)
+#elif PACKETVER >= 20120529
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20121128
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0880, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20120702
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0881, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0881, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20121031
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0882, 36)
+#elif PACKETVER >= 20120822
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0882, 18)
+#elif PACKETVER >= 20120515
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0882, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20121017
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0883, 5)
+#elif PACKETVER >= 20120710
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0883, 90)
+#elif PACKETVER >= 20120307
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20120515
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0884, 36)
+#elif PACKETVER >= 20120417
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20120314
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20120830
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20120612
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20120515
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20120417
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20120320
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20120307
+packetLen(0x0885, 7)
+#elif PACKETVER >= 20120228
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x0885, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20121218
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20120710
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20120502
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0886, 36)
+#elif PACKETVER >= 20120417
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20121024
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20121010
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20120830
+packetLen(0x0887, 10)
+#elif PACKETVER >= 20120801
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x0887, 4)
+#elif PACKETVER >= 20120117
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20121227
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20121212
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0888, 36)
+#elif PACKETVER >= 20121128
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20121031
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20121017
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20121010
+packetLen(0x0888, 4)
+#elif PACKETVER >= 20120905
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20121227
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20121212
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20120710
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20120417
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20120307
+packetLen(0x0889, 10)
+#elif PACKETVER >= 20120131
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0889, 36)
+#elif PACKETVER >= 20120117
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20121031
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x088a, 26)
+#elif PACKETVER >= 20120919
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20120830
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x088a, 19)
+#elif PACKETVER >= 20120103
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20121212
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20121128
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20120808
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x088b, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20120320
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x088c, 4)
+#elif PACKETVER >= 20120221
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x088c, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20121010
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20120822
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20120716
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20120529
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20120120
+packetLen(0x088d, 18)
+#elif PACKETVER >= 20120103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20121227
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20120801
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20120502
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20120404
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20121114
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20120925
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20120919
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20120814
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20120508
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x088f, 36)
+#elif PACKETVER >= 20120131
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20120117
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20121227
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20121218
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20120905
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0890, 4)
+#elif PACKETVER >= 20120808
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0890, 7)
+#elif PACKETVER >= 20120529
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20120314
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20120120
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20121114
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20121017
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0891, 26)
+#elif PACKETVER >= 20120529
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0891, 36)
+#elif PACKETVER >= 20120131
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20120117
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20121128
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0892, 36)
+#elif PACKETVER >= 20120120
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20121218
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20120716
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20120103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20121227
+packetLen(0x0894, 26)
+#elif PACKETVER >= 20121205
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0894, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0894, -1)
+#elif PACKETVER >= 20120131
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20120103
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20121218
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20121205
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20120131
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x0895, 7)
+#elif PACKETVER >= 20120103
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20121227
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20121114
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20121017
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20121024
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20120716
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20120702
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20120117
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20120103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20121121
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0898, 7)
+#elif PACKETVER >= 20121107
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20121017
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20120207
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0898, 4)
+#elif PACKETVER >= 20120103
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20121128
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20121114
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20120830
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20120716
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20121212
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20121128
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x089a, 18)
+#elif PACKETVER >= 20121114
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x089a, 7)
+#elif PACKETVER >= 20121024
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20120523
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20120508
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20120502
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20121114
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20120502
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20120117
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20120110
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20121031
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20120808
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x089c, 90)
+#elif PACKETVER >= 20120417
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20120404
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20121212
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x089d, 12)
+#elif PACKETVER >= 20121010
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20120120
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x089d, 90)
+#elif PACKETVER >= 20120103
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20120710
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20120120
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20120830
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x089f, 19)
+#elif PACKETVER >= 20120808
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20120724
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20120710
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20120207
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x089f, 36)
+#elif PACKETVER >= 20120120
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20120103
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20120911
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x08a0, 4)
+#elif PACKETVER >= 20120710
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20120626
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20120502
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20120404
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x08a0, 18)
+#elif PACKETVER >= 20120320
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20120131
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20121017
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20120801
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20120808
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x08a2, 7)
+#elif PACKETVER >= 20120523
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08a2, 90)
+#elif PACKETVER >= 20120417
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20120307
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20121218
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08a3, 19)
+#elif PACKETVER >= 20120716
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x08a3, 10)
+#elif PACKETVER >= 20120502
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20120410
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20121010
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x08a4, 7)
+#elif PACKETVER >= 20120919
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a4, 18)
+#elif PACKETVER >= 20120702
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20120502
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20120131
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20120919
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x08a5, 8)
+#elif PACKETVER >= 20120523
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x08a5, 4)
+#elif PACKETVER >= 20120131
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20120120
+packetLen(0x08a5, 90)
+#elif PACKETVER >= 20120103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20121227
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20121010
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20120905
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20120716
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08a6, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20120120
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20120103
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20121218
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20121128
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20120919
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20120221
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20120103
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20121205
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20120822
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x08a8, 4)
+#elif PACKETVER >= 20120716
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08a8, 19)
+#elif PACKETVER >= 20120523
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08a8, 19)
+#elif PACKETVER >= 20120424
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20120320
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a8, 12)
+#elif PACKETVER >= 20120103
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20121218
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20121121
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20120529
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20120515
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20120502
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x08a9, 7)
+#elif PACKETVER >= 20120120
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20120117
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20121227
+packetLen(0x08aa, 18)
+#elif PACKETVER >= 20121218
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08aa, 4)
+#elif PACKETVER >= 20121128
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20121031
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20120808
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20120716
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20120103
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20121121
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20120830
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x08ab, 7)
+#elif PACKETVER >= 20120808
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20120724
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20120110
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x08ab, 36)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20121218
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x08ac, 7)
+#elif PACKETVER >= 20120515
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20120328
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x08ac, 26)
+#elif PACKETVER >= 20120103
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20121212
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20121128
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20120523
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x08ad, 10)
+#elif PACKETVER >= 20120404
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120131
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20120120
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20120103
+packetLen(0x08ad, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20120307
+packetLen(0x08e2, 27)
+#elif PACKETVER >= 20120103
+packetLen(0x08e2, 25)
+#endif
+
+// Packet: 0x08e3
+packetLen(0x08e3, 146)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08e5
+packetLen(0x08e5, 41)
+
+// Packet: 0x08e6
+packetLen(0x08e6, 4)
+
+// Packet: 0x08e7
+packetLen(0x08e7, 10)
+
+// Packet: 0x08e8
+packetLen(0x08e8, -1)
+
+// Packet: 0x08e9
+packetLen(0x08e9, 2)
+
+// Packet: 0x08ea
+packetLen(0x08ea, 4)
+
+// Packet: 0x08eb
+packetLen(0x08eb, 39)
+
+// Packet: 0x08ec
+packetLen(0x08ec, 73)
+
+// Packet: 0x08ed
+packetLen(0x08ed, 43)
+
+// Packet: 0x08ee
+packetLen(0x08ee, 6)
+
+// Packet: 0x08ef
+packetLen(0x08ef, 6)
+
+// Packet: 0x08f0
+packetLen(0x08f0, 6)
+
+// Packet: 0x08f1
+packetLen(0x08f1, 6)
+
+// Packet: 0x08f2
+packetLen(0x08f2, 36)
+
+// Packet: 0x08f3
+packetLen(0x08f3, -1)
+
+// Packet: 0x08f4
+packetLen(0x08f4, 6)
+
+// Packet: 0x08f5
+packetLen(0x08f5, -1)
+
+// Packet: 0x08f6
+packetLen(0x08f6, 22)
+
+// Packet: 0x08f7
+packetLen(0x08f7, 3)
+
+// Packet: 0x08f8
+packetLen(0x08f8, 7)
+
+// Packet: 0x08f9
+packetLen(0x08f9, 6)
+
+// Packet: 0x08fa
+packetLen(0x08fa, 6)
+
+// Packet: 0x08fb
+packetLen(0x08fb, 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: 0x0909
+packetLen(0x0909, 6)
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090b
+packetLen(0x090b, 30)
+
+// Packet: 0x090c
+packetLen(0x090c, 30)
+
+// Packet: 0x090d
+packetLen(0x090d, -1)
+
+// Packet: 0x090e
+packetLen(0x090e, 2)
+
+// Packet: 0x090f
+#if PACKETVER >= 20120131
+packetLen(0x090f, -1)
+#endif
+
+// Packet: 0x0910
+#if PACKETVER >= 20120120
+packetLen(0x0910, 10)
+#endif
+
+// Packet: 0x0911
+#if PACKETVER >= 20120120
+packetLen(0x0911, 30)
+#endif
+
+// Packet: 0x0912
+#if PACKETVER >= 20120120
+packetLen(0x0912, 10)
+#endif
+
+// Packet: 0x0913
+#if PACKETVER >= 20120120
+packetLen(0x0913, 30)
+#endif
+
+// Packet: 0x0914
+#if PACKETVER >= 20120131
+packetLen(0x0914, -1)
+#endif
+
+// Packet: 0x0915
+#if PACKETVER >= 20120131
+packetLen(0x0915, -1)
+#endif
+
+// Packet: 0x0916
+#if PACKETVER >= 20120131
+packetLen(0x0916, 26)
+#endif
+
+// Packet: 0x0917
+#if PACKETVER >= 20121218
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0917, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0917, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0917, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0917, 7)
+#elif PACKETVER >= 20120207
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20121024
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0918, 36)
+#elif PACKETVER >= 20120911
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0918, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20120601
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20120307
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0919, 19)
+#elif PACKETVER >= 20120221
+packetLen(0x0919, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20121227
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20121212
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20121128
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20121114
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20120523
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20120404
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20120221
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20121205
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20120502
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20121227
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x091c, 19)
+#elif PACKETVER >= 20121212
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20121128
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x091c, 5)
+#elif PACKETVER >= 20120417
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20120905
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20120612
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x091d, 18)
+#elif PACKETVER >= 20120404
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20121205
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x091e, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x091e, 12)
+#elif PACKETVER >= 20120207
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20121227
+packetLen(0x091f, 4)
+#elif PACKETVER >= 20121205
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x091f, 90)
+#elif PACKETVER >= 20120822
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x091f, 19)
+#elif PACKETVER >= 20120801
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20120523
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x091f, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20121227
+packetLen(0x0920, 90)
+#elif PACKETVER >= 20121218
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20121024
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0920, 4)
+#elif PACKETVER >= 20120822
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0920, 7)
+#elif PACKETVER >= 20120404
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0920, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20121212
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0921, 19)
+#elif PACKETVER >= 20121128
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0921, 10)
+#elif PACKETVER >= 20120221
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0921, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20121205
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20120502
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0922, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20121010
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20120523
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0923, 7)
+#elif PACKETVER >= 20120502
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20120612
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0924, 90)
+#elif PACKETVER >= 20120207
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20121017
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0925, 12)
+#elif PACKETVER >= 20120307
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0925, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20120905
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20120502
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20120314
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0926, 18)
+#elif PACKETVER >= 20120207
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20121128
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0927, 19)
+#elif PACKETVER >= 20121010
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0927, 18)
+#elif PACKETVER >= 20120830
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20120801
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20120307
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20121128
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0929, 4)
+#elif PACKETVER >= 20120822
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0929, 12)
+#elif PACKETVER >= 20120314
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0929, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20120808
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x092a, 4)
+#elif PACKETVER >= 20120320
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20121107
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20121031
+packetLen(0x092b, 4)
+#elif PACKETVER >= 20120801
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x092b, 90)
+#elif PACKETVER >= 20120523
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x092b, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20120710
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x092c, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20120716
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20120307
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x092d, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20120808
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20120410
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20121205
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x092f, 4)
+#elif PACKETVER >= 20120612
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20121121
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0930, 4)
+#elif PACKETVER >= 20120919
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0930, -1)
+#elif PACKETVER >= 20120808
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20120529
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0930, 4)
+#elif PACKETVER >= 20120228
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0930, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20121205
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0931, 7)
+#elif PACKETVER >= 20121031
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0931, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20121227
+packetLen(0x0932, 5)
+#elif PACKETVER >= 20121218
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0932, 18)
+#elif PACKETVER >= 20121010
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0932, 6)
+#elif PACKETVER >= 20120822
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0932, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20121227
+packetLen(0x0933, -1)
+#elif PACKETVER >= 20120307
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0933, 18)
+#elif PACKETVER >= 20120221
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0933, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20121114
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0934, 12)
+#elif PACKETVER >= 20121017
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20120905
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20120822
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0934, 10)
+#elif PACKETVER >= 20120808
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0934, 10)
+#elif PACKETVER >= 20120404
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20121227
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20121121
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0935, 10)
+#elif PACKETVER >= 20120830
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0935, 5)
+#elif PACKETVER >= 20120702
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0935, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20120716
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20120612
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20120830
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0937, 10)
+#elif PACKETVER >= 20120307
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0937, 26)
+#elif PACKETVER >= 20120221
+packetLen(0x0937, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20121128
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0938, 12)
+#elif PACKETVER >= 20121114
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20120801
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0938, 10)
+#elif PACKETVER >= 20120702
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20120417
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0938, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20120207
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20121212
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x093a, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x093a, 90)
+#elif PACKETVER >= 20120601
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x093a, 19)
+#elif PACKETVER >= 20120320
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20121121
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x093b, 12)
+#elif PACKETVER >= 20121107
+packetLen(0x093b, 10)
+#elif PACKETVER >= 20120314
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20121121
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20121017
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20120911
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x093c, 12)
+#elif PACKETVER >= 20120808
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20120724
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20120502
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x093c, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20120814
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x093d, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20121212
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20120529
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x093e, 90)
+#elif PACKETVER >= 20120404
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x093e, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20121212
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x093f, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20121227
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20120830
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0940, 12)
+#elif PACKETVER >= 20120814
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20120626
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120618
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20120515
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20121121
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20120822
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0941, 90)
+#elif PACKETVER >= 20120808
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20120529
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20120502
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20120307
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20121031
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0942, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20120830
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0943, 8)
+#elif PACKETVER >= 20120612
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0943, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20121121
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20120911
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0944, 26)
+#elif PACKETVER >= 20120710
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20120523
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0944, 18)
+#elif PACKETVER >= 20120207
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20121205
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20121114
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0945, 90)
+#elif PACKETVER >= 20120911
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20120830
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0945, 7)
+#elif PACKETVER >= 20120417
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20120328
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0945, 19)
+#elif PACKETVER >= 20120307
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20121227
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0946, 36)
+#elif PACKETVER >= 20121212
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0946, 10)
+#elif PACKETVER >= 20121128
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20121017
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20120808
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20120320
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20121227
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20121218
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20121031
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20121017
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0947, 10)
+#elif PACKETVER >= 20120523
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0947, 10)
+#elif PACKETVER >= 20120502
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0947, 4)
+#elif PACKETVER >= 20120410
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20121010
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0948, 18)
+#elif PACKETVER >= 20120919
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0948, 10)
+#elif PACKETVER >= 20120502
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0948, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20121121
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0949, 18)
+#elif PACKETVER >= 20120919
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0949, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20121121
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x094a, 10)
+#elif PACKETVER >= 20120710
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x094a, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20121212
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x094b, 6)
+#elif PACKETVER >= 20121121
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20120919
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20120905
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x094b, 18)
+#elif PACKETVER >= 20120716
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x094b, 5)
+#elif PACKETVER >= 20120523
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x094b, 5)
+#elif PACKETVER >= 20120417
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20121017
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20121128
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x094d, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20120830
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x094d, 36)
+#elif PACKETVER >= 20120529
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x094d, 26)
+#elif PACKETVER >= 20120515
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120508
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x094d, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20120830
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20120716
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20120612
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x094e, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20121121
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20121205
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0950, 12)
+#elif PACKETVER >= 20121121
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20121010
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20120911
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20121218
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0951, 8)
+#elif PACKETVER >= 20120702
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20120404
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0951, 7)
+#elif PACKETVER >= 20120207
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20121128
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20120221
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0952, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20121227
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20121218
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0953, 6)
+#elif PACKETVER >= 20121205
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0953, 6)
+#elif PACKETVER >= 20120830
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0953, 18)
+#elif PACKETVER >= 20120716
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0953, 4)
+#elif PACKETVER >= 20120702
+packetLen(0x0953, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20121212
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0954, 7)
+#elif PACKETVER >= 20121128
+packetLen(0x0954, 8)
+#elif PACKETVER >= 20121121
+packetLen(0x0954, 36)
+#elif PACKETVER >= 20121031
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x0954, 90)
+#elif PACKETVER >= 20120618
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x0954, 36)
+#elif PACKETVER >= 20120404
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20120307
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20120830
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x0955, -1)
+#elif PACKETVER >= 20120502
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20121010
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20120716
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20120529
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20120523
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20120207
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20121227
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20121218
+packetLen(0x0957, 18)
+#elif PACKETVER >= 20121212
+packetLen(0x0957, 90)
+#elif PACKETVER >= 20121128
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0957, 26)
+#elif PACKETVER >= 20121017
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20120801
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0957, 36)
+#elif PACKETVER >= 20120523
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20120221
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0957, 90)
+#elif PACKETVER >= 20120207
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20121227
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20121128
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20121121
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20120919
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0958, 10)
+#elif PACKETVER >= 20120410
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20121212
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0959, 26)
+#elif PACKETVER >= 20121017
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20120919
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0959, 7)
+#elif PACKETVER >= 20120905
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0959, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20120207
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20121218
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20120830
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20120822
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20120502
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20120207
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20121121
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20121017
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20120314
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x095c, 4)
+#elif PACKETVER >= 20120228
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20120214
+packetLen(0x095c, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20121227
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20121031
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20120710
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x095d, 36)
+#elif PACKETVER >= 20120404
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20120207
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20121031
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20121024
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20121010
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x095e, 10)
+#elif PACKETVER >= 20120307
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x095e, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20120207
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20121205
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20121128
+packetLen(0x0960, -1)
+#elif PACKETVER >= 20121114
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20120911
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0960, 90)
+#elif PACKETVER >= 20120716
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20120710
+packetLen(0x0960, 90)
+#elif PACKETVER >= 20120702
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20120710
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0961, 4)
+#elif PACKETVER >= 20120417
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20120410
+packetLen(0x0961, 36)
+#elif PACKETVER >= 20120307
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20120228
+packetLen(0x0961, 10)
+#elif PACKETVER >= 20120207
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20121227
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20121024
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20120626
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20121114
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0963, 4)
+#elif PACKETVER >= 20121010
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120925
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20120919
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20120801
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20120612
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120601
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20120404
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20120314
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20120221
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0963, 7)
+#elif PACKETVER >= 20120207
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20121017
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0964, 26)
+#elif PACKETVER >= 20120905
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20120808
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120801
+packetLen(0x0964, 12)
+#elif PACKETVER >= 20120523
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20120320
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20120314
+packetLen(0x0964, 18)
+#elif PACKETVER >= 20120207
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20121218
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20121121
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20121031
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x0965, 19)
+#elif PACKETVER >= 20120801
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20120502
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20120424
+packetLen(0x0965, 8)
+#elif PACKETVER >= 20120207
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20121218
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x0966, -1)
+#elif PACKETVER >= 20121205
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20121114
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20121107
+packetLen(0x0966, 18)
+#elif PACKETVER >= 20120919
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20120801
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120724
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20120523
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x0966, 4)
+#elif PACKETVER >= 20120328
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120320
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20120221
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20120214
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20120911
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120905
+packetLen(0x0967, 7)
+#elif PACKETVER >= 20120822
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20120404
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120328
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20120228
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20120207
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20121212
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20121205
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20120919
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20120911
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20120207
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20121017
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20121010
+packetLen(0x0969, 18)
+#elif PACKETVER >= 20120822
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20120814
+packetLen(0x0969, 5)
+#elif PACKETVER >= 20120228
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x0969, 19)
+#elif PACKETVER >= 20120207
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20121227
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20121212
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20121121
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20121114
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20121107
+packetLen(0x096a, 26)
+#elif PACKETVER >= 20121031
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20121024
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20121017
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120925
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120919
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120911
+packetLen(0x096a, 36)
+#elif PACKETVER >= 20120905
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120830
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120814
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120808
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120724
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120716
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120626
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120612
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120601
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120529
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120523
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120515
+packetLen(0x096a, -1)
+#elif PACKETVER >= 20120508
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120502
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120424
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120417
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120410
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120404
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120328
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120307
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120228
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120221
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20120207
+packetLen(0x096a, 6)
+#endif
+
+// Packet: 0x096b
+#if PACKETVER >= 20120404
+packetLen(0x096b, 4)
+#elif PACKETVER >= 20120207
+packetLen(0x096b, 3)
+#endif
+
+// Packet: 0x096c
+#if PACKETVER >= 20120207
+packetLen(0x096c, 6)
+#endif
+
+// Packet: 0x096d
+#if PACKETVER >= 20120228
+packetLen(0x096d, -1)
+#elif PACKETVER >= 20120214
+packetLen(0x096d, 2)
+#endif
+
+// Packet: 0x096e
+#if PACKETVER >= 20120228
+packetLen(0x096e, -1)
+#elif PACKETVER >= 20120221
+packetLen(0x096e, 6)
+#elif PACKETVER >= 20120214
+packetLen(0x096e, 10)
+#endif
+
+// Packet: 0x096f
+#if PACKETVER >= 20120221
+packetLen(0x096f, 7)
+#elif PACKETVER >= 20120214
+packetLen(0x096f, 3)
+#endif
+
+// Packet: 0x0970
+#if PACKETVER >= 20120214
+packetLen(0x0970, 31)
+#endif
+
+// Packet: 0x0971
+#if PACKETVER >= 20120214
+packetLen(0x0971, 6)
+#endif
+
+// Packet: 0x0972
+#if PACKETVER >= 20120214
+packetLen(0x0972, -1)
+#endif
+
+// Packet: 0x0973
+#if PACKETVER >= 20120214
+packetLen(0x0973, 7)
+#endif
+
+// Packet: 0x0974
+#if PACKETVER >= 20120221
+packetLen(0x0974, 2)
+#endif
+
+// Packet: 0x0975
+#if PACKETVER >= 20120221
+packetLen(0x0975, -1)
+#endif
+
+// Packet: 0x0976
+#if PACKETVER >= 20120221
+packetLen(0x0976, -1)
+#endif
+
+// Packet: 0x0977
+#if PACKETVER >= 20120228
+packetLen(0x0977, 14)
+#elif PACKETVER >= 20120221
+packetLen(0x0977, 15)
+#endif
+
+// Packet: 0x0978
+#if PACKETVER >= 20120328
+packetLen(0x0978, 6)
+#endif
+
+// Packet: 0x0979
+#if PACKETVER >= 20120328
+packetLen(0x0979, 50)
+#endif
+
+// Packet: 0x097a
+#if PACKETVER >= 20120410
+packetLen(0x097a, -1)
+#endif
+
+// Packet: 0x097b
+#if PACKETVER >= 20120417
+packetLen(0x097b, -1)
+#endif
+
+// Packet: 0x097c
+#if PACKETVER >= 20120502
+packetLen(0x097c, 4)
+#endif
+
+// Packet: 0x097d
+#if PACKETVER >= 20120502
+packetLen(0x097d, 288)
+#endif
+
+// Packet: 0x097e
+#if PACKETVER >= 20120502
+packetLen(0x097e, 12)
+#endif
+
+// Packet: 0x097f
+#if PACKETVER >= 20120502
+packetLen(0x097f, -1)
+#endif
+
+// Packet: 0x0980
+#if PACKETVER >= 20120502
+packetLen(0x0980, 7)
+#endif
+
+// Packet: 0x0981
+#if PACKETVER >= 20120515
+packetLen(0x0981, -1)
+#endif
+
+// Packet: 0x0982
+#if PACKETVER >= 20120523
+packetLen(0x0982, 7)
+#elif PACKETVER >= 20120515
+packetLen(0x0982, 3)
+#endif
+
+// Packet: 0x0983
+#if PACKETVER >= 20120529
+packetLen(0x0983, 29)
+#endif
+
+// Packet: 0x0984
+#if PACKETVER >= 20120529
+packetLen(0x0984, 28)
+#endif
+
+// Packet: 0x0985
+#if PACKETVER >= 20120601
+packetLen(0x0985, -1)
+#endif
+
+// Packet: 0x0986
+#if PACKETVER >= 20120626
+packetLen(0x0986, 10)
+#elif PACKETVER >= 20120612
+packetLen(0x0986, 6)
+#endif
+
+// Packet: 0x0987
+#if PACKETVER >= 20120702
+packetLen(0x0987, 63)
+#endif
+
+// Packet: 0x0988
+#if PACKETVER >= 20120716
+packetLen(0x0988, 6)
+#elif PACKETVER >= 20120702
+packetLen(0x0988, 2)
+#endif
+
+// Packet: 0x0989
+#if PACKETVER >= 20120716
+packetLen(0x0989, 2)
+#elif PACKETVER >= 20120702
+packetLen(0x0989, 6)
+#endif
+
+// Packet: 0x098a
+#if PACKETVER >= 20120702
+packetLen(0x098a, -1)
+#endif
+
+// Packet: 0x098b
+#if PACKETVER >= 20120716
+packetLen(0x098b, 2)
+#endif
+
+// Packet: 0x098c
+#if PACKETVER >= 20120716
+packetLen(0x098c, 4)
+#endif
+
+// Packet: 0x098d
+#if PACKETVER >= 20120716
+packetLen(0x098d, -1)
+#endif
+
+// Packet: 0x098e
+#if PACKETVER >= 20120716
+packetLen(0x098e, -1)
+#endif
+
+// Packet: 0x098f
+#if PACKETVER >= 20120724
+packetLen(0x098f, -1)
+#endif
+
+// Packet: 0x0990
+#if PACKETVER >= 20120925
+packetLen(0x0990, 31)
+#endif
+
+// Packet: 0x0991
+#if PACKETVER >= 20120925
+packetLen(0x0991, -1)
+#endif
+
+// Packet: 0x0992
+#if PACKETVER >= 20120925
+packetLen(0x0992, -1)
+#endif
+
+// Packet: 0x0993
+#if PACKETVER >= 20120925
+packetLen(0x0993, -1)
+#endif
+
+// Packet: 0x0994
+#if PACKETVER >= 20120925
+packetLen(0x0994, -1)
+#endif
+
+// Packet: 0x0995
+#if PACKETVER >= 20120925
+packetLen(0x0995, -1)
+#endif
+
+// Packet: 0x0996
+#if PACKETVER >= 20120925
+packetLen(0x0996, -1)
+#endif
+
+// Packet: 0x0997
+#if PACKETVER >= 20120925
+packetLen(0x0997, -1)
+#endif
+
+// Packet: 0x0998
+#if PACKETVER >= 20120925
+packetLen(0x0998, 8)
+#endif
+
+// Packet: 0x0999
+#if PACKETVER >= 20120925
+packetLen(0x0999, 11)
+#endif
+
+// Packet: 0x099a
+#if PACKETVER >= 20120925
+packetLen(0x099a, 9)
+#endif
+
+// Packet: 0x099b
+#if PACKETVER >= 20121010
+packetLen(0x099b, 8)
+#endif
+
+// Packet: 0x099c
+#if PACKETVER >= 20121024
+packetLen(0x099c, 6)
+#endif
+
+// Packet: 0x099d
+#if PACKETVER >= 20121024
+packetLen(0x099d, -1)
+#endif
+
+// Packet: 0x099e
+#if PACKETVER >= 20121128
+packetLen(0x099e, 12)
+#endif
+
+// Packet: 0x099f
+#if PACKETVER >= 20121212
+packetLen(0x099f, -1)
+#endif
+
+// Packet: 0x09a0
+#if PACKETVER >= 20121212
+packetLen(0x09a0, 6)
+#endif
+
+// Packet: 0x09a1
+#if PACKETVER >= 20121212
+packetLen(0x09a1, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2012_LEN_RE_H */
diff --git a/src/common/packets/packets2013_len_main.h b/src/common/packets/packets2013_len_main.h
new file mode 100644
index 000000000..673d36815
--- /dev/null
+++ b/src/common/packets/packets2013_len_main.h
@@ -0,0 +1,8876 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2013_LEN_MAIN_H
+#define COMMON_PACKETS2013_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 146)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20131230
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20131218
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20131016
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130828
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20130814
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20130807
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130717
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130703
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20130612
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20130227
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130109
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0202, 5)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20131230
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20131223
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20131218
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20131023
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20131008
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130731
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20130717
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130612
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130515
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20130502
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130313
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130109
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x022d, 4)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20131008
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130904
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x023b, 90)
+#elif PACKETVER >= 20130814
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130717
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130612
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130529
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130215
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x023b, 26)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20131113
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20131008
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130911
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20130807
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130626
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130502
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20130724
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20130403
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x02c4, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20131211
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20131204
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x035f, 36)
+#elif PACKETVER >= 20130925
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20130206
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20131230
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20130814
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130703
+packetLen(0x0360, 26)
+#elif PACKETVER >= 20130626
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20130320
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20130220
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20130206
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20131230
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20131127
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20131023
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20131008
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130911
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20130828
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20130821
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130814
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130717
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130612
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130227
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20131230
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20131211
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20131106
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0362, 19)
+#elif PACKETVER >= 20131002
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20130515
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130227
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20130130
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20130109
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20131230
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20131030
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20131008
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130911
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130618
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130502
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130410
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130227
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20131230
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20131204
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x0364, 90)
+#elif PACKETVER >= 20131106
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20131023
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130917
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130618
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130502
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130410
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130320
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130227
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20131230
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20131218
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20131204
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20131106
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0365, 19)
+#elif PACKETVER >= 20131008
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130911
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130814
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130717
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130618
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130502
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130410
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20130313
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130227
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130115
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20131230
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20131204
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20131127
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20131023
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130917
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130828
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130814
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130717
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130618
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130522
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130410
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130320
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130227
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130215
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130130
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130109
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20130417
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20131230
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20131204
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0368, 12)
+#elif PACKETVER >= 20131106
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0368, 19)
+#elif PACKETVER >= 20130807
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0368, 90)
+#elif PACKETVER >= 20130227
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0368, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20131230
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20131204
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20131113
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20131030
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20131008
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130917
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130814
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130717
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130618
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130529
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130410
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130320
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130227
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130130
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0369, 18)
+#elif PACKETVER >= 20130109
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20131230
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20131113
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0436, 36)
+#elif PACKETVER >= 20131030
+packetLen(0x0436, 18)
+#elif PACKETVER >= 20131008
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130917
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130814
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130717
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130618
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130515
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20130502
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130320
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130227
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130215
+packetLen(0x0436, 18)
+#elif PACKETVER >= 20130109
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0436, 36)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20131230
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20131204
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20131106
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20131008
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130917
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130828
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130618
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130522
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130410
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20130403
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130320
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130306
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130130
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20131230
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20131211
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20131204
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20131106
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20131023
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20131008
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130925
+packetLen(0x0438, 90)
+#elif PACKETVER >= 20130917
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130828
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130731
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20130717
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130618
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130522
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130410
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130327
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130130
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130109
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20131211
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20131127
+packetLen(0x07e4, 90)
+#elif PACKETVER >= 20131106
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x07e4, 7)
+#elif PACKETVER >= 20131002
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20130417
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130227
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20130109
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20131211
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20131023
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x07ec, 19)
+#elif PACKETVER >= 20131008
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130911
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20130814
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130618
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130529
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130410
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130227
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x07ec, 4)
+#elif PACKETVER >= 20130109
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20131127
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20131113
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20131030
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20131023
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20131008
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130911
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130814
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130717
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130618
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130502
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130320
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130306
+packetLen(0x0802, 12)
+#elif PACKETVER >= 20130227
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130215
+packetLen(0x0802, 90)
+#elif PACKETVER >= 20130130
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0802, 7)
+#elif PACKETVER >= 20130109
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20131230
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131218
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20131211
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131204
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131120
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20131106
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0811, 10)
+#elif PACKETVER >= 20131008
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0811, 7)
+#elif PACKETVER >= 20130904
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130814
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0811, 10)
+#elif PACKETVER >= 20130424
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x0811, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130206
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20131230
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20131204
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20131008
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20130828
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20130814
+packetLen(0x0815, 4)
+#elif PACKETVER >= 20130807
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130522
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0815, 18)
+#elif PACKETVER >= 20130206
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130130
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130109
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20131127
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20131113
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20130703
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20130313
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20130227
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0817, 36)
+#elif PACKETVER >= 20130115
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20131230
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20131204
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20130904
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130814
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130522
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130109
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20131030
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0835, 4)
+#elif PACKETVER >= 20130911
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0835, 12)
+#elif PACKETVER >= 20130821
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20131230
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20131204
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20131106
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20131008
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130917
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130904
+packetLen(0x0838, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130717
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130618
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130522
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130410
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130320
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130227
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130130
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130115
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20131230
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20131211
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20131204
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20131106
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20131008
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130917
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130814
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130724
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130618
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130522
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130410
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130320
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130227
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130130
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130109
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20131211
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x085a, 26)
+#elif PACKETVER >= 20131127
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x085a, 18)
+#elif PACKETVER >= 20130605
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x085a, 12)
+#elif PACKETVER >= 20130508
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x085a, 4)
+#elif PACKETVER >= 20130327
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x085a, 90)
+#elif PACKETVER >= 20130306
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x085a, 10)
+#elif PACKETVER >= 20130130
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x085a, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20131030
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x085b, 90)
+#elif PACKETVER >= 20130313
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20131223
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x085c, 36)
+#elif PACKETVER >= 20130917
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x085c, 26)
+#elif PACKETVER >= 20130313
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20131023
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x085d, 18)
+#elif PACKETVER >= 20130215
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20131016
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20130605
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x085e, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20131127
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x085f, 10)
+#elif PACKETVER >= 20130206
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x085f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20131230
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20130703
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0860, 8)
+#elif PACKETVER >= 20130417
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0860, 19)
+#elif PACKETVER >= 20130313
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20130121
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20131211
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0862, 5)
+#elif PACKETVER >= 20131030
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0862, 18)
+#elif PACKETVER >= 20130626
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0862, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20131023
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20131008
+packetLen(0x0863, 26)
+#elif PACKETVER >= 20130925
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0863, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0863, 7)
+#elif PACKETVER >= 20130807
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0863, 26)
+#elif PACKETVER >= 20130605
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0863, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20131023
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0864, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0864, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20131218
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20130807
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0865, 10)
+#elif PACKETVER >= 20130417
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0865, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20131113
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20131113
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20131023
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0867, 90)
+#elif PACKETVER >= 20130731
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20130306
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20130925
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20130911
+packetLen(0x0868, 18)
+#elif PACKETVER >= 20130821
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0868, 12)
+#elif PACKETVER >= 20130515
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0868, 36)
+#elif PACKETVER >= 20130327
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20131211
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0869, 10)
+#elif PACKETVER >= 20130605
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20130220
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20130731
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20130917
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x086b, 36)
+#elif PACKETVER >= 20130724
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20130424
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x086b, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x086b, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20131211
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20131016
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x086c, 4)
+#elif PACKETVER >= 20130417
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20130130
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x086c, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20131016
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x086d, 36)
+#elif PACKETVER >= 20130917
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20130320
+packetLen(0x086d, 26)
+#elif PACKETVER >= 20130313
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x086d, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20131218
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x086e, -1)
+#elif PACKETVER >= 20131030
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x086e, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20130917
+packetLen(0x086e, 90)
+#elif PACKETVER >= 20130828
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x086e, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x086e, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20130925
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20130220
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20131023
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20130508
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20130121
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20131230
+packetLen(0x0871, 7)
+#elif PACKETVER >= 20130121
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0871, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20131030
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20131218
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0873, 19)
+#elif PACKETVER >= 20130821
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20130710
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0873, 36)
+#elif PACKETVER >= 20130403
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0873, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20130821
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0874, 7)
+#elif PACKETVER >= 20130731
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0874, 5)
+#elif PACKETVER >= 20130605
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0874, 18)
+#elif PACKETVER >= 20130522
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20130508
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20131113
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20131023
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0875, 5)
+#elif PACKETVER >= 20130508
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0875, 26)
+#elif PACKETVER >= 20130424
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0875, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20131030
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20131002
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0876, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0876, 7)
+#elif PACKETVER >= 20130605
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0876, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20131211
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0877, 19)
+#elif PACKETVER >= 20130605
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0877, 26)
+#elif PACKETVER >= 20130508
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20130807
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0878, 7)
+#elif PACKETVER >= 20130626
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0878, 4)
+#elif PACKETVER >= 20130515
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0878, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20131211
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0879, 12)
+#elif PACKETVER >= 20130417
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0879, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20130925
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x087a, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20131230
+packetLen(0x087b, 12)
+#elif PACKETVER >= 20131223
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x087b, 4)
+#elif PACKETVER >= 20130917
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x087b, 4)
+#elif PACKETVER >= 20130306
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20130508
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x087c, 19)
+#elif PACKETVER >= 20130417
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x087c, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20131106
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x087d, 26)
+#elif PACKETVER >= 20131002
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20131230
+packetLen(0x087e, 4)
+#elif PACKETVER >= 20130925
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x087e, 10)
+#elif PACKETVER >= 20130904
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20130529
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20131230
+packetLen(0x087f, -1)
+#elif PACKETVER >= 20131211
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x087f, 18)
+#elif PACKETVER >= 20130206
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x087f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20130717
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0880, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20131218
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20131204
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20130828
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0881, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20131211
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0882, 26)
+#elif PACKETVER >= 20130724
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0882, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20131016
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0883, 8)
+#elif PACKETVER >= 20130612
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0883, 36)
+#elif PACKETVER >= 20130215
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0883, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20131204
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20131016
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0884, 18)
+#elif PACKETVER >= 20130807
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0884, 36)
+#elif PACKETVER >= 20130410
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0884, 19)
+#elif PACKETVER >= 20130130
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20131030
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20131016
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20131002
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x0885, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20131218
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20130220
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20131113
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x0887, 36)
+#elif PACKETVER >= 20131023
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20130821
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0887, 10)
+#elif PACKETVER >= 20130807
+packetLen(0x0887, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20130522
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20130320
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20130206
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0887, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20131023
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20130605
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0888, 4)
+#elif PACKETVER >= 20130508
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0888, 12)
+#elif PACKETVER >= 20130109
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20130917
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0889, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20130807
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0889, 4)
+#elif PACKETVER >= 20130626
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20130508
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20130206
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20131030
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20130925
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x088a, 36)
+#elif PACKETVER >= 20130821
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x088a, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20131030
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20130807
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20130703
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20130515
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x088b, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20131127
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x088c, 19)
+#elif PACKETVER >= 20131113
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20130703
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x088c, 19)
+#elif PACKETVER >= 20130417
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x088c, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20131204
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20130828
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20130626
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20130605
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20130522
+packetLen(0x088e, 36)
+#elif PACKETVER >= 20130327
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x088e, 7)
+#elif PACKETVER >= 20130115
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x088e, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20131120
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20131002
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20130828
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20130703
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x088f, 4)
+#elif PACKETVER >= 20130403
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20131023
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20130626
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0890, 12)
+#elif PACKETVER >= 20130605
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0890, 7)
+#elif PACKETVER >= 20130417
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0890, 4)
+#elif PACKETVER >= 20130313
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20131113
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20130115
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20131218
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20131113
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20130731
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0893, 19)
+#elif PACKETVER >= 20130515
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20130306
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0893, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20131204
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0894, 36)
+#elif PACKETVER >= 20131113
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20131023
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0894, 12)
+#elif PACKETVER >= 20130807
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0894, -1)
+#elif PACKETVER >= 20130703
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0894, 18)
+#elif PACKETVER >= 20130121
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20131230
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20130925
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20130703
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20130605
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130515
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20131016
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0896, 90)
+#elif PACKETVER >= 20130821
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0896, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20130807
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20130605
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20130515
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20131230
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0898, 7)
+#elif PACKETVER >= 20130227
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20130403
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20131120
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x089a, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20130724
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20130529
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x089b, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x089b, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20131230
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20131016
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x089c, 10)
+#elif PACKETVER >= 20130529
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20130925
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x089d, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20131204
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20131120
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x089e, 10)
+#elif PACKETVER >= 20130417
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20130220
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20130904
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20130220
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x089f, 4)
+#elif PACKETVER >= 20130206
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20131211
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20130925
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20130417
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20130130
+packetLen(0x08a0, 10)
+#elif PACKETVER >= 20130121
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20131127
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20130522
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x08a1, 18)
+#elif PACKETVER >= 20130403
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20131113
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20131030
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20130925
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a2, 7)
+#elif PACKETVER >= 20130403
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20131218
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x08a3, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a3, 8)
+#elif PACKETVER >= 20130508
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20131230
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20131218
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20131204
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20131127
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20131113
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x08a4, 90)
+#elif PACKETVER >= 20130313
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20130206
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20130121
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20130703
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x08a5, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20130724
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20130626
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20130529
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20131211
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20130605
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20131127
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x08a8, 7)
+#elif PACKETVER >= 20131113
+packetLen(0x08a8, 8)
+#elif PACKETVER >= 20130925
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20130605
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20131230
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20131016
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20130724
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20130724
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20130522
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20130115
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x08aa, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20131223
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x08ab, 26)
+#elif PACKETVER >= 20131211
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20130703
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x08ab, 26)
+#elif PACKETVER >= 20130515
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x08ab, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20131030
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20130904
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20130515
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20130313
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20130215
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20131211
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x08ad, 4)
+#elif PACKETVER >= 20130220
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08ad, 2)
+#endif
+
+// 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, 146)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08e5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e5, 41)
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e6, 4)
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e7, 10)
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e9, 2)
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ea, 4)
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08eb, 39)
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ec, 73)
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ed, 43)
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ee, 6)
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ef, 6)
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f0, 6)
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f1, 6)
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f2, 36)
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f4, 6)
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f5, -1)
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f6, 22)
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f7, 3)
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f8, 7)
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f9, 6)
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fa, 6)
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fb, 6)
+#endif
+
+// 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: 0x0909
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x0909, 6)
+#endif
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090b
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090b, 30)
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090c, 30)
+#endif
+
+// 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
+#if PACKETVER >= 20131127
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0917, 18)
+#elif PACKETVER >= 20130724
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0917, 10)
+#elif PACKETVER >= 20130417
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0917, 26)
+#elif PACKETVER >= 20130313
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20130925
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0918, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0918, 7)
+#elif PACKETVER >= 20130605
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0918, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0918, 10)
+#elif PACKETVER >= 20130109
+packetLen(0x0918, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20131030
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x0919, 19)
+#elif PACKETVER >= 20130605
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0919, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20131023
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20130206
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20130306
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20131120
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20131016
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20131230
+packetLen(0x091d, 36)
+#elif PACKETVER >= 20131113
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x091d, 90)
+#elif PACKETVER >= 20131030
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x091d, 12)
+#elif PACKETVER >= 20130828
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x091d, 19)
+#elif PACKETVER >= 20130417
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20131230
+packetLen(0x091e, 10)
+#elif PACKETVER >= 20131023
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20130925
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x091e, 4)
+#elif PACKETVER >= 20130911
+packetLen(0x091e, 5)
+#elif PACKETVER >= 20130904
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x091e, 10)
+#elif PACKETVER >= 20130313
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20131230
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20131211
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20131023
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20130403
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20131120
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0920, 12)
+#elif PACKETVER >= 20130320
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0920, 36)
+#elif PACKETVER >= 20130215
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0920, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20130925
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0921, 90)
+#elif PACKETVER >= 20130703
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0921, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20130327
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0922, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20131030
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0923, 7)
+#elif PACKETVER >= 20130925
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20130904
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0923, 10)
+#elif PACKETVER >= 20130821
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0923, 18)
+#elif PACKETVER >= 20130220
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20131030
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0924, 90)
+#elif PACKETVER >= 20130206
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20131106
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0925, 10)
+#elif PACKETVER >= 20130529
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20131230
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20131127
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0926, -1)
+#elif PACKETVER >= 20131113
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20130410
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0926, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20131127
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20131023
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0927, 12)
+#elif PACKETVER >= 20130821
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20130731
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20130115
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0927, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20131211
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0928, 7)
+#elif PACKETVER >= 20131120
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0928, 36)
+#elif PACKETVER >= 20130904
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20131120
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20130424
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0929, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20131230
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20131218
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x092b, 36)
+#elif PACKETVER >= 20131127
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x092b, 5)
+#elif PACKETVER >= 20131113
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x092b, 19)
+#elif PACKETVER >= 20130724
+packetLen(0x092b, 26)
+#elif PACKETVER >= 20130403
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092b, 5)
+#elif PACKETVER >= 20130306
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20131120
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092c, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20131211
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x092d, 10)
+#elif PACKETVER >= 20131120
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20130522
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x092d, 18)
+#elif PACKETVER >= 20130508
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20130403
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092d, 26)
+#elif PACKETVER >= 20130320
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x092d, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20131120
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092e, 4)
+#elif PACKETVER >= 20130121
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20131223
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x092f, 19)
+#elif PACKETVER >= 20131211
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x092f, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x092f, 26)
+#elif PACKETVER >= 20130403
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20130306
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20131204
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0930, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20130710
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x0930, 36)
+#elif PACKETVER >= 20130618
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20131218
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0931, 8)
+#elif PACKETVER >= 20130522
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0931, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20131016
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0932, 10)
+#elif PACKETVER >= 20130626
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20130417
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0933, 10)
+#elif PACKETVER >= 20130403
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0933, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0933, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20131120
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0934, 18)
+#elif PACKETVER >= 20131016
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0934, 12)
+#elif PACKETVER >= 20130313
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0934, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20131113
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20131030
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20131120
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20131016
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0936, -1)
+#elif PACKETVER >= 20130626
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20130605
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0936, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20131030
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20130911
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0937, 26)
+#elif PACKETVER >= 20130821
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20130605
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0938, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0938, 8)
+#elif PACKETVER >= 20130320
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20130417
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0939, 7)
+#elif PACKETVER >= 20130403
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20131204
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x093a, 26)
+#elif PACKETVER >= 20130917
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130618
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130130
+packetLen(0x093a, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20131211
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20131120
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x093c, 5)
+#elif PACKETVER >= 20131016
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x093c, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20131230
+packetLen(0x093d, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x093d, 8)
+#elif PACKETVER >= 20130206
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x093d, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20131230
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20131127
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x093e, 90)
+#elif PACKETVER >= 20130828
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20130529
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20130515
+packetLen(0x093e, 36)
+#elif PACKETVER >= 20130115
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x093e, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20131127
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x093f, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20131204
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0940, 4)
+#elif PACKETVER >= 20131008
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0940, 5)
+#elif PACKETVER >= 20130925
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20130917
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x0940, 26)
+#elif PACKETVER >= 20130130
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20130109
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0940, 19)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20131211
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20130807
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20130220
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20131113
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0942, 10)
+#elif PACKETVER >= 20130626
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0942, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20131230
+packetLen(0x0943, 26)
+#elif PACKETVER >= 20130522
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0943, 19)
+#elif PACKETVER >= 20130313
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0943, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20131030
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0944, 26)
+#elif PACKETVER >= 20130626
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x0944, 4)
+#elif PACKETVER >= 20130417
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0944, 4)
+#elif PACKETVER >= 20130313
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20130626
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20131113
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20131023
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0946, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20130313
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20130227
+packetLen(0x0946, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20131223
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20131113
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0947, 7)
+#elif PACKETVER >= 20131016
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20130821
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0947, 10)
+#elif PACKETVER >= 20130522
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0947, 26)
+#elif PACKETVER >= 20130327
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20130313
+packetLen(0x0947, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20131113
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0948, 4)
+#elif PACKETVER >= 20130917
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0948, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20131230
+packetLen(0x0949, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0949, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20131230
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20131030
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20130904
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20130731
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20130710
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20130403
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x094a, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20130403
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x094b, 36)
+#elif PACKETVER >= 20130227
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x094b, 36)
+#elif PACKETVER >= 20130121
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x094b, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20131218
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20131204
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x094c, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x094c, -1)
+#elif PACKETVER >= 20130807
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20130703
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20130515
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20130925
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x094e, -1)
+#elif PACKETVER >= 20130313
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20131204
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x094f, 7)
+#elif PACKETVER >= 20130626
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x094f, 90)
+#elif PACKETVER >= 20130403
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20130130
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x094f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20131127
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x0950, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0950, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0950, 26)
+#elif PACKETVER >= 20130215
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0950, 8)
+#elif PACKETVER >= 20130115
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0950, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20131211
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20131030
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0951, 10)
+#elif PACKETVER >= 20130605
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x0951, 10)
+#elif PACKETVER >= 20130115
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20131016
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20130703
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0952, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20131127
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20130731
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0953, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20131113
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0954, 12)
+#elif PACKETVER >= 20131030
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0954, 8)
+#elif PACKETVER >= 20131016
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0954, -1)
+#elif PACKETVER >= 20130828
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0954, 10)
+#elif PACKETVER >= 20130731
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20131127
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0955, 10)
+#elif PACKETVER >= 20130403
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0955, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20131127
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20131016
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20130911
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20130807
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0956, 26)
+#elif PACKETVER >= 20130724
+packetLen(0x0956, 12)
+#elif PACKETVER >= 20130717
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20130605
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20130220
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0956, 26)
+#elif PACKETVER >= 20130206
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0956, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20130925
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0957, 10)
+#elif PACKETVER >= 20130807
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20130515
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20130206
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0957, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20131211
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x0958, 10)
+#elif PACKETVER >= 20130717
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20131211
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0959, 90)
+#elif PACKETVER >= 20130925
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0959, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0959, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20131002
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x095a, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x095a, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20131211
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x095b, 12)
+#elif PACKETVER >= 20131030
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20131002
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x095b, 90)
+#elif PACKETVER >= 20130724
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x095b, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x095b, 19)
+#elif PACKETVER >= 20130529
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x095b, 18)
+#elif PACKETVER >= 20130121
+packetLen(0x095b, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20131204
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x095c, 19)
+#elif PACKETVER >= 20131002
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x095c, 10)
+#elif PACKETVER >= 20130515
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20130206
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20131120
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x095d, 7)
+#elif PACKETVER >= 20131106
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20131016
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20130904
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x095d, 12)
+#elif PACKETVER >= 20130724
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20130220
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20131127
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x095e, 18)
+#elif PACKETVER >= 20131023
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x095e, 10)
+#elif PACKETVER >= 20130828
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x095e, 36)
+#elif PACKETVER >= 20130115
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20131120
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x095f, 10)
+#elif PACKETVER >= 20130821
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20131120
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20130724
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0960, 12)
+#elif PACKETVER >= 20130703
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0960, 26)
+#elif PACKETVER >= 20130403
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0960, 10)
+#elif PACKETVER >= 20130313
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20131211
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0961, 4)
+#elif PACKETVER >= 20130508
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0961, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20131113
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0962, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0962, 7)
+#elif PACKETVER >= 20130828
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x0962, 90)
+#elif PACKETVER >= 20130807
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20130424
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130220
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20130522
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0963, -1)
+#elif PACKETVER >= 20130130
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20131120
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0964, 4)
+#elif PACKETVER >= 20130828
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x0964, 36)
+#elif PACKETVER >= 20130529
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0964, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20130731
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0965, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20131023
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20130904
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20131211
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20131127
+packetLen(0x0967, 26)
+#elif PACKETVER >= 20131113
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0967, 18)
+#elif PACKETVER >= 20130724
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0967, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20131230
+packetLen(0x0968, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20131230
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20131016
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0969, 4)
+#elif PACKETVER >= 20130828
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20130502
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0969, 36)
+#elif PACKETVER >= 20130417
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20131230
+packetLen(0x096a, 90)
+#elif PACKETVER >= 20131211
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20131204
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20131106
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x096a, 26)
+#elif PACKETVER >= 20130911
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x096a, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x096a, 10)
+#elif PACKETVER >= 20130605
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130502
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x096a, 4)
+#elif PACKETVER >= 20130403
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130227
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x096a, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20130115
+packetLen(0x0987, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0987, 63)
+#endif
+
+// 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, 31)
+
+// 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
+#if PACKETVER >= 20130130
+packetLen(0x09a2, 6)
+#endif
+
+// Packet: 0x09a3
+#if PACKETVER >= 20130130
+packetLen(0x09a3, -1)
+#endif
+
+// Packet: 0x09a4
+#if PACKETVER >= 20130206
+packetLen(0x09a4, 18)
+#endif
+
+// Packet: 0x09a5
+#if PACKETVER >= 20130220
+packetLen(0x09a5, 7)
+#endif
+
+// Packet: 0x09a6
+#if PACKETVER >= 20130306
+packetLen(0x09a6, 12)
+#endif
+
+// Packet: 0x09a7
+#if PACKETVER >= 20130320
+packetLen(0x09a7, 10)
+#elif PACKETVER >= 20130306
+packetLen(0x09a7, 14)
+#endif
+
+// Packet: 0x09a8
+#if PACKETVER >= 20130515
+packetLen(0x09a8, 16)
+#elif PACKETVER >= 20130320
+packetLen(0x09a8, 12)
+#elif PACKETVER >= 20130306
+packetLen(0x09a8, 4)
+#endif
+
+// Packet: 0x09a9
+#if PACKETVER >= 20130320
+packetLen(0x09a9, 10)
+#elif PACKETVER >= 20130306
+packetLen(0x09a9, 14)
+#endif
+
+// Packet: 0x09aa
+#if PACKETVER >= 20130515
+packetLen(0x09aa, 16)
+#elif PACKETVER >= 20130320
+packetLen(0x09aa, 12)
+#elif PACKETVER >= 20130306
+packetLen(0x09aa, 4)
+#endif
+
+// Packet: 0x09ab
+#if PACKETVER >= 20130320
+packetLen(0x09ab, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x09ab, -1)
+#endif
+
+// Packet: 0x09ac
+#if PACKETVER >= 20130327
+packetLen(0x09ac, -1)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ac, 20)
+#endif
+
+// Packet: 0x09ad
+#if PACKETVER >= 20130327
+packetLen(0x09ad, 10)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ad, 6)
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20130327
+packetLen(0x09ae, 17)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ae, -1)
+#endif
+
+// Packet: 0x09af
+#if PACKETVER >= 20130327
+packetLen(0x09af, 4)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09af, -1)
+#endif
+
+// Packet: 0x09b0
+#if PACKETVER >= 20130327
+packetLen(0x09b0, 8)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b0, 8)
+#endif
+
+// Packet: 0x09b1
+#if PACKETVER >= 20130327
+packetLen(0x09b1, 4)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b1, 6)
+#endif
+
+// Packet: 0x09b2
+#if PACKETVER >= 20130605
+packetLen(0x09b2, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x09b2, 6)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b2, -1)
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20130605
+packetLen(0x09b3, 4)
+#elif PACKETVER >= 20130327
+packetLen(0x09b3, 6)
+#endif
+
+// Packet: 0x09b4
+#if PACKETVER >= 20130417
+packetLen(0x09b4, 6)
+#endif
+
+// Packet: 0x09b5
+#if PACKETVER >= 20130417
+packetLen(0x09b5, 2)
+#endif
+
+// Packet: 0x09b6
+#if PACKETVER >= 20130417
+packetLen(0x09b6, 6)
+#endif
+
+// Packet: 0x09b7
+#if PACKETVER >= 20130417
+packetLen(0x09b7, 4)
+#endif
+
+// Packet: 0x09b8
+#if PACKETVER >= 20130417
+packetLen(0x09b8, 6)
+#endif
+
+// Packet: 0x09b9
+#if PACKETVER >= 20130417
+packetLen(0x09b9, 4)
+#endif
+
+// Packet: 0x09ba
+#if PACKETVER >= 20130828
+packetLen(0x09ba, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x09ba, 6)
+#endif
+
+// Packet: 0x09bb
+#if PACKETVER >= 20130502
+packetLen(0x09bb, 6)
+#elif PACKETVER >= 20130424
+packetLen(0x09bb, 4)
+#endif
+
+// Packet: 0x09bc
+#if PACKETVER >= 20130424
+packetLen(0x09bc, 6)
+#endif
+
+// Packet: 0x09bd
+#if PACKETVER >= 20130424
+packetLen(0x09bd, 2)
+#endif
+
+// Packet: 0x09be
+#if PACKETVER >= 20130828
+packetLen(0x09be, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x09be, 6)
+#endif
+
+// Packet: 0x09bf
+#if PACKETVER >= 20130502
+packetLen(0x09bf, 4)
+#endif
+
+// Packet: 0x09c0
+#if PACKETVER >= 20130618
+// removed
+#elif PACKETVER >= 20130515
+packetLen(0x09c0, 11)
+#endif
+
+// Packet: 0x09c1
+#if PACKETVER >= 20130717
+packetLen(0x09c1, 10)
+#elif PACKETVER >= 20130515
+packetLen(0x09c1, 11)
+#endif
+
+// Packet: 0x09c2
+#if PACKETVER >= 20130522
+packetLen(0x09c2, -1)
+#endif
+
+// Packet: 0x09c3
+#if PACKETVER >= 20130529
+packetLen(0x09c3, 8)
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20130605
+packetLen(0x09c4, 8)
+#endif
+
+// Packet: 0x09c5
+#if PACKETVER >= 20130605
+packetLen(0x09c5, 1042)
+#endif
+
+// Packet: 0x09c6
+#if PACKETVER >= 20130605
+packetLen(0x09c6, -1)
+#endif
+
+// Packet: 0x09c7
+#if PACKETVER >= 20130612
+packetLen(0x09c7, 18)
+#elif PACKETVER >= 20130605
+packetLen(0x09c7, 10)
+#endif
+
+// Packet: 0x09c8
+#if PACKETVER >= 20130605
+packetLen(0x09c8, -1)
+#endif
+
+// Packet: 0x09c9
+#if PACKETVER >= 20130612
+packetLen(0x09c9, -1)
+#endif
+
+// Packet: 0x09ca
+#if PACKETVER >= 20130828
+packetLen(0x09ca, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x09ca, 23)
+#endif
+
+// Packet: 0x09cb
+#if PACKETVER >= 20130717
+packetLen(0x09cb, 17)
+#endif
+
+// Packet: 0x09cc
+#if PACKETVER >= 20130717
+packetLen(0x09cc, -1)
+#endif
+
+// Packet: 0x09cd
+#if PACKETVER >= 20130807
+packetLen(0x09cd, 8)
+#endif
+
+// Packet: 0x09ce
+#if PACKETVER >= 20130814
+packetLen(0x09ce, 102)
+#endif
+
+// Packet: 0x09cf
+#if PACKETVER >= 20130814
+packetLen(0x09cf, -1)
+#endif
+
+// Packet: 0x09d0
+#if PACKETVER >= 20130814
+packetLen(0x09d0, -1)
+#endif
+
+// Packet: 0x09d1
+#if PACKETVER >= 20130821
+packetLen(0x09d1, 14)
+#endif
+
+// Packet: 0x09d2
+#if PACKETVER >= 20130828
+packetLen(0x09d2, -1)
+#endif
+
+// Packet: 0x09d3
+#if PACKETVER >= 20130828
+packetLen(0x09d3, -1)
+#endif
+
+// Packet: 0x09d4
+#if PACKETVER >= 20130911
+packetLen(0x09d4, 2)
+#endif
+
+// Packet: 0x09d5
+#if PACKETVER >= 20130911
+packetLen(0x09d5, -1)
+#endif
+
+// Packet: 0x09d6
+#if PACKETVER >= 20130911
+packetLen(0x09d6, -1)
+#endif
+
+// Packet: 0x09d7
+#if PACKETVER >= 20130911
+packetLen(0x09d7, -1)
+#endif
+
+// Packet: 0x09d8
+#if PACKETVER >= 20130911
+packetLen(0x09d8, 2)
+#endif
+
+// Packet: 0x09d9
+#if PACKETVER >= 20131023
+packetLen(0x09d9, 4)
+#elif PACKETVER >= 20131016
+packetLen(0x09d9, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x09d9, 4)
+#elif PACKETVER >= 20130911
+packetLen(0x09d9, 2)
+#endif
+
+// Packet: 0x09da
+#if PACKETVER >= 20131002
+packetLen(0x09da, -1)
+#elif PACKETVER >= 20130925
+packetLen(0x09da, 10)
+#elif PACKETVER >= 20130911
+packetLen(0x09da, 2)
+#endif
+
+// Packet: 0x09db
+#if PACKETVER >= 20131023
+packetLen(0x09db, -1)
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20131023
+packetLen(0x09dc, -1)
+#endif
+
+// Packet: 0x09dd
+#if PACKETVER >= 20131023
+packetLen(0x09dd, -1)
+#endif
+
+// Packet: 0x09de
+#if PACKETVER >= 20131030
+packetLen(0x09de, -1)
+#endif
+
+// Packet: 0x09df
+#if PACKETVER >= 20131030
+packetLen(0x09df, 7)
+#endif
+
+// Packet: 0x09e0
+#if PACKETVER >= 20131030
+packetLen(0x09e0, -1)
+#endif
+
+// Packet: 0x09e1
+#if PACKETVER >= 20131106
+packetLen(0x09e1, 8)
+#endif
+
+// Packet: 0x09e2
+#if PACKETVER >= 20131106
+packetLen(0x09e2, 8)
+#endif
+
+// Packet: 0x09e3
+#if PACKETVER >= 20131106
+packetLen(0x09e3, 8)
+#endif
+
+// Packet: 0x09e4
+#if PACKETVER >= 20131106
+packetLen(0x09e4, 8)
+#endif
+
+// Packet: 0x09e5
+#if PACKETVER >= 20131127
+packetLen(0x09e5, 18)
+#elif PACKETVER >= 20131120
+packetLen(0x09e5, 14)
+#endif
+
+// Packet: 0x09e6
+#if PACKETVER >= 20131127
+packetLen(0x09e6, 22)
+#elif PACKETVER >= 20131120
+packetLen(0x09e6, 18)
+#endif
+
+// Packet: 0x09e7
+#if PACKETVER >= 20131211
+packetLen(0x09e7, 2)
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20131218
+packetLen(0x09e8, 10)
+#elif PACKETVER >= 20131211
+packetLen(0x09e8, 18)
+#endif
+
+// Packet: 0x09e9
+#if PACKETVER >= 20131211
+packetLen(0x09e9, 2)
+#endif
+
+// Packet: 0x09ea
+#if PACKETVER >= 20131223
+packetLen(0x09ea, 11)
+#elif PACKETVER >= 20131218
+packetLen(0x09ea, 10)
+#endif
+
+// Packet: 0x09eb
+#if PACKETVER >= 20131230
+packetLen(0x09eb, 23)
+#elif PACKETVER >= 20131223
+packetLen(0x09eb, 24)
+#elif PACKETVER >= 20131218
+packetLen(0x09eb, 14)
+#endif
+
+// Packet: 0x09ec
+#if PACKETVER >= 20131230
+packetLen(0x09ec, -1)
+#endif
+
+// Packet: 0x09ed
+#if PACKETVER >= 20131230
+packetLen(0x09ed, 3)
+#elif PACKETVER >= 20131218
+// removed
+#elif PACKETVER >= 20131211
+packetLen(0x09ed, -1)
+#endif
+
+// Packet: 0x09ee
+#if PACKETVER >= 20131218
+packetLen(0x09ee, 11)
+#elif PACKETVER >= 20131211
+packetLen(0x09ee, -1)
+#endif
+
+// Packet: 0x09ef
+#if PACKETVER >= 20131218
+packetLen(0x09ef, 11)
+#endif
+
+// Packet: 0x09f0
+#if PACKETVER >= 20131218
+packetLen(0x09f0, -1)
+#endif
+
+// Packet: 0x09f5
+#if PACKETVER >= 20131218
+packetLen(0x09f5, 11)
+#endif
+
+// Packet: 0x09f6
+#if PACKETVER >= 20131218
+packetLen(0x09f6, 11)
+#endif
+
+// Packet: 0x09f7
+#if PACKETVER >= 20131230
+packetLen(0x09f7, 75)
+#endif
+
+
+#endif /* COMMON_PACKETS2013_LEN_MAIN_H */
diff --git a/src/common/packets/packets2013_len_re.h b/src/common/packets/packets2013_len_re.h
new file mode 100644
index 000000000..21a159b4d
--- /dev/null
+++ b/src/common/packets/packets2013_len_re.h
@@ -0,0 +1,8941 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2013_LEN_RE_H
+#define COMMON_PACKETS2013_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 146)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20131230
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0202, 26)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20131016
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130828
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20130814
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20130807
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130717
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130703
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20130612
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20130227
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20130109
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0202, 5)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20131230
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20131223
+packetLen(0x022d, 19)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20131023
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20131008
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130731
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20130717
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130612
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130515
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20130502
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130313
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20130109
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x022d, 4)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x023b, 36)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131008
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130904
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x023b, 90)
+#elif PACKETVER >= 20130814
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130717
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130612
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130529
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20130215
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x023b, 26)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0281, 4)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20131113
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20131008
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130911
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20130807
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130626
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130502
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20131223
+packetLen(0x02c4, 26)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20130724
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20130403
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x02c4, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20131223
+packetLen(0x035f, 6)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20131204
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x035f, 36)
+#elif PACKETVER >= 20130925
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20130206
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20131230
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20130814
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130703
+packetLen(0x0360, 26)
+#elif PACKETVER >= 20130626
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20130320
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20130220
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20130206
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20131230
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20131127
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20131023
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20131008
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130911
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20130828
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20130821
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130814
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130717
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130612
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130227
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20131230
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20131211
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20131106
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0362, 19)
+#elif PACKETVER >= 20131002
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20130515
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20130502
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130227
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20130130
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20130109
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20131230
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0363, 8)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20131030
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20131008
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130911
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130618
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130502
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130410
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130227
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20131230
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20131204
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x0364, 90)
+#elif PACKETVER >= 20131106
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20131023
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130917
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130618
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130502
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130410
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130320
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130227
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20130109
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20131230
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20131223
+packetLen(0x0365, 18)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20131204
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20131106
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0365, 19)
+#elif PACKETVER >= 20131008
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130911
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130814
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130717
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130618
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130502
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130410
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20130313
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130227
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20130115
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20131230
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0366, 90)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20131204
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20131127
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20131023
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130917
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130828
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130814
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130717
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130618
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130522
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130410
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130320
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130227
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130215
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130130
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20130109
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20131223
+packetLen(0x0367, 90)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20130417
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20131230
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20131204
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0368, 12)
+#elif PACKETVER >= 20131106
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0368, 19)
+#elif PACKETVER >= 20130807
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0368, 90)
+#elif PACKETVER >= 20130227
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0368, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20131230
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0369, 7)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20131204
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20131113
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20131030
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20131008
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130917
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130814
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130717
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130618
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130529
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130410
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130320
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130227
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20130130
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0369, 18)
+#elif PACKETVER >= 20130109
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20131230
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0436, 19)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131113
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0436, 36)
+#elif PACKETVER >= 20131030
+packetLen(0x0436, 18)
+#elif PACKETVER >= 20131008
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130917
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130814
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130717
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130618
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130515
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20130502
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130320
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130227
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20130215
+packetLen(0x0436, 18)
+#elif PACKETVER >= 20130109
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0436, 36)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20131230
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0437, 7)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20131204
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20131106
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20131008
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130917
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130828
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130618
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130522
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130410
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20130403
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130320
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130306
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130130
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20131230
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20131211
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20131204
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20131106
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20131023
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20131008
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130925
+packetLen(0x0438, 90)
+#elif PACKETVER >= 20130917
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130828
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20130814
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130731
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20130717
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130618
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130522
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130410
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130327
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130130
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20130109
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x07e4, 6)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20131211
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20131127
+packetLen(0x07e4, 90)
+#elif PACKETVER >= 20131106
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x07e4, 7)
+#elif PACKETVER >= 20131002
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20130417
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130410
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130227
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20130109
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20131211
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20131023
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x07ec, 19)
+#elif PACKETVER >= 20131008
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130911
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20130814
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130717
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130618
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130529
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130410
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130227
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x07ec, 4)
+#elif PACKETVER >= 20130109
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20131230
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0802, 26)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20131127
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20131113
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20131030
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20131023
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20131008
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130911
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130814
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130717
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130618
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130502
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130320
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130306
+packetLen(0x0802, 12)
+#elif PACKETVER >= 20130227
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20130215
+packetLen(0x0802, 90)
+#elif PACKETVER >= 20130130
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0802, 7)
+#elif PACKETVER >= 20130109
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20131230
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131218
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20131211
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131204
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131120
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20131106
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0811, 10)
+#elif PACKETVER >= 20131008
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0811, 7)
+#elif PACKETVER >= 20130904
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130814
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0811, 10)
+#elif PACKETVER >= 20130424
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x0811, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20130206
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20131230
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0815, 2)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20131204
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20131008
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20130828
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20130814
+packetLen(0x0815, 4)
+#elif PACKETVER >= 20130807
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130522
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0815, 18)
+#elif PACKETVER >= 20130206
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130130
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20130109
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20131223
+packetLen(0x0817, 6)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131127
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20131113
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20130703
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20130313
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20130227
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0817, 36)
+#elif PACKETVER >= 20130115
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20131230
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20131204
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20131106
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20130904
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130814
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130717
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130522
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20130109
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20131223
+packetLen(0x0835, 2)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131030
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0835, 4)
+#elif PACKETVER >= 20130911
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0835, 12)
+#elif PACKETVER >= 20130821
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20131230
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x0838, 12)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20131204
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20131106
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20131008
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130917
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20130911
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130904
+packetLen(0x0838, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130717
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130618
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130522
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130410
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130320
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130227
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130130
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20130115
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20131230
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x083c, 12)
+// ignored packet from 2013-12-23bRagexeRE
+#elif PACKETVER >= 20131218
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20131211
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20131204
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20131106
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20131008
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130917
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130814
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130724
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130618
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130522
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130410
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130320
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130227
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130130
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20130109
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20131211
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x085a, 26)
+#elif PACKETVER >= 20131127
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x085a, 18)
+#elif PACKETVER >= 20130605
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x085a, 12)
+#elif PACKETVER >= 20130508
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x085a, 4)
+#elif PACKETVER >= 20130327
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x085a, 90)
+#elif PACKETVER >= 20130306
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x085a, 10)
+#elif PACKETVER >= 20130130
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x085a, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20131030
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x085b, 90)
+#elif PACKETVER >= 20130313
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20131223
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x085c, 36)
+#elif PACKETVER >= 20130917
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x085c, 26)
+#elif PACKETVER >= 20130313
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20131023
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x085d, 18)
+#elif PACKETVER >= 20130215
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20131016
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20130605
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x085e, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20131127
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x085f, 10)
+#elif PACKETVER >= 20130206
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x085f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20131230
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20130703
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0860, 8)
+#elif PACKETVER >= 20130417
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0860, 19)
+#elif PACKETVER >= 20130313
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20130121
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20131211
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0862, 5)
+#elif PACKETVER >= 20131030
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0862, 18)
+#elif PACKETVER >= 20130626
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0862, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20131023
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20131008
+packetLen(0x0863, 26)
+#elif PACKETVER >= 20130925
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0863, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0863, 7)
+#elif PACKETVER >= 20130807
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0863, 26)
+#elif PACKETVER >= 20130605
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0863, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20131023
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0864, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0864, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20131218
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20130807
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0865, 10)
+#elif PACKETVER >= 20130417
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0865, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20131113
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20131113
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20131023
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0867, 90)
+#elif PACKETVER >= 20130731
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20130306
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20130925
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20130911
+packetLen(0x0868, 18)
+#elif PACKETVER >= 20130821
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0868, 12)
+#elif PACKETVER >= 20130515
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0868, 36)
+#elif PACKETVER >= 20130327
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20131211
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0869, 10)
+#elif PACKETVER >= 20130605
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20130220
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20130731
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20130917
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x086b, 36)
+#elif PACKETVER >= 20130724
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20130424
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x086b, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x086b, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20131211
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20131016
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x086c, 4)
+#elif PACKETVER >= 20130417
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20130130
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x086c, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20131016
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x086d, 36)
+#elif PACKETVER >= 20130917
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20130320
+packetLen(0x086d, 26)
+#elif PACKETVER >= 20130313
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x086d, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20131218
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x086e, -1)
+#elif PACKETVER >= 20131030
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x086e, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20130917
+packetLen(0x086e, 90)
+#elif PACKETVER >= 20130828
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x086e, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x086e, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20130925
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20130220
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20131023
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20130508
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20130121
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20131230
+packetLen(0x0871, 7)
+#elif PACKETVER >= 20130121
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0871, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20131030
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20131218
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0873, 19)
+#elif PACKETVER >= 20130821
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20130710
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0873, 36)
+#elif PACKETVER >= 20130403
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0873, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20130821
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0874, 7)
+#elif PACKETVER >= 20130731
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0874, 5)
+#elif PACKETVER >= 20130605
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0874, 18)
+#elif PACKETVER >= 20130522
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20130508
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20131113
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20131023
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0875, 5)
+#elif PACKETVER >= 20130508
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0875, 26)
+#elif PACKETVER >= 20130424
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0875, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20131030
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20131002
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0876, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0876, 7)
+#elif PACKETVER >= 20130605
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0876, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20131211
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0877, 19)
+#elif PACKETVER >= 20130605
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0877, 26)
+#elif PACKETVER >= 20130508
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20130807
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0878, 7)
+#elif PACKETVER >= 20130626
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0878, 4)
+#elif PACKETVER >= 20130515
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0878, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20131211
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0879, 12)
+#elif PACKETVER >= 20130417
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0879, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20130925
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x087a, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20131230
+packetLen(0x087b, 12)
+#elif PACKETVER >= 20131223
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x087b, 4)
+#elif PACKETVER >= 20130917
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x087b, 4)
+#elif PACKETVER >= 20130306
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20130508
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x087c, 19)
+#elif PACKETVER >= 20130417
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x087c, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20131106
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x087d, 26)
+#elif PACKETVER >= 20131002
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20131230
+packetLen(0x087e, 4)
+#elif PACKETVER >= 20130925
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x087e, 10)
+#elif PACKETVER >= 20130904
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20130529
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20131230
+packetLen(0x087f, -1)
+#elif PACKETVER >= 20131211
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x087f, 18)
+#elif PACKETVER >= 20130206
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x087f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20130717
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20130710
+packetLen(0x0880, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20131218
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20131204
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20130828
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0881, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20131211
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0882, 26)
+#elif PACKETVER >= 20130724
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0882, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20131016
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0883, 8)
+#elif PACKETVER >= 20130612
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20130605
+packetLen(0x0883, 36)
+#elif PACKETVER >= 20130215
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0883, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20131204
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20131016
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0884, 18)
+#elif PACKETVER >= 20130807
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0884, 36)
+#elif PACKETVER >= 20130410
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0884, 19)
+#elif PACKETVER >= 20130130
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20131030
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20131016
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20131002
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x0885, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20131218
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20130220
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20131113
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x0887, 36)
+#elif PACKETVER >= 20131023
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20130821
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0887, 10)
+#elif PACKETVER >= 20130807
+packetLen(0x0887, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20130522
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20130320
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20130206
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0887, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20131023
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20130605
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0888, 4)
+#elif PACKETVER >= 20130508
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0888, 12)
+#elif PACKETVER >= 20130109
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20130917
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0889, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20130807
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0889, 4)
+#elif PACKETVER >= 20130626
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20130508
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20130206
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20131030
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20130925
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x088a, 36)
+#elif PACKETVER >= 20130821
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x088a, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20131030
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20130807
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20130703
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20130515
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x088b, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20131127
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x088c, 19)
+#elif PACKETVER >= 20131113
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20130703
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x088c, 19)
+#elif PACKETVER >= 20130417
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x088c, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20131204
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20130828
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20130626
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20130605
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20130522
+packetLen(0x088e, 36)
+#elif PACKETVER >= 20130327
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x088e, 7)
+#elif PACKETVER >= 20130115
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x088e, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20131120
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20131002
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20130828
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20130703
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x088f, 4)
+#elif PACKETVER >= 20130403
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20131023
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20130626
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0890, 12)
+#elif PACKETVER >= 20130605
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0890, 7)
+#elif PACKETVER >= 20130417
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0890, 4)
+#elif PACKETVER >= 20130313
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20131113
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20130115
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20131218
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20130828
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20131113
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20130731
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0893, 19)
+#elif PACKETVER >= 20130515
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20130306
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20130130
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0893, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20131204
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0894, 36)
+#elif PACKETVER >= 20131113
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20131023
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0894, 12)
+#elif PACKETVER >= 20130807
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0894, -1)
+#elif PACKETVER >= 20130703
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0894, 18)
+#elif PACKETVER >= 20130121
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20131230
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20130925
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20130703
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20130605
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130515
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20131016
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0896, 90)
+#elif PACKETVER >= 20130821
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0896, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20130807
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20130605
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20130515
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20131230
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20130327
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0898, 7)
+#elif PACKETVER >= 20130227
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20130403
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20131120
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x089a, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20130724
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20130529
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x089b, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x089b, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20131230
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20131016
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x089c, 10)
+#elif PACKETVER >= 20130529
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20130925
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x089d, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20131204
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20131120
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x089e, 10)
+#elif PACKETVER >= 20130417
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20130220
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20130904
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20130220
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x089f, 4)
+#elif PACKETVER >= 20130206
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20131211
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20130925
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20130417
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20130215
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20130130
+packetLen(0x08a0, 10)
+#elif PACKETVER >= 20130121
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20131127
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20130522
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x08a1, 18)
+#elif PACKETVER >= 20130403
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20131113
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20131030
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20130925
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a2, 7)
+#elif PACKETVER >= 20130403
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20131218
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x08a3, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a3, 8)
+#elif PACKETVER >= 20130508
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20131230
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20131223
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20131218
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20131204
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20131127
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20131113
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x08a4, 90)
+#elif PACKETVER >= 20130313
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20130206
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20130121
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20130703
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x08a5, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20130724
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20130626
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20130529
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20131211
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20130605
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20131127
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x08a8, 7)
+#elif PACKETVER >= 20131113
+packetLen(0x08a8, 8)
+#elif PACKETVER >= 20130925
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20130605
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20131230
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20131016
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20130724
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08a9, 19)
+#elif PACKETVER >= 20130206
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20130724
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20130522
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20130115
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x08aa, 4)
+#elif PACKETVER >= 20130103
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20131223
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x08ab, 26)
+#elif PACKETVER >= 20131211
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20131030
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20130731
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20130703
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x08ab, 26)
+#elif PACKETVER >= 20130515
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x08ab, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20131030
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20130904
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20130515
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20130313
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20130215
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20131211
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x08ad, 4)
+#elif PACKETVER >= 20130220
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x08ad, 2)
+#endif
+
+// 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, 146)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08e5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e5, 41)
+#endif
+
+// Packet: 0x08e6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e6, 4)
+#endif
+
+// Packet: 0x08e7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e7, 10)
+#endif
+
+// Packet: 0x08e8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e8, -1)
+#endif
+
+// Packet: 0x08e9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08e9, 2)
+#endif
+
+// Packet: 0x08ea
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ea, 4)
+#endif
+
+// Packet: 0x08eb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08eb, 39)
+#endif
+
+// Packet: 0x08ec
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ec, 73)
+#endif
+
+// Packet: 0x08ed
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ed, 43)
+#endif
+
+// Packet: 0x08ee
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ee, 6)
+#endif
+
+// Packet: 0x08ef
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08ef, 6)
+#endif
+
+// Packet: 0x08f0
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f0, 6)
+#endif
+
+// Packet: 0x08f1
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f1, 6)
+#endif
+
+// Packet: 0x08f2
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f2, 36)
+#endif
+
+// Packet: 0x08f3
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f3, -1)
+#endif
+
+// Packet: 0x08f4
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f4, 6)
+#endif
+
+// Packet: 0x08f5
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f5, -1)
+#endif
+
+// Packet: 0x08f6
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f6, 22)
+#endif
+
+// Packet: 0x08f7
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f7, 3)
+#endif
+
+// Packet: 0x08f8
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f8, 7)
+#endif
+
+// Packet: 0x08f9
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08f9, 6)
+#endif
+
+// Packet: 0x08fa
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fa, 6)
+#endif
+
+// Packet: 0x08fb
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x08fb, 6)
+#endif
+
+// 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: 0x0909
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x0909, 6)
+#endif
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090b
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090b, 30)
+#endif
+
+// Packet: 0x090c
+#if PACKETVER >= 20130502
+// removed
+#elif PACKETVER >= 20130103
+packetLen(0x090c, 30)
+#endif
+
+// 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
+#if PACKETVER >= 20131127
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20131016
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0917, 18)
+#elif PACKETVER >= 20130724
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0917, 10)
+#elif PACKETVER >= 20130417
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0917, 26)
+#elif PACKETVER >= 20130313
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20130925
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0918, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0918, 7)
+#elif PACKETVER >= 20130605
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0918, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0918, 10)
+#elif PACKETVER >= 20130109
+packetLen(0x0918, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20131030
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x0919, 19)
+#elif PACKETVER >= 20130605
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0919, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20131023
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20130206
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20130306
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20131120
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20131016
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20131230
+packetLen(0x091d, 36)
+#elif PACKETVER >= 20131113
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x091d, 90)
+#elif PACKETVER >= 20131030
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x091d, 12)
+#elif PACKETVER >= 20130828
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20130724
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x091d, 19)
+#elif PACKETVER >= 20130417
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20131230
+packetLen(0x091e, 10)
+#elif PACKETVER >= 20131023
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20130925
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x091e, 4)
+#elif PACKETVER >= 20130911
+packetLen(0x091e, 5)
+#elif PACKETVER >= 20130904
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x091e, 10)
+#elif PACKETVER >= 20130313
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20131230
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20131211
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20131023
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20130403
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20131120
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0920, 12)
+#elif PACKETVER >= 20130320
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x0920, 36)
+#elif PACKETVER >= 20130215
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0920, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20130925
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0921, 90)
+#elif PACKETVER >= 20130703
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0921, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20130327
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0922, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20131030
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0923, 7)
+#elif PACKETVER >= 20130925
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20130904
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0923, 10)
+#elif PACKETVER >= 20130821
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0923, 18)
+#elif PACKETVER >= 20130220
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20131030
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0924, 90)
+#elif PACKETVER >= 20130206
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20131106
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0925, 10)
+#elif PACKETVER >= 20130529
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20131230
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20131127
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0926, -1)
+#elif PACKETVER >= 20131113
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20130410
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0926, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20131127
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20131023
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x0927, 12)
+#elif PACKETVER >= 20130821
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20130731
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20130115
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0927, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20131211
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0928, 7)
+#elif PACKETVER >= 20131120
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0928, 36)
+#elif PACKETVER >= 20130904
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20130121
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20131120
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20130424
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0929, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20131230
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20131218
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x092b, 36)
+#elif PACKETVER >= 20131127
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x092b, 5)
+#elif PACKETVER >= 20131113
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x092b, 19)
+#elif PACKETVER >= 20130724
+packetLen(0x092b, 26)
+#elif PACKETVER >= 20130403
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092b, 5)
+#elif PACKETVER >= 20130306
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20131120
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092c, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20131211
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x092d, 10)
+#elif PACKETVER >= 20131120
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20130522
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x092d, 18)
+#elif PACKETVER >= 20130508
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20130403
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092d, 26)
+#elif PACKETVER >= 20130320
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20130121
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x092d, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20131120
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20130731
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092e, 4)
+#elif PACKETVER >= 20130121
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20131223
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x092f, 19)
+#elif PACKETVER >= 20131211
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x092f, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x092f, 26)
+#elif PACKETVER >= 20130403
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20130306
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20131204
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0930, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20130710
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x0930, 36)
+#elif PACKETVER >= 20130618
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20131218
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x0931, 8)
+#elif PACKETVER >= 20130522
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20130115
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0931, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20131016
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0932, 10)
+#elif PACKETVER >= 20130626
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20130417
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0933, 10)
+#elif PACKETVER >= 20130403
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0933, -1)
+#elif PACKETVER >= 20130320
+packetLen(0x0933, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20131120
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0934, 18)
+#elif PACKETVER >= 20131016
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0934, 12)
+#elif PACKETVER >= 20130313
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0934, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20131113
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20131030
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20131120
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20131016
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0936, -1)
+#elif PACKETVER >= 20130626
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20130605
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0936, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20131030
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20130911
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0937, 26)
+#elif PACKETVER >= 20130821
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20130605
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0938, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0938, 8)
+#elif PACKETVER >= 20130320
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20130115
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20130417
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0939, 7)
+#elif PACKETVER >= 20130403
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20131204
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x093a, 26)
+#elif PACKETVER >= 20130917
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130821
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130618
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20130130
+packetLen(0x093a, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20131211
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20131113
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20131120
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x093c, 5)
+#elif PACKETVER >= 20131016
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x093c, 5)
+#elif PACKETVER >= 20130215
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20131230
+packetLen(0x093d, -1)
+#elif PACKETVER >= 20130417
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x093d, 8)
+#elif PACKETVER >= 20130206
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x093d, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20131230
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20131127
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x093e, 90)
+#elif PACKETVER >= 20130828
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20130529
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20130515
+packetLen(0x093e, 36)
+#elif PACKETVER >= 20130115
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x093e, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20131127
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20130327
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x093f, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20131204
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0940, 4)
+#elif PACKETVER >= 20131008
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20131002
+packetLen(0x0940, 5)
+#elif PACKETVER >= 20130925
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20130917
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x0940, 26)
+#elif PACKETVER >= 20130130
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20130109
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x0940, 19)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20131211
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20130807
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20130220
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20131113
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0942, 10)
+#elif PACKETVER >= 20130626
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0942, -1)
+#elif PACKETVER >= 20130410
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20131230
+packetLen(0x0943, 26)
+#elif PACKETVER >= 20130522
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0943, 19)
+#elif PACKETVER >= 20130313
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0943, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20131030
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20130904
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0944, 26)
+#elif PACKETVER >= 20130626
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x0944, 4)
+#elif PACKETVER >= 20130417
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0944, 4)
+#elif PACKETVER >= 20130313
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20130626
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20131113
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20131023
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0946, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20130313
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20130227
+packetLen(0x0946, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20131223
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20131218
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20131113
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0947, 7)
+#elif PACKETVER >= 20131016
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20130821
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0947, 10)
+#elif PACKETVER >= 20130522
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0947, 26)
+#elif PACKETVER >= 20130327
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20130313
+packetLen(0x0947, 19)
+#elif PACKETVER >= 20130103
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20131113
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0948, 4)
+#elif PACKETVER >= 20130917
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0948, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20131230
+packetLen(0x0949, 5)
+#elif PACKETVER >= 20131120
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0949, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20131230
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20131030
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20130904
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20130731
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20130710
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130703
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20130403
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x094a, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20130403
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x094b, 36)
+#elif PACKETVER >= 20130227
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20130220
+packetLen(0x094b, 36)
+#elif PACKETVER >= 20130121
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x094b, 18)
+#elif PACKETVER >= 20130103
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20131218
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20131211
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20131204
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20130925
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x094c, 18)
+#elif PACKETVER >= 20130904
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x094c, -1)
+#elif PACKETVER >= 20130807
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20130703
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20130515
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20130925
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x094e, -1)
+#elif PACKETVER >= 20130313
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20130121
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20131204
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20130904
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x094f, 7)
+#elif PACKETVER >= 20130626
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x094f, 90)
+#elif PACKETVER >= 20130403
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20130130
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20130115
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x094f, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20131127
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20131106
+packetLen(0x0950, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0950, 26)
+#elif PACKETVER >= 20130410
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130403
+packetLen(0x0950, 26)
+#elif PACKETVER >= 20130215
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x0950, 8)
+#elif PACKETVER >= 20130115
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0950, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20131211
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20131030
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0951, 10)
+#elif PACKETVER >= 20130605
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20130227
+packetLen(0x0951, 10)
+#elif PACKETVER >= 20130115
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20131016
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20130724
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20130703
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0952, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20131127
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20130731
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0953, 5)
+#elif PACKETVER >= 20130626
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20131113
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0954, 12)
+#elif PACKETVER >= 20131030
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x0954, 8)
+#elif PACKETVER >= 20131016
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0954, -1)
+#elif PACKETVER >= 20130828
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0954, 10)
+#elif PACKETVER >= 20130731
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20131127
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0955, 10)
+#elif PACKETVER >= 20130403
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0955, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20131127
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20131016
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20130911
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130904
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20130807
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0956, 26)
+#elif PACKETVER >= 20130724
+packetLen(0x0956, 12)
+#elif PACKETVER >= 20130717
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20130605
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20130220
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0956, 26)
+#elif PACKETVER >= 20130206
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0956, 19)
+#elif PACKETVER >= 20130121
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20130925
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0957, 10)
+#elif PACKETVER >= 20130807
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20130515
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20130206
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x0957, 12)
+#elif PACKETVER >= 20130103
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20131211
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20130821
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20130724
+packetLen(0x0958, 10)
+#elif PACKETVER >= 20130717
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20130605
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20130529
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20131211
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0959, 90)
+#elif PACKETVER >= 20130925
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20130917
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20130821
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x0959, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x0959, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20131002
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x095a, 18)
+#elif PACKETVER >= 20130327
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20130320
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20130121
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20130115
+packetLen(0x095a, 36)
+#elif PACKETVER >= 20130103
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20131211
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x095b, 12)
+#elif PACKETVER >= 20131030
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20131023
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20131002
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x095b, 90)
+#elif PACKETVER >= 20130724
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x095b, 36)
+#elif PACKETVER >= 20130626
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x095b, 19)
+#elif PACKETVER >= 20130529
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20130206
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x095b, 18)
+#elif PACKETVER >= 20130121
+packetLen(0x095b, 26)
+#elif PACKETVER >= 20130103
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20131204
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x095c, 19)
+#elif PACKETVER >= 20131002
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x095c, 10)
+#elif PACKETVER >= 20130515
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20130206
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20130130
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20131120
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x095d, 7)
+#elif PACKETVER >= 20131106
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20131016
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20130904
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20130807
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x095d, 12)
+#elif PACKETVER >= 20130724
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20130220
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20131127
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20131120
+packetLen(0x095e, 18)
+#elif PACKETVER >= 20131023
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x095e, 10)
+#elif PACKETVER >= 20130828
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20130529
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20130306
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x095e, 36)
+#elif PACKETVER >= 20130115
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20130109
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20131120
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x095f, 10)
+#elif PACKETVER >= 20130821
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20130814
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20130807
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20131120
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20130724
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0960, 12)
+#elif PACKETVER >= 20130703
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20130417
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0960, 26)
+#elif PACKETVER >= 20130403
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0960, 10)
+#elif PACKETVER >= 20130313
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20131211
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0961, 4)
+#elif PACKETVER >= 20130508
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0961, 8)
+#elif PACKETVER >= 20130403
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20130103
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20131113
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0962, -1)
+#elif PACKETVER >= 20131023
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0962, 7)
+#elif PACKETVER >= 20130828
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130814
+packetLen(0x0962, 90)
+#elif PACKETVER >= 20130807
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130731
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130626
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130618
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20130424
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130417
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20130313
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130306
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20130220
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20130215
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20130522
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20130515
+packetLen(0x0963, -1)
+#elif PACKETVER >= 20130130
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20131120
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0964, 4)
+#elif PACKETVER >= 20130828
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20130612
+packetLen(0x0964, 36)
+#elif PACKETVER >= 20130529
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0964, 90)
+#elif PACKETVER >= 20130103
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20130731
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20130529
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20130522
+packetLen(0x0965, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20131023
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20131016
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20130904
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20130828
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20130731
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20130724
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20130103
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20131211
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20131204
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20131127
+packetLen(0x0967, 26)
+#elif PACKETVER >= 20131113
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20131106
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20130917
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130911
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0967, 18)
+#elif PACKETVER >= 20130724
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130717
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20130508
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130410
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20130403
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130327
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20130306
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20130227
+packetLen(0x0967, 7)
+#elif PACKETVER >= 20130103
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20131230
+packetLen(0x0968, 8)
+#elif PACKETVER >= 20130103
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20131230
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20131120
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20131113
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20131016
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20131008
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20131002
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x0969, 4)
+#elif PACKETVER >= 20130828
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130821
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20130502
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x0969, 36)
+#elif PACKETVER >= 20130417
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20131230
+packetLen(0x096a, 90)
+#elif PACKETVER >= 20131223
+packetLen(0x096a, 6)
+// ignored packet from 2013-12-23aRagexeRE
+#elif PACKETVER >= 20131211
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20131204
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20131127
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20131106
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20131030
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20131008
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130925
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130917
+packetLen(0x096a, 26)
+#elif PACKETVER >= 20130911
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20130904
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130828
+packetLen(0x096a, 19)
+#elif PACKETVER >= 20130814
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130807
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130717
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130626
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130618
+packetLen(0x096a, 10)
+#elif PACKETVER >= 20130605
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130522
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130508
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130502
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130417
+packetLen(0x096a, 4)
+#elif PACKETVER >= 20130403
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130320
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130313
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130227
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130206
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130130
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130121
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20130109
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20130103
+packetLen(0x096a, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20130115
+packetLen(0x0987, -1)
+#elif PACKETVER >= 20130103
+packetLen(0x0987, 63)
+#endif
+
+// 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, 31)
+
+// 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
+#if PACKETVER >= 20130327
+packetLen(0x09a0, 10)
+#elif PACKETVER >= 20130103
+packetLen(0x09a0, 6)
+#endif
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2)
+
+// Packet: 0x09a2
+#if PACKETVER >= 20130130
+packetLen(0x09a2, 6)
+#endif
+
+// Packet: 0x09a3
+#if PACKETVER >= 20130130
+packetLen(0x09a3, -1)
+#endif
+
+// Packet: 0x09a4
+#if PACKETVER >= 20130206
+packetLen(0x09a4, 18)
+#endif
+
+// Packet: 0x09a5
+#if PACKETVER >= 20130220
+packetLen(0x09a5, 7)
+#endif
+
+// Packet: 0x09a6
+#if PACKETVER >= 20130306
+packetLen(0x09a6, 12)
+#endif
+
+// Packet: 0x09a7
+#if PACKETVER >= 20130320
+packetLen(0x09a7, 10)
+#elif PACKETVER >= 20130306
+packetLen(0x09a7, 14)
+#endif
+
+// Packet: 0x09a8
+#if PACKETVER >= 20130515
+packetLen(0x09a8, 16)
+#elif PACKETVER >= 20130320
+packetLen(0x09a8, 12)
+#elif PACKETVER >= 20130306
+packetLen(0x09a8, 4)
+#endif
+
+// Packet: 0x09a9
+#if PACKETVER >= 20130320
+packetLen(0x09a9, 10)
+#elif PACKETVER >= 20130306
+packetLen(0x09a9, 14)
+#endif
+
+// Packet: 0x09aa
+#if PACKETVER >= 20130515
+packetLen(0x09aa, 16)
+#elif PACKETVER >= 20130320
+packetLen(0x09aa, 12)
+#elif PACKETVER >= 20130306
+packetLen(0x09aa, 4)
+#endif
+
+// Packet: 0x09ab
+#if PACKETVER >= 20130320
+packetLen(0x09ab, 6)
+#elif PACKETVER >= 20130313
+packetLen(0x09ab, -1)
+#endif
+
+// Packet: 0x09ac
+#if PACKETVER >= 20130327
+packetLen(0x09ac, -1)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ac, 20)
+#endif
+
+// Packet: 0x09ad
+#if PACKETVER >= 20130327
+packetLen(0x09ad, 10)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ad, 6)
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20130327
+packetLen(0x09ae, 17)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09ae, -1)
+#endif
+
+// Packet: 0x09af
+#if PACKETVER >= 20130327
+packetLen(0x09af, 4)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09af, -1)
+#endif
+
+// Packet: 0x09b0
+#if PACKETVER >= 20130327
+packetLen(0x09b0, 8)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b0, 8)
+#endif
+
+// Packet: 0x09b1
+#if PACKETVER >= 20130327
+packetLen(0x09b1, 4)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b1, 6)
+#endif
+
+// Packet: 0x09b2
+#if PACKETVER >= 20130605
+packetLen(0x09b2, 8)
+#elif PACKETVER >= 20130327
+packetLen(0x09b2, 6)
+#elif PACKETVER >= 20130320
+// removed
+#elif PACKETVER >= 20130313
+packetLen(0x09b2, -1)
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20130605
+packetLen(0x09b3, 4)
+#elif PACKETVER >= 20130327
+packetLen(0x09b3, 6)
+#endif
+
+// Packet: 0x09b4
+#if PACKETVER >= 20130417
+packetLen(0x09b4, 6)
+#endif
+
+// Packet: 0x09b5
+#if PACKETVER >= 20130417
+packetLen(0x09b5, 2)
+#endif
+
+// Packet: 0x09b6
+#if PACKETVER >= 20130417
+packetLen(0x09b6, 6)
+#endif
+
+// Packet: 0x09b7
+#if PACKETVER >= 20130417
+packetLen(0x09b7, 4)
+#endif
+
+// Packet: 0x09b8
+#if PACKETVER >= 20130417
+packetLen(0x09b8, 6)
+#endif
+
+// Packet: 0x09b9
+#if PACKETVER >= 20130417
+packetLen(0x09b9, 4)
+#endif
+
+// Packet: 0x09ba
+#if PACKETVER >= 20130828
+packetLen(0x09ba, 2)
+#elif PACKETVER >= 20130424
+packetLen(0x09ba, 6)
+#endif
+
+// Packet: 0x09bb
+#if PACKETVER >= 20130502
+packetLen(0x09bb, 6)
+#elif PACKETVER >= 20130424
+packetLen(0x09bb, 4)
+#endif
+
+// Packet: 0x09bc
+#if PACKETVER >= 20130424
+packetLen(0x09bc, 6)
+#endif
+
+// Packet: 0x09bd
+#if PACKETVER >= 20130424
+packetLen(0x09bd, 2)
+#endif
+
+// Packet: 0x09be
+#if PACKETVER >= 20130828
+packetLen(0x09be, 2)
+#elif PACKETVER >= 20130502
+packetLen(0x09be, 6)
+#endif
+
+// Packet: 0x09bf
+#if PACKETVER >= 20130502
+packetLen(0x09bf, 4)
+#endif
+
+// Packet: 0x09c0
+#if PACKETVER >= 20130618
+// removed
+#elif PACKETVER >= 20130515
+packetLen(0x09c0, 11)
+#endif
+
+// Packet: 0x09c1
+#if PACKETVER >= 20130717
+packetLen(0x09c1, 10)
+#elif PACKETVER >= 20130515
+packetLen(0x09c1, 11)
+#endif
+
+// Packet: 0x09c2
+#if PACKETVER >= 20130522
+packetLen(0x09c2, -1)
+#endif
+
+// Packet: 0x09c3
+#if PACKETVER >= 20130529
+packetLen(0x09c3, 8)
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20130605
+packetLen(0x09c4, 8)
+#endif
+
+// Packet: 0x09c5
+#if PACKETVER >= 20130605
+packetLen(0x09c5, 1042)
+#endif
+
+// Packet: 0x09c6
+#if PACKETVER >= 20130605
+packetLen(0x09c6, -1)
+#endif
+
+// Packet: 0x09c7
+#if PACKETVER >= 20130612
+packetLen(0x09c7, 18)
+#elif PACKETVER >= 20130605
+packetLen(0x09c7, 10)
+#endif
+
+// Packet: 0x09c8
+#if PACKETVER >= 20130605
+packetLen(0x09c8, -1)
+#endif
+
+// Packet: 0x09c9
+#if PACKETVER >= 20130612
+packetLen(0x09c9, -1)
+#endif
+
+// Packet: 0x09ca
+#if PACKETVER >= 20130828
+packetLen(0x09ca, -1)
+#elif PACKETVER >= 20130618
+packetLen(0x09ca, 23)
+#endif
+
+// Packet: 0x09cb
+#if PACKETVER >= 20130717
+packetLen(0x09cb, 17)
+#endif
+
+// Packet: 0x09cc
+#if PACKETVER >= 20130717
+packetLen(0x09cc, -1)
+#endif
+
+// Packet: 0x09cd
+#if PACKETVER >= 20130807
+packetLen(0x09cd, 8)
+#endif
+
+// Packet: 0x09ce
+#if PACKETVER >= 20130814
+packetLen(0x09ce, 102)
+#endif
+
+// Packet: 0x09cf
+#if PACKETVER >= 20130814
+packetLen(0x09cf, -1)
+#endif
+
+// Packet: 0x09d0
+#if PACKETVER >= 20130814
+packetLen(0x09d0, -1)
+#endif
+
+// Packet: 0x09d1
+#if PACKETVER >= 20130821
+packetLen(0x09d1, 14)
+#endif
+
+// Packet: 0x09d2
+#if PACKETVER >= 20130828
+packetLen(0x09d2, -1)
+#endif
+
+// Packet: 0x09d3
+#if PACKETVER >= 20130828
+packetLen(0x09d3, -1)
+#endif
+
+// Packet: 0x09d4
+#if PACKETVER >= 20130911
+packetLen(0x09d4, 2)
+#endif
+
+// Packet: 0x09d5
+#if PACKETVER >= 20130911
+packetLen(0x09d5, -1)
+#endif
+
+// Packet: 0x09d6
+#if PACKETVER >= 20130911
+packetLen(0x09d6, -1)
+#endif
+
+// Packet: 0x09d7
+#if PACKETVER >= 20130911
+packetLen(0x09d7, -1)
+#endif
+
+// Packet: 0x09d8
+#if PACKETVER >= 20130911
+packetLen(0x09d8, 2)
+#endif
+
+// Packet: 0x09d9
+#if PACKETVER >= 20131023
+packetLen(0x09d9, 4)
+#elif PACKETVER >= 20131016
+packetLen(0x09d9, 6)
+#elif PACKETVER >= 20131002
+packetLen(0x09d9, 4)
+#elif PACKETVER >= 20130911
+packetLen(0x09d9, 2)
+#endif
+
+// Packet: 0x09da
+#if PACKETVER >= 20131002
+packetLen(0x09da, -1)
+#elif PACKETVER >= 20130925
+packetLen(0x09da, 10)
+#elif PACKETVER >= 20130911
+packetLen(0x09da, 2)
+#endif
+
+// Packet: 0x09db
+#if PACKETVER >= 20131023
+packetLen(0x09db, -1)
+#endif
+
+// Packet: 0x09dc
+#if PACKETVER >= 20131023
+packetLen(0x09dc, -1)
+#endif
+
+// Packet: 0x09dd
+#if PACKETVER >= 20131023
+packetLen(0x09dd, -1)
+#endif
+
+// Packet: 0x09de
+#if PACKETVER >= 20131030
+packetLen(0x09de, -1)
+#endif
+
+// Packet: 0x09df
+#if PACKETVER >= 20131030
+packetLen(0x09df, 7)
+#endif
+
+// Packet: 0x09e0
+#if PACKETVER >= 20131030
+packetLen(0x09e0, -1)
+#endif
+
+// Packet: 0x09e1
+#if PACKETVER >= 20131106
+packetLen(0x09e1, 8)
+#endif
+
+// Packet: 0x09e2
+#if PACKETVER >= 20131106
+packetLen(0x09e2, 8)
+#endif
+
+// Packet: 0x09e3
+#if PACKETVER >= 20131106
+packetLen(0x09e3, 8)
+#endif
+
+// Packet: 0x09e4
+#if PACKETVER >= 20131106
+packetLen(0x09e4, 8)
+#endif
+
+// Packet: 0x09e5
+#if PACKETVER >= 20131127
+packetLen(0x09e5, 18)
+#elif PACKETVER >= 20131120
+packetLen(0x09e5, 14)
+#endif
+
+// Packet: 0x09e6
+#if PACKETVER >= 20131127
+packetLen(0x09e6, 22)
+#elif PACKETVER >= 20131120
+packetLen(0x09e6, 18)
+#endif
+
+// Packet: 0x09e7
+#if PACKETVER >= 20131211
+packetLen(0x09e7, 2)
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20131218
+packetLen(0x09e8, 10)
+#elif PACKETVER >= 20131211
+packetLen(0x09e8, 18)
+#endif
+
+// Packet: 0x09e9
+#if PACKETVER >= 20131211
+packetLen(0x09e9, 2)
+#endif
+
+// Packet: 0x09ea
+#if PACKETVER >= 20131223
+packetLen(0x09ea, 11)
+#elif PACKETVER >= 20131218
+packetLen(0x09ea, 10)
+#endif
+
+// Packet: 0x09eb
+#if PACKETVER >= 20131230
+packetLen(0x09eb, 23)
+#elif PACKETVER >= 20131223
+packetLen(0x09eb, 24)
+#elif PACKETVER >= 20131218
+packetLen(0x09eb, 14)
+#endif
+
+// Packet: 0x09ec
+#if PACKETVER >= 20131230
+packetLen(0x09ec, -1)
+#endif
+
+// Packet: 0x09ed
+#if PACKETVER >= 20131230
+packetLen(0x09ed, 3)
+#elif PACKETVER >= 20131218
+// removed
+#elif PACKETVER >= 20131211
+packetLen(0x09ed, -1)
+#endif
+
+// Packet: 0x09ee
+#if PACKETVER >= 20131218
+packetLen(0x09ee, 11)
+#elif PACKETVER >= 20131211
+packetLen(0x09ee, -1)
+#endif
+
+// Packet: 0x09ef
+#if PACKETVER >= 20131218
+packetLen(0x09ef, 11)
+#endif
+
+// Packet: 0x09f0
+#if PACKETVER >= 20131218
+packetLen(0x09f0, -1)
+#endif
+
+// Packet: 0x09f5
+#if PACKETVER >= 20131218
+packetLen(0x09f5, 11)
+#endif
+
+// Packet: 0x09f6
+#if PACKETVER >= 20131218
+packetLen(0x09f6, 11)
+#endif
+
+// Packet: 0x09f7
+#if PACKETVER >= 20131230
+packetLen(0x09f7, 75)
+#endif
+
+
+#endif /* COMMON_PACKETS2013_LEN_RE_H */
diff --git a/src/common/packets/packets2014_len_main.h b/src/common/packets/packets2014_len_main.h
new file mode 100644
index 000000000..4246dad81
--- /dev/null
+++ b/src/common/packets/packets2014_len_main.h
@@ -0,0 +1,9079 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2014_LEN_MAIN_H
+#define COMMON_PACKETS2014_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20140820
+packetLen(0x006d, 149)
+#elif PACKETVER >= 20140108
+packetLen(0x006d, 146)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20141231
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20141210
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20141015
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140903
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20140611
+packetLen(0x0202, 26)
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x0202, 26)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20140305
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140115
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0202, 5)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20141231
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20141112
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x022d, 4)
+#elif PACKETVER >= 20141029
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20141022
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20141008
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140924
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20140903
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140813
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140730
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x022d, 5)
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x022d, 6)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x022d, 18)
+#elif PACKETVER >= 20140416
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140212
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140115
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x022d, 19)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20141105
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20141022
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20141015
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140903
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140813
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140709
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20140625
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20140611
+packetLen(0x023b, 36)
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x023b, 36)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140409
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20140212
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140115
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x023b, 26)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20141210
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140813
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0281, 4)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140508
+packetLen(0x0281, 4)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x0281, 10)
+#elif PACKETVER >= 20140115
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20140730
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x02c4, 26)
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x02c4, 90)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140326
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x035f, 10)
+#elif PACKETVER >= 20141001
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x035f, 5)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x035f, 6)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x035f, 36)
+#elif PACKETVER >= 20140423
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20141231
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20141224
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0360, 8)
+#elif PACKETVER >= 20141210
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20141001
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x0360, 6)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20140521
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20140416
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140409
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140219
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20140212
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x0360, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20141231
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20141224
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20141015
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20140903
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140611
+packetLen(0x0361, 5)
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140423
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20140122
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20141231
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20141210
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20141105
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20141022
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140813
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0362, 6)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0362, 6)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140115
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20141231
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140813
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140611
+packetLen(0x0363, 6)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0363, 6)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20140423
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140312
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140212
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140115
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20141231
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20141008
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140813
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20140716
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0364, 8)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0364, 8)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140409
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20140312
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20140219
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140115
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20141231
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20141105
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20141022
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20141001
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20140924
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20140827
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140820
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20140806
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140611
+packetLen(0x0365, 8)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140528
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140508
+packetLen(0x0365, 8)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140402
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140212
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140115
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20141231
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20141217
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20141203
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20141105
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140924
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20140917
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20140827
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140820
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140730
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140611
+packetLen(0x0366, 10)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140528
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140514
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0366, 26)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140423
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140319
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140212
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140122
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20141210
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20140917
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0367, 90)
+// ignored packet from 2014-06-11hRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x0367, 90)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140205
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20141231
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20141126
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20141105
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140730
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x0368, 6)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20140528
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0368, 6)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20141231
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20141217
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20141203
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20141105
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140924
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140820
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140709
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140611
+packetLen(0x0369, 6)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0369, 19)
+#elif PACKETVER >= 20140528
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140514
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0369, 7)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140423
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140312
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140219
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0369, 18)
+#elif PACKETVER >= 20140129
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140122
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20141231
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20141217
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20141015
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140903
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140813
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140730
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20140611
+packetLen(0x0436, 19)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140508
+packetLen(0x0436, 19)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20140416
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140312
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20140212
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140115
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20141231
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20141217
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20141203
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20141001
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140917
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140820
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140730
+packetLen(0x0437, 19)
+#elif PACKETVER >= 20140716
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20140702
+packetLen(0x0437, 26)
+#elif PACKETVER >= 20140611
+packetLen(0x0437, 7)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140528
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140514
+packetLen(0x0437, 12)
+#elif PACKETVER >= 20140508
+packetLen(0x0437, 7)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140423
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140212
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140122
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20141231
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141224
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20141217
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141203
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20141105
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141022
+packetLen(0x0438, 36)
+#elif PACKETVER >= 20141001
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140917
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140820
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20140618
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0438, 10)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140528
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140514
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140423
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140312
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0438, 19)
+#elif PACKETVER >= 20140226
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140219
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0438, 90)
+#elif PACKETVER >= 20140129
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140122
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20141022
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20141001
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20140917
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140813
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20140709
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x07e4, 10)
+#elif PACKETVER >= 20140618
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x07e4, 8)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x07e4, 5)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140326
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140115
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140813
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x07ec, 4)
+#elif PACKETVER >= 20140611
+packetLen(0x07ec, 8)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x07ec, 8)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140409
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140212
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20140122
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20140115
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20141210
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20141126
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20141022
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20141001
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20140917
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140820
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20140806
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140730
+packetLen(0x0802, 8)
+#elif PACKETVER >= 20140611
+packetLen(0x0802, 18)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140528
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140514
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0802, 18)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140423
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140312
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140226
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140129
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20140122
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20141231
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20141203
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140820
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0811, 7)
+#elif PACKETVER >= 20140709
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0811, 2)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140423
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20140416
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20140212
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140115
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20141231
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20141203
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140924
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20140917
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140820
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20140709
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20140625
+packetLen(0x0815, 4)
+#elif PACKETVER >= 20140611
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0815, 2)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140423
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20140226
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20140806
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20140702
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0817, 6)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0817, 4)
+#elif PACKETVER >= 20140508
+packetLen(0x0817, 6)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20141231
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20141203
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0819, 18)
+#elif PACKETVER >= 20141105
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140820
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140709
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20140611
+packetLen(0x0819, 2)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140423
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140409
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20140312
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20141029
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0835, 12)
+#elif PACKETVER >= 20140827
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20140709
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0835, 12)
+#elif PACKETVER >= 20140625
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20140611
+packetLen(0x0835, 2)
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x0835, 2)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20141231
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141217
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141203
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141105
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141022
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141001
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20140924
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140820
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140730
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20140618
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0838, 90)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140528
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140514
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0838, 12)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140423
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140312
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140226
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20140212
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140122
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20141231
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20141217
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20141203
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140917
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140820
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140611
+packetLen(0x083c, 12)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140528
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140514
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x083c, 12)
+// ignored packet from 2014-05-08bRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140402
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140212
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x083c, 4)
+#elif PACKETVER >= 20140122
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20141126
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20140430
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20141112
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20140723
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20140625
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20140806
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20141119
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x085f, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x085f, 5)
+#elif PACKETVER >= 20140716
+packetLen(0x085f, 19)
+#elif PACKETVER >= 20140605
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x085f, 18)
+#elif PACKETVER >= 20140226
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20141224
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20140716
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20140625
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0860, 26)
+#elif PACKETVER >= 20140226
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20141210
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20141126
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0861, 10)
+#elif PACKETVER >= 20140618
+packetLen(0x0861, 90)
+#elif PACKETVER >= 20140514
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20141001
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0862, 4)
+#elif PACKETVER >= 20140605
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20141119
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20141105
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20141112
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20141001
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0864, 19)
+#elif PACKETVER >= 20140618
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0864, 2)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140326
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0864, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20141231
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0865, 90)
+#elif PACKETVER >= 20141126
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20141112
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20141001
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20140521
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0865, 7)
+#elif PACKETVER >= 20140402
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0865, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20141126
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20140716
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0866, 4)
+#elif PACKETVER >= 20140430
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0866, 19)
+#elif PACKETVER >= 20140326
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20141231
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20140618
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0867, 6)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140521
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20140402
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0867, 12)
+#elif PACKETVER >= 20140305
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20140820
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20140723
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20140521
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20140416
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0868, 12)
+#elif PACKETVER >= 20140402
+packetLen(0x0868, 10)
+#elif PACKETVER >= 20140226
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0868, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20141119
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20140716
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0869, 5)
+#elif PACKETVER >= 20140528
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0869, 36)
+#elif PACKETVER >= 20140402
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0869, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20140416
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20140702
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x086b, 26)
+#elif PACKETVER >= 20140430
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x086b, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20141231
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20141210
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20140827
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20140709
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20140625
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x086c, 4)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20141231
+packetLen(0x086d, 36)
+#elif PACKETVER >= 20141210
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x086d, 90)
+#elif PACKETVER >= 20140730
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x086d, 90)
+#elif PACKETVER >= 20140416
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x086d, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20141210
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x086e, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x086e, 19)
+#elif PACKETVER >= 20141022
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x086e, 19)
+#elif PACKETVER >= 20141001
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20140827
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x086e, 4)
+#elif PACKETVER >= 20140219
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20140430
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x086f, 90)
+#elif PACKETVER >= 20140319
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20141231
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0870, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20140129
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0870, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20141203
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0871, 8)
+#elif PACKETVER >= 20141119
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0871, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0871, 36)
+#elif PACKETVER >= 20140723
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0871, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0871, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20141126
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0872, 7)
+#elif PACKETVER >= 20140827
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0872, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20140326
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20140129
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20141126
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0873, 10)
+#elif PACKETVER >= 20140430
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20141112
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20140618
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0874, 26)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140219
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20141224
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20141126
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0875, 7)
+#elif PACKETVER >= 20140716
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20140702
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20140416
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20140827
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20141112
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20140716
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0877, 10)
+#elif PACKETVER >= 20140605
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20140305
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0877, 19)
+#elif PACKETVER >= 20140219
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20141224
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20141029
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0878, 8)
+#elif PACKETVER >= 20140820
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20140625
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0878, 6)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140312
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0878, 4)
+#elif PACKETVER >= 20140219
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0878, 12)
+#elif PACKETVER >= 20140108
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20141224
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0879, 5)
+#elif PACKETVER >= 20141112
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0879, 12)
+#elif PACKETVER >= 20140716
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20141231
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x087a, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20141231
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x087b, 4)
+#elif PACKETVER >= 20141217
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x087b, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x087b, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20141126
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20141008
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x087c, 8)
+#elif PACKETVER >= 20140820
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x087c, 26)
+#elif PACKETVER >= 20140402
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x087c, 5)
+#elif PACKETVER >= 20140226
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x087c, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20141029
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x087d, 8)
+#elif PACKETVER >= 20140723
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20140625
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20141210
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20140416
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x087e, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20140806
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x087f, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20141210
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0880, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20140723
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0881, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20140820
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0882, 18)
+#elif PACKETVER >= 20140409
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0882, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20141224
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20140416
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0883, 5)
+#elif PACKETVER >= 20140402
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20141203
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0884, 4)
+#elif PACKETVER >= 20141008
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0884, 26)
+#elif PACKETVER >= 20140625
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20140508
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0884, 18)
+#elif PACKETVER >= 20140416
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20141217
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20141126
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20141112
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20141008
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20140205
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20141119
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20141001
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0886, 90)
+#elif PACKETVER >= 20140618
+packetLen(0x0886, 18)
+#elif PACKETVER >= 20140521
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20141119
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20141105
+packetLen(0x0887, 90)
+#elif PACKETVER >= 20140716
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20140702
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20140402
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0887, 4)
+#elif PACKETVER >= 20140305
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0887, 12)
+#elif PACKETVER >= 20140122
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20141126
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20140730
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20140702
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0888, 12)
+#elif PACKETVER >= 20140219
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20141224
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0889, 12)
+#elif PACKETVER >= 20141210
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0889, 26)
+#elif PACKETVER >= 20140924
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20140806
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20140319
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0889, 19)
+#elif PACKETVER >= 20140226
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20140205
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20140702
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x088a, 12)
+#elif PACKETVER >= 20140521
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20141001
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20140528
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20140514
+packetLen(0x088b, 90)
+#elif PACKETVER >= 20140430
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20140618
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x088c, 10)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140409
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x088c, 4)
+#elif PACKETVER >= 20140319
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20140219
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20141126
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20141112
+packetLen(0x088d, 90)
+#elif PACKETVER >= 20140806
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x088d, 12)
+#elif PACKETVER >= 20140723
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20141224
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x088e, 18)
+#elif PACKETVER >= 20140702
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x088e, 19)
+#elif PACKETVER >= 20140326
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20140312
+packetLen(0x088e, 7)
+#elif PACKETVER >= 20140122
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20140917
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x088f, 19)
+#elif PACKETVER >= 20140723
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20140605
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x088f, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20140625
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20140430
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20140416
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20140129
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20140827
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0891, 7)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140319
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20141112
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20140709
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20140618
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0893, 5)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140416
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0893, 7)
+#elif PACKETVER >= 20140326
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0893, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20141001
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0894, 7)
+#elif PACKETVER >= 20140618
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0894, 2)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0894, 8)
+#elif PACKETVER >= 20140319
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20140305
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20141126
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20140924
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20140820
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20140709
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20140305
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20141203
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20141029
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0896, 26)
+#elif PACKETVER >= 20140730
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x0896, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20140430
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0896, 7)
+#elif PACKETVER >= 20140416
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0896, 10)
+#elif PACKETVER >= 20140402
+packetLen(0x0896, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20140924
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20140716
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0897, 18)
+#elif PACKETVER >= 20140430
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20140416
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20141210
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20141112
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0898, 90)
+#elif PACKETVER >= 20140917
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20140730
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20140716
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0898, 19)
+#elif PACKETVER >= 20140430
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0898, 10)
+#elif PACKETVER >= 20140402
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20141029
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20140827
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0899, 10)
+#elif PACKETVER >= 20140813
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20140129
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20141231
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20140827
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20140409
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20141231
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x089b, 18)
+#elif PACKETVER >= 20140917
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20140618
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x089b, 26)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140514
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x089b, 19)
+#elif PACKETVER >= 20140430
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20141210
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x089c, 10)
+#elif PACKETVER >= 20141008
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20140924
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20141210
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x089d, 12)
+#elif PACKETVER >= 20141008
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x089d, 26)
+#elif PACKETVER >= 20140605
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x089d, 12)
+#elif PACKETVER >= 20140219
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x089d, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20140730
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20140319
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20140219
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20141224
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20140226
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20141119
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x08a0, 19)
+#elif PACKETVER >= 20140806
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20140709
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08a0, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20141224
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x08a1, 10)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140508
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08a1, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20141224
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140709
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x08a2, 5)
+#elif PACKETVER >= 20140618
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x08a2, 8)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140416
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20140326
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20141231
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x08a3, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20141231
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20141203
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20140723
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20140416
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20141210
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x08a5, 7)
+#elif PACKETVER >= 20141112
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20140806
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x08a6, 4)
+#elif PACKETVER >= 20140226
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20141001
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x08a7, 10)
+#elif PACKETVER >= 20140827
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20140813
+packetLen(0x08a7, 8)
+#elif PACKETVER >= 20140806
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20140219
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20141231
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20141126
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20140430
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20140806
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a9, 90)
+#elif PACKETVER >= 20140416
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20140319
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20141210
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x08aa, 12)
+#elif PACKETVER >= 20141029
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x08aa, 12)
+#elif PACKETVER >= 20140129
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20141224
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20141029
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140820
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140605
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140514
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20141231
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20141210
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20140625
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20140528
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20140409
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x08ac, 18)
+#elif PACKETVER >= 20140326
+packetLen(0x08ac, 90)
+#elif PACKETVER >= 20140226
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20141203
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20141112
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20141029
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20141008
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20140806
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20140723
+packetLen(0x08ad, 18)
+#elif PACKETVER >= 20140716
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x08ad, 19)
+#elif PACKETVER >= 20140319
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20140219
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20140820
+packetLen(0x08e3, 149)
+#elif PACKETVER >= 20140108
+packetLen(0x08e3, 146)
+#endif
+
+// 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
+#if PACKETVER >= 20141217
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0917, 26)
+#elif PACKETVER >= 20140625
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0917, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20141126
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0918, 10)
+#elif PACKETVER >= 20141001
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0918, 19)
+#elif PACKETVER >= 20140723
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0918, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0918, 18)
+#elif PACKETVER >= 20140416
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20141224
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20141119
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0919, 12)
+#elif PACKETVER >= 20140924
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0919, -1)
+#elif PACKETVER >= 20140219
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20141029
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x091a, 26)
+#elif PACKETVER >= 20140716
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20140305
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20140219
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20141210
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x091c, 18)
+#elif PACKETVER >= 20141008
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x091c, 4)
+#elif PACKETVER >= 20140416
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x091c, 90)
+#elif PACKETVER >= 20140319
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20141210
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20141112
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20140521
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x091d, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20141112
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x091e, 26)
+#elif PACKETVER >= 20140319
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x091e, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20141224
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x091f, 10)
+#elif PACKETVER >= 20140723
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20140625
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20140409
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20141203
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20141119
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20140430
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0920, 26)
+#elif PACKETVER >= 20140409
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0920, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20141126
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0921, 19)
+#elif PACKETVER >= 20140611
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0921, 36)
+#elif PACKETVER >= 20140305
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0921, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x0921, 7)
+#elif PACKETVER >= 20140205
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0921, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20141022
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0922, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20140326
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20141224
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0924, 7)
+#elif PACKETVER >= 20140618
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0924, 6)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140205
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0924, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20141001
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0925, 8)
+#elif PACKETVER >= 20140716
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0925, 90)
+#elif PACKETVER >= 20140702
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20141119
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20140409
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0926, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20141217
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0927, 36)
+#elif PACKETVER >= 20140226
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0927, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20141210
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20141001
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0928, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20141126
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20141112
+packetLen(0x0929, 7)
+#elif PACKETVER >= 20140625
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0929, 12)
+#elif PACKETVER >= 20140605
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0929, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20141210
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x092a, 4)
+#elif PACKETVER >= 20141008
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x092a, 36)
+#elif PACKETVER >= 20140924
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x092a, 12)
+#elif PACKETVER >= 20140806
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x092a, 36)
+#elif PACKETVER >= 20140319
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20141217
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x092b, 18)
+#elif PACKETVER >= 20141112
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20141029
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x092b, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20140723
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x092c, 26)
+#elif PACKETVER >= 20140709
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x092c, 19)
+#elif PACKETVER >= 20140521
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x092c, 8)
+#elif PACKETVER >= 20140205
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x092c, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20141001
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20140409
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x092d, 90)
+#elif PACKETVER >= 20140122
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20140416
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x092e, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20141126
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20140827
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20140730
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x092f, 19)
+#elif PACKETVER >= 20140716
+packetLen(0x092f, 12)
+#elif PACKETVER >= 20140709
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20140521
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20141231
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20140605
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0930, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20140917
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20140716
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20140305
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0931, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20141231
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0932, 8)
+#elif PACKETVER >= 20141217
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0932, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20141224
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0933, 26)
+#elif PACKETVER >= 20141126
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0933, 36)
+#elif PACKETVER >= 20140709
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0933, 4)
+#elif PACKETVER >= 20140409
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0933, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20141001
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20140806
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0934, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x0934, 26)
+#elif PACKETVER >= 20140716
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20140312
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20140219
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0934, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20140730
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20140625
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20141224
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20141210
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20141022
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0936, 36)
+#elif PACKETVER >= 20140827
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20140618
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0936, 12)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140219
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0936, 4)
+#elif PACKETVER >= 20140115
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0936, 36)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20141008
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0937, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20141126
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0938, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0938, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0938, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20141224
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20141008
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20140716
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20140827
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x093a, 36)
+#elif PACKETVER >= 20140605
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20141029
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x093b, 19)
+#elif PACKETVER >= 20140723
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x093b, 7)
+#elif PACKETVER >= 20140508
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+#if PACKETVER >= 20140730
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x093d, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x093d, 7)
+#elif PACKETVER >= 20140219
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x093d, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20141112
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x093e, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20141008
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x093f, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x093f, 12)
+#elif PACKETVER >= 20140605
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x093f, 26)
+#elif PACKETVER >= 20140409
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x093f, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20141224
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0940, 19)
+#elif PACKETVER >= 20141105
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0940, 7)
+#elif PACKETVER >= 20140806
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0940, 5)
+#elif PACKETVER >= 20140716
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20140702
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20140115
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20141126
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0941, 36)
+#elif PACKETVER >= 20140618
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0941, 36)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140305
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0941, 18)
+#elif PACKETVER >= 20140129
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20141203
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0942, 26)
+#elif PACKETVER >= 20141119
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20141015
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20140416
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0942, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20140129
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20141119
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0943, 4)
+#elif PACKETVER >= 20140827
+packetLen(0x0943, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20141224
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20140409
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0944, 10)
+#elif PACKETVER >= 20140219
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20141231
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x0945, 90)
+#elif PACKETVER >= 20140917
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20140730
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0945, 10)
+#elif PACKETVER >= 20140625
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20141231
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20140409
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0946, 7)
+#elif PACKETVER >= 20140326
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20140226
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20141217
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0947, 4)
+#elif PACKETVER >= 20140730
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0947, 7)
+#elif PACKETVER >= 20140716
+packetLen(0x0947, 4)
+#elif PACKETVER >= 20140416
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20140326
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20141224
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0948, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0948, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0948, 36)
+#elif PACKETVER >= 20140730
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0948, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20141231
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0949, 12)
+#elif PACKETVER >= 20141001
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0949, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0949, 10)
+#elif PACKETVER >= 20140226
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0949, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20140827
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x094a, 2)
+// ignored packet from 2014-06-11hRagexe
+// ignored packet from 2014-06-11cRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x094a, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20141119
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20141022
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x094b, 26)
+#elif PACKETVER >= 20141008
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20140605
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x094b, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20140319
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x094b, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20141126
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x094c, 4)
+#elif PACKETVER >= 20140611
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x094c, 26)
+#elif PACKETVER >= 20140416
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x094c, 18)
+#elif PACKETVER >= 20140402
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20140326
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20140716
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20140205
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x094d, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20141029
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140702
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20141231
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x094f, 19)
+#elif PACKETVER >= 20141119
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20140924
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x094f, 10)
+#elif PACKETVER >= 20140716
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x094f, 6)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x094f, 12)
+#elif PACKETVER >= 20140108
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20141231
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0950, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0950, 18)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140409
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0950, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20140924
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0951, 18)
+#elif PACKETVER >= 20140827
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20140618
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0951, 5)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140108
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20141210
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20141008
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20140924
+packetLen(0x0952, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0952, 7)
+#elif PACKETVER >= 20140723
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20140618
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0952, 8)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140219
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0952, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20141231
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0953, 4)
+#elif PACKETVER >= 20140219
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0953, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20141217
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0954, 19)
+#elif PACKETVER >= 20140625
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0954, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0954, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20141217
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20141119
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20141029
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0955, 18)
+#elif PACKETVER >= 20140924
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0955, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0955, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20141231
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x0956, 10)
+#elif PACKETVER >= 20140924
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20141112
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20140924
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0957, 36)
+#elif PACKETVER >= 20140611
+packetLen(0x0957, 6)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140319
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0957, 12)
+#elif PACKETVER >= 20140108
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20141217
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0958, 4)
+#elif PACKETVER >= 20140723
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0958, 19)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140521
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20140409
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20140723
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0959, 7)
+#elif PACKETVER >= 20140402
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20141203
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140416
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20141231
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x095b, 10)
+#elif PACKETVER >= 20141203
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20140122
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x095b, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20141210
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x095c, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20140423
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x095c, 36)
+#elif PACKETVER >= 20140409
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20140326
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20141119
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x095d, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x095d, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20140115
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20140924
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x095e, 5)
+#elif PACKETVER >= 20140625
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x095e, 19)
+#elif PACKETVER >= 20140430
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x095e, 4)
+#elif PACKETVER >= 20140416
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x095e, 19)
+#elif PACKETVER >= 20140319
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x095e, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20141231
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20141224
+packetLen(0x095f, 7)
+#elif PACKETVER >= 20141203
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x095f, 8)
+#elif PACKETVER >= 20141112
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x095f, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x095f, 4)
+#elif PACKETVER >= 20140716
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x095f, 18)
+#elif PACKETVER >= 20140605
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x095f, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x095f, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20141224
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0960, 4)
+#elif PACKETVER >= 20141119
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20140730
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0960, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20141217
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20140716
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20140326
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20140226
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20141210
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0962, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0962, 10)
+#elif PACKETVER >= 20140625
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20140305
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20141217
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0963, 36)
+#elif PACKETVER >= 20141126
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0963, 90)
+#elif PACKETVER >= 20140618
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0963, 6)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140605
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0963, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20140605
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20140326
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20140305
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20141203
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0965, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0965, 5)
+// ignored packet from 2014-06-11cRagexe
+// ignored packet from 2014-06-11eRagexe
+#elif PACKETVER >= 20140521
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20140409
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0965, 12)
+#elif PACKETVER >= 20140122
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20140924
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0966, 4)
+#elif PACKETVER >= 20140605
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0966, -1)
+#elif PACKETVER >= 20140319
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20140122
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0966, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20141217
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0967, 5)
+#elif PACKETVER >= 20140820
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0967, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20141112
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0968, 18)
+#elif PACKETVER >= 20140702
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0968, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20140723
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20140702
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20140402
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0969, 10)
+#elif PACKETVER >= 20140305
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20141231
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20141105
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x096a, 18)
+// ignored packet from 2014-05-08aRagexe
+#elif PACKETVER >= 20140430
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140326
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x096a, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x096a, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// Packet: 0x09e7
+#if PACKETVER >= 20140716
+packetLen(0x09e7, 3)
+#elif PACKETVER >= 20140108
+packetLen(0x09e7, 2)
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20140212
+packetLen(0x09e8, 11)
+#elif PACKETVER >= 20140108
+packetLen(0x09e8, 10)
+#endif
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2)
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11)
+
+// Packet: 0x09eb
+#if PACKETVER >= 20140115
+packetLen(0x09eb, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x09eb, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20140326
+packetLen(0x09f1, 11)
+#elif PACKETVER >= 20140115
+packetLen(0x09f1, 10)
+#endif
+
+// Packet: 0x09f2
+#if PACKETVER >= 20140409
+packetLen(0x09f2, 12)
+#elif PACKETVER >= 20140326
+packetLen(0x09f2, 4)
+#elif PACKETVER >= 20140115
+packetLen(0x09f2, 3)
+#endif
+
+// Packet: 0x09f3
+#if PACKETVER >= 20140326
+packetLen(0x09f3, 11)
+#elif PACKETVER >= 20140305
+packetLen(0x09f3, 10)
+#elif PACKETVER >= 20140115
+packetLen(0x09f3, 15)
+#endif
+
+// Packet: 0x09f4
+#if PACKETVER >= 20140409
+packetLen(0x09f4, 12)
+#elif PACKETVER >= 20140326
+packetLen(0x09f4, 4)
+#elif PACKETVER >= 20140305
+packetLen(0x09f4, 3)
+#elif PACKETVER >= 20140115
+packetLen(0x09f4, 12)
+#endif
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11)
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11)
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75)
+
+// Packet: 0x09f8
+#if PACKETVER >= 20140115
+packetLen(0x09f8, -1)
+#endif
+
+// Packet: 0x09f9
+#if PACKETVER >= 20140122
+packetLen(0x09f9, 143)
+#elif PACKETVER >= 20140115
+packetLen(0x09f9, 131)
+#endif
+
+// Packet: 0x09fa
+#if PACKETVER >= 20140115
+packetLen(0x09fa, -1)
+#endif
+
+// Packet: 0x09fb
+#if PACKETVER >= 20140122
+packetLen(0x09fb, -1)
+#endif
+
+// Packet: 0x09fc
+#if PACKETVER >= 20140122
+packetLen(0x09fc, 6)
+#endif
+
+// Packet: 0x09fd
+#if PACKETVER >= 20140122
+packetLen(0x09fd, -1)
+#endif
+
+// Packet: 0x09fe
+#if PACKETVER >= 20140122
+packetLen(0x09fe, -1)
+#endif
+
+// Packet: 0x09ff
+#if PACKETVER >= 20140122
+packetLen(0x09ff, -1)
+#endif
+
+// Packet: 0x0a00
+#if PACKETVER >= 20140129
+packetLen(0x0a00, 269)
+#endif
+
+// Packet: 0x0a01
+#if PACKETVER >= 20140129
+packetLen(0x0a01, 3)
+#endif
+
+// Packet: 0x0a02
+#if PACKETVER >= 20140212
+packetLen(0x0a02, 4)
+#endif
+
+// Packet: 0x0a03
+#if PACKETVER >= 20140326
+packetLen(0x0a03, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0a03, 14)
+#endif
+
+// Packet: 0x0a04
+#if PACKETVER >= 20140416
+packetLen(0x0a04, 6)
+#elif PACKETVER >= 20140326
+// removed
+#elif PACKETVER >= 20140226
+packetLen(0x0a04, 11)
+#endif
+
+// Packet: 0x0a05
+#if PACKETVER >= 20141119
+packetLen(0x0a05, 53)
+#elif PACKETVER >= 20141008
+packetLen(0x0a05, 49)
+#elif PACKETVER >= 20140416
+packetLen(0x0a05, 48)
+#elif PACKETVER >= 20140226
+packetLen(0x0a05, 6)
+#endif
+
+// Packet: 0x0a06
+#if PACKETVER >= 20140416
+packetLen(0x0a06, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0a06, 5)
+#endif
+
+// Packet: 0x0a07
+#if PACKETVER >= 20140521
+packetLen(0x0a07, 9)
+#elif PACKETVER >= 20140416
+packetLen(0x0a07, 7)
+#elif PACKETVER >= 20140326
+packetLen(0x0a07, 6)
+#elif PACKETVER >= 20140305
+packetLen(0x0a07, 4)
+#endif
+
+// Packet: 0x0a08
+#if PACKETVER >= 20140416
+packetLen(0x0a08, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0a08, 7)
+#elif PACKETVER >= 20140305
+packetLen(0x0a08, 5)
+#endif
+
+// Packet: 0x0a09
+#if PACKETVER >= 20140312
+packetLen(0x0a09, 45)
+#elif PACKETVER >= 20140305
+packetLen(0x0a09, 50)
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20140312
+packetLen(0x0a0a, 47)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0a, 52)
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20140312
+packetLen(0x0a0b, 47)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0b, 52)
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20140312
+packetLen(0x0a0c, 56)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0c, 61)
+#endif
+
+// Packet: 0x0a0d
+#if PACKETVER >= 20140312
+packetLen(0x0a0d, -1)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0d, 4)
+#endif
+
+// Packet: 0x0a0e
+#if PACKETVER >= 20140312
+packetLen(0x0a0e, 14)
+#endif
+
+// Packet: 0x0a0f
+#if PACKETVER >= 20140402
+packetLen(0x0a0f, -1)
+#endif
+
+// Packet: 0x0a10
+#if PACKETVER >= 20140402
+packetLen(0x0a10, -1)
+#endif
+
+// Packet: 0x0a11
+#if PACKETVER >= 20140402
+packetLen(0x0a11, -1)
+#endif
+
+// Packet: 0x0a12
+#if PACKETVER >= 20140416
+packetLen(0x0a12, 27)
+#endif
+
+// Packet: 0x0a13
+#if PACKETVER >= 20140423
+packetLen(0x0a13, 26)
+#elif PACKETVER >= 20140416
+packetLen(0x0a13, 2)
+#endif
+
+// Packet: 0x0a14
+#if PACKETVER >= 20140521
+packetLen(0x0a14, 10)
+#elif PACKETVER >= 20140423
+packetLen(0x0a14, 6)
+#endif
+
+// Packet: 0x0a15
+#if PACKETVER >= 20140508
+packetLen(0x0a15, 12)
+#elif PACKETVER >= 20140430
+packetLen(0x0a15, 11)
+#endif
+
+// Packet: 0x0a16
+#if PACKETVER >= 20140430
+packetLen(0x0a16, 26)
+#endif
+
+// Packet: 0x0a17
+#if PACKETVER >= 20140430
+packetLen(0x0a17, 6)
+#endif
+
+// Packet: 0x0a18
+#if PACKETVER >= 20140611
+packetLen(0x0a18, 14)
+#elif PACKETVER >= 20140605
+packetLen(0x0a18, 2)
+#endif
+
+// Packet: 0x0a19
+#if PACKETVER >= 20140611
+packetLen(0x0a19, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0a19, -1)
+#endif
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20140611
+packetLen(0x0a1a, 23)
+#elif PACKETVER >= 20140605
+packetLen(0x0a1a, 10)
+#endif
+
+// Packet: 0x0a1b
+#if PACKETVER >= 20140605
+packetLen(0x0a1b, 2)
+#endif
+
+// Packet: 0x0a1c
+#if PACKETVER >= 20140611
+packetLen(0x0a1c, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x0a1c, 6)
+#endif
+
+// Packet: 0x0a1d
+#if PACKETVER >= 20140611
+packetLen(0x0a1d, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0a1d, 14)
+#endif
+
+// Packet: 0x0a1e
+#if PACKETVER >= 20140611
+packetLen(0x0a1e, 3)
+#endif
+
+// Packet: 0x0a1f
+#if PACKETVER >= 20140611
+packetLen(0x0a1f, 2)
+#endif
+
+// Packet: 0x0a20
+#if PACKETVER >= 20140611
+packetLen(0x0a20, 21)
+#endif
+
+// Packet: 0x0a21
+#if PACKETVER >= 20140618
+packetLen(0x0a21, 3)
+#elif PACKETVER >= 20140611
+packetLen(0x0a21, 6)
+#endif
+
+// Packet: 0x0a22
+#if PACKETVER >= 20140618
+packetLen(0x0a22, 5)
+#elif PACKETVER >= 20140611
+packetLen(0x0a22, 3)
+#endif
+
+// Packet: 0x0a23
+#if PACKETVER >= 20140611
+packetLen(0x0a23, -1)
+#endif
+
+// Packet: 0x0a24
+#if PACKETVER >= 20141001
+packetLen(0x0a24, 66)
+#elif PACKETVER >= 20140723
+packetLen(0x0a24, 56)
+#elif PACKETVER >= 20140625
+packetLen(0x0a24, 36)
+#elif PACKETVER >= 20140611
+packetLen(0x0a24, 35)
+#endif
+
+// Packet: 0x0a25
+#if PACKETVER >= 20140611
+packetLen(0x0a25, 6)
+#endif
+
+// Packet: 0x0a26
+#if PACKETVER >= 20140611
+packetLen(0x0a26, 7)
+#endif
+
+// Packet: 0x0a27
+#if PACKETVER >= 20140625
+packetLen(0x0a27, 8)
+#endif
+
+// Packet: 0x0a28
+#if PACKETVER >= 20140625
+packetLen(0x0a28, 3)
+#endif
+
+// Packet: 0x0a29
+#if PACKETVER >= 20140702
+packetLen(0x0a29, 6)
+#endif
+
+// Packet: 0x0a2a
+#if PACKETVER >= 20140702
+packetLen(0x0a2a, 6)
+#endif
+
+// Packet: 0x0a2b
+#if PACKETVER >= 20140723
+packetLen(0x0a2b, 14)
+#endif
+
+// Packet: 0x0a2c
+#if PACKETVER >= 20140723
+packetLen(0x0a2c, 12)
+#endif
+
+// Packet: 0x0a2d
+#if PACKETVER >= 20140820
+packetLen(0x0a2d, -1)
+#endif
+
+// Packet: 0x0a2e
+#if PACKETVER >= 20140827
+packetLen(0x0a2e, 6)
+#endif
+
+// Packet: 0x0a2f
+#if PACKETVER >= 20140827
+packetLen(0x0a2f, 7)
+#endif
+
+// Packet: 0x0a30
+#if PACKETVER >= 20140917
+packetLen(0x0a30, 106)
+#endif
+
+// Packet: 0x0a31
+#if PACKETVER >= 20140917
+packetLen(0x0a31, -1)
+#endif
+
+// Packet: 0x0a32
+#if PACKETVER >= 20140924
+packetLen(0x0a32, 2)
+#endif
+
+// Packet: 0x0a33
+#if PACKETVER >= 20140924
+packetLen(0x0a33, 7)
+#endif
+
+// Packet: 0x0a34
+#if PACKETVER >= 20140924
+packetLen(0x0a34, 6)
+#endif
+
+// Packet: 0x0a35
+#if PACKETVER >= 20141119
+packetLen(0x0a35, 4)
+#endif
+
+// Packet: 0x0a36
+#if PACKETVER >= 20141126
+packetLen(0x0a36, 7)
+#endif
+
+// Packet: 0x0a37
+#if PACKETVER >= 20141126
+packetLen(0x0a37, 57)
+#endif
+
+
+#endif /* COMMON_PACKETS2014_LEN_MAIN_H */
diff --git a/src/common/packets/packets2014_len_re.h b/src/common/packets/packets2014_len_re.h
new file mode 100644
index 000000000..725aa3c9f
--- /dev/null
+++ b/src/common/packets/packets2014_len_re.h
@@ -0,0 +1,9014 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2014_LEN_RE_H
+#define COMMON_PACKETS2014_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20140625
+packetLen(0x006d, 149)
+#elif PACKETVER >= 20140108
+packetLen(0x006d, 146)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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
+#if PACKETVER >= 20140226
+packetLen(0x01c4, 53)
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x01c4, 53)
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x01c4, 43)
+#elif PACKETVER >= 20140108
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20140226
+packetLen(0x01c5, 53)
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x01c5, 53)
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x01c5, 43)
+#elif PACKETVER >= 20140108
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20141231
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20141210
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20141015
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140903
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0202, 8)
+#elif PACKETVER >= 20140605
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x0202, 26)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0202, 10)
+#elif PACKETVER >= 20140305
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20140115
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0202, 5)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20141231
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20141112
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x022d, 4)
+#elif PACKETVER >= 20141029
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20141022
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x022d, 8)
+#elif PACKETVER >= 20141008
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140924
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20140903
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140813
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140730
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x022d, 6)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x022d, 18)
+#elif PACKETVER >= 20140416
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140212
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20140115
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x022d, 19)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20141105
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20141022
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20141015
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140903
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140813
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140709
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20140625
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x023b, 36)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140409
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20140212
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20140115
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x023b, 26)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20141210
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140813
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140508
+packetLen(0x0281, 4)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x0281, 10)
+#elif PACKETVER >= 20140115
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20140730
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x02c4, 90)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140326
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x035f, 10)
+#elif PACKETVER >= 20141001
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x035f, 6)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x035f, 36)
+#elif PACKETVER >= 20140423
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20141231
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20141223
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0360, 8)
+#elif PACKETVER >= 20141210
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20141001
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20140521
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x0360, 36)
+#elif PACKETVER >= 20140416
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140409
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140219
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20140212
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x0360, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20141231
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20141223
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20141015
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20140903
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140514
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140423
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20140122
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20141231
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20141210
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20141105
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20141022
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140813
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0362, 6)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0362, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20140115
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20141231
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140813
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140611
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0363, 6)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20140423
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140312
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140212
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20140115
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20141231
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20141008
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140813
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20140716
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0364, 8)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140409
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20140312
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20140219
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20140115
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20141231
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20141105
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20141022
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20141001
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20140924
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20140827
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140820
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20140806
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140611
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140528
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140508
+packetLen(0x0365, 8)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140402
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140212
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20140115
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20141231
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20141217
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20141203
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20141105
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140924
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20140917
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20140827
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140820
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140730
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140611
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140528
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140514
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0366, 26)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140423
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140319
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140212
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20140122
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20141210
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0367, 26)
+#elif PACKETVER >= 20140917
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20140508
+packetLen(0x0367, 90)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140205
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0367, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20141231
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20141126
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20141105
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140730
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20140528
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0368, 6)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20141231
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20141217
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20141203
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20141105
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140924
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140820
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140709
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140611
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0369, 19)
+#elif PACKETVER >= 20140528
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140514
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0369, 7)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140423
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140312
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140219
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0369, 18)
+#elif PACKETVER >= 20140129
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20140122
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20141231
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20141217
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20141015
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140903
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140813
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140730
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20140611
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140508
+packetLen(0x0436, 19)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20140416
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140312
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20140212
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20140115
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20141231
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20141217
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20141203
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20141001
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140917
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140820
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140730
+packetLen(0x0437, 19)
+#elif PACKETVER >= 20140716
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20140702
+packetLen(0x0437, 26)
+#elif PACKETVER >= 20140611
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140528
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140514
+packetLen(0x0437, 12)
+#elif PACKETVER >= 20140508
+packetLen(0x0437, 7)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140423
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140212
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20140122
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20141231
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141223
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20141217
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141203
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20141105
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20141022
+packetLen(0x0438, 36)
+#elif PACKETVER >= 20141001
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140917
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140820
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20140618
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140528
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140514
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140423
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140312
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0438, 19)
+#elif PACKETVER >= 20140226
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140219
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0438, 90)
+#elif PACKETVER >= 20140129
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20140122
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20141022
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20141001
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20140917
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140813
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20140709
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x07e4, 10)
+#elif PACKETVER >= 20140618
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x07e4, 8)
+#elif PACKETVER >= 20140605
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x07e4, 5)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140326
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20140115
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140813
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x07ec, 4)
+#elif PACKETVER >= 20140611
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x07ec, 8)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140409
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140212
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20140122
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20140115
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20141210
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20141126
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20141022
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20141001
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20140917
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140820
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20140806
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140730
+packetLen(0x0802, 8)
+#elif PACKETVER >= 20140611
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140528
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140514
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0802, 18)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140423
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140312
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140226
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20140129
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20140122
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0802, 26)
+#endif
+
+// 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
+#if PACKETVER >= 20140226
+packetLen(0x080f, 51)
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x080f, 51)
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x080f, 41)
+#elif PACKETVER >= 20140108
+packetLen(0x080f, 20)
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20141231
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20141203
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140820
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0811, 7)
+#elif PACKETVER >= 20140709
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140423
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20140416
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20140212
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20140115
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20141231
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20141203
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140924
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20140917
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140820
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20140709
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20140625
+packetLen(0x0815, 4)
+#elif PACKETVER >= 20140611
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0815, 2)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140423
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20140312
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0815, 5)
+#elif PACKETVER >= 20140226
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20140806
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20140702
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0817, 4)
+#elif PACKETVER >= 20140508
+packetLen(0x0817, 6)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140108
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20141231
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20141203
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0819, 18)
+#elif PACKETVER >= 20141105
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140820
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140709
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20140611
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140528
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140423
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140409
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20140312
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140212
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20141029
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0835, 12)
+#elif PACKETVER >= 20140827
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20140709
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0835, 12)
+#elif PACKETVER >= 20140625
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x0835, 2)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140108
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20141231
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141217
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141203
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141105
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141022
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20141001
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20140924
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140820
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140730
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20140618
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0838, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140528
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140514
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0838, 12)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140423
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140312
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140226
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20140212
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20140122
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20141231
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20141217
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20141203
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20141105
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140917
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140820
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140709
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140611
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140528
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140514
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x083c, 12)
+// ignored packet from 2014-05-08bRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140402
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140212
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x083c, 4)
+#elif PACKETVER >= 20140122
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20141231
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20141126
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20140430
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20141112
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20140723
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20140625
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20140806
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20141119
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x085f, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x085f, 5)
+#elif PACKETVER >= 20140716
+packetLen(0x085f, 19)
+#elif PACKETVER >= 20140605
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x085f, 18)
+#elif PACKETVER >= 20140226
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20141223
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20140716
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20140625
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0860, 26)
+#elif PACKETVER >= 20140226
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20141210
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20141126
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0861, 10)
+#elif PACKETVER >= 20140618
+packetLen(0x0861, 90)
+#elif PACKETVER >= 20140514
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20141001
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0862, 4)
+#elif PACKETVER >= 20140605
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20141119
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20141105
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20141112
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20141001
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20140917
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0864, 19)
+#elif PACKETVER >= 20140618
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0864, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20141231
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0865, 90)
+#elif PACKETVER >= 20141126
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20141112
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20141001
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20140521
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0865, 7)
+#elif PACKETVER >= 20140402
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0865, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20141126
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20140716
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0866, 4)
+#elif PACKETVER >= 20140430
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0866, 19)
+#elif PACKETVER >= 20140326
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20141231
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20140618
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20140402
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0867, 12)
+#elif PACKETVER >= 20140305
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20140820
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20140723
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20140521
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20140416
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0868, 12)
+#elif PACKETVER >= 20140402
+packetLen(0x0868, 10)
+#elif PACKETVER >= 20140226
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0868, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20141119
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20140716
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0869, 5)
+#elif PACKETVER >= 20140528
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0869, 36)
+#elif PACKETVER >= 20140402
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0869, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20140416
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20140702
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x086b, 26)
+#elif PACKETVER >= 20140430
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x086b, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20141231
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20141210
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20140827
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20140709
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20140625
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x086c, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20141231
+packetLen(0x086d, 36)
+#elif PACKETVER >= 20141210
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x086d, 90)
+#elif PACKETVER >= 20140730
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x086d, 90)
+#elif PACKETVER >= 20140416
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x086d, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20141210
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x086e, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x086e, 19)
+#elif PACKETVER >= 20141022
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x086e, 19)
+#elif PACKETVER >= 20141001
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20140827
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x086e, 4)
+#elif PACKETVER >= 20140219
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20140430
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x086f, 90)
+#elif PACKETVER >= 20140319
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20141231
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0870, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20140129
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0870, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20141203
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0871, 8)
+#elif PACKETVER >= 20141119
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0871, -1)
+#elif PACKETVER >= 20141105
+packetLen(0x0871, 36)
+#elif PACKETVER >= 20140723
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0871, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0871, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20141126
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0872, 7)
+#elif PACKETVER >= 20140827
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0872, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20140326
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20140129
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20141126
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0873, 10)
+#elif PACKETVER >= 20140430
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20141112
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20140618
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0874, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20141223
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20141126
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0875, 7)
+#elif PACKETVER >= 20140716
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20140702
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20140416
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20140827
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20141112
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20140716
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0877, 10)
+#elif PACKETVER >= 20140605
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20140305
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0877, 19)
+#elif PACKETVER >= 20140219
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20141223
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20141029
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0878, 8)
+#elif PACKETVER >= 20140820
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20140625
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0878, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0878, 4)
+#elif PACKETVER >= 20140219
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0878, 12)
+#elif PACKETVER >= 20140108
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20141223
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0879, 5)
+#elif PACKETVER >= 20141112
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0879, 12)
+#elif PACKETVER >= 20140716
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20141231
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x087a, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20141231
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x087b, 4)
+#elif PACKETVER >= 20141217
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x087b, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x087b, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20141126
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20141008
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x087c, 8)
+#elif PACKETVER >= 20140820
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x087c, 26)
+#elif PACKETVER >= 20140402
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x087c, 5)
+#elif PACKETVER >= 20140226
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x087c, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20141029
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x087d, 8)
+#elif PACKETVER >= 20140723
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20140625
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20141210
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20140416
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x087e, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20140806
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x087f, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20141210
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0880, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20140723
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0881, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20140820
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0882, 18)
+#elif PACKETVER >= 20140409
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0882, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20141223
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20140416
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0883, 5)
+#elif PACKETVER >= 20140402
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20141203
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0884, 4)
+#elif PACKETVER >= 20141008
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0884, 26)
+#elif PACKETVER >= 20140625
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20140508
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0884, 18)
+#elif PACKETVER >= 20140416
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20141217
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20141126
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20141112
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20141008
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20140205
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20141119
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20141001
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0886, 90)
+#elif PACKETVER >= 20140618
+packetLen(0x0886, 18)
+#elif PACKETVER >= 20140521
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20141119
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20141105
+packetLen(0x0887, 90)
+#elif PACKETVER >= 20140716
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20140702
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20140402
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0887, 4)
+#elif PACKETVER >= 20140305
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0887, 12)
+#elif PACKETVER >= 20140122
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20141126
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20140730
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20140702
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0888, 12)
+#elif PACKETVER >= 20140219
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20141223
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0889, 12)
+#elif PACKETVER >= 20141210
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0889, 26)
+#elif PACKETVER >= 20140924
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20140806
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20140319
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0889, 19)
+#elif PACKETVER >= 20140226
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20140205
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20140702
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x088a, 12)
+#elif PACKETVER >= 20140521
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x088a, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20141001
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20140806
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20140528
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20140514
+packetLen(0x088b, 90)
+#elif PACKETVER >= 20140430
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20140618
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20140409
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x088c, 4)
+#elif PACKETVER >= 20140319
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20140219
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20141126
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20141112
+packetLen(0x088d, 90)
+#elif PACKETVER >= 20140806
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x088d, 12)
+#elif PACKETVER >= 20140723
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20140528
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20141223
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x088e, 18)
+#elif PACKETVER >= 20140702
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x088e, 19)
+#elif PACKETVER >= 20140326
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20140312
+packetLen(0x088e, 7)
+#elif PACKETVER >= 20140122
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20140917
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x088f, 19)
+#elif PACKETVER >= 20140723
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x088f, 10)
+#elif PACKETVER >= 20140605
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x088f, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20140625
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20140430
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20140416
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20140129
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20140827
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0891, 7)
+#elif PACKETVER >= 20140319
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20141112
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20140709
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0892, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20140618
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0893, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0893, 7)
+#elif PACKETVER >= 20140326
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0893, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20141001
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0894, 7)
+#elif PACKETVER >= 20140618
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0894, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0894, 8)
+#elif PACKETVER >= 20140319
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20140305
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20141126
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20140924
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20140820
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20140709
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20140305
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20141203
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20141029
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0896, 26)
+#elif PACKETVER >= 20140730
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0896, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x0896, 90)
+#elif PACKETVER >= 20140605
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20140430
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0896, 7)
+#elif PACKETVER >= 20140416
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0896, 10)
+#elif PACKETVER >= 20140402
+packetLen(0x0896, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20140924
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20140716
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0897, 18)
+#elif PACKETVER >= 20140430
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20140416
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20141210
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20141112
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0898, 90)
+#elif PACKETVER >= 20140917
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20140730
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20140716
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0898, 19)
+#elif PACKETVER >= 20140430
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0898, 10)
+#elif PACKETVER >= 20140402
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20141029
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20140827
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0899, 10)
+#elif PACKETVER >= 20140813
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20140129
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20141231
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20140827
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20140409
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20141231
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x089b, 18)
+#elif PACKETVER >= 20140917
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20140618
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20140514
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x089b, 19)
+#elif PACKETVER >= 20140430
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20141210
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x089c, 10)
+#elif PACKETVER >= 20141008
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20140924
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x089c, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20141210
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x089d, 12)
+#elif PACKETVER >= 20141008
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x089d, 26)
+#elif PACKETVER >= 20140605
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x089d, 12)
+#elif PACKETVER >= 20140219
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x089d, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20140730
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20140319
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20140219
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20141223
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20140226
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20141119
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20141105
+packetLen(0x08a0, 19)
+#elif PACKETVER >= 20140806
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20140709
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08a0, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20141223
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x08a1, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20140508
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08a1, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20141223
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140709
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x08a2, 5)
+#elif PACKETVER >= 20140618
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140416
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20140326
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x08a2, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20141231
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x08a3, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20141231
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20141203
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20140723
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20140416
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a4, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20141210
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x08a5, 7)
+#elif PACKETVER >= 20141112
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20140806
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x08a6, 4)
+#elif PACKETVER >= 20140226
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20141001
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x08a7, 10)
+#elif PACKETVER >= 20140827
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20140813
+packetLen(0x08a7, 8)
+#elif PACKETVER >= 20140806
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20140416
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20140219
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20140122
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20141231
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20141126
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20140430
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20140806
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08a9, 90)
+#elif PACKETVER >= 20140416
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x08a9, 36)
+#elif PACKETVER >= 20140319
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20141210
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x08aa, 12)
+#elif PACKETVER >= 20141029
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20140226
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x08aa, 12)
+#elif PACKETVER >= 20140129
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20141223
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20141119
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20141029
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140820
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140605
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140514
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x08ab, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20141231
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20141217
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20141210
+packetLen(0x08ac, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20140625
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x08ac, 4)
+#elif PACKETVER >= 20140528
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20140409
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x08ac, 18)
+#elif PACKETVER >= 20140326
+packetLen(0x08ac, 90)
+#elif PACKETVER >= 20140226
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20141203
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20141112
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20141029
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20141008
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20140806
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20140723
+packetLen(0x08ad, 18)
+#elif PACKETVER >= 20140716
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x08ad, 19)
+#elif PACKETVER >= 20140319
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20140219
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20140625
+packetLen(0x08e3, 149)
+#elif PACKETVER >= 20140108
+packetLen(0x08e3, 146)
+#endif
+
+// 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
+#if PACKETVER >= 20141217
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0917, 26)
+#elif PACKETVER >= 20140625
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0917, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0917, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20141126
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0918, 10)
+#elif PACKETVER >= 20141001
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0918, 19)
+#elif PACKETVER >= 20140723
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0918, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0918, 18)
+#elif PACKETVER >= 20140416
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20141223
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20141119
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0919, 12)
+#elif PACKETVER >= 20140924
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0919, -1)
+#elif PACKETVER >= 20140219
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20141029
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x091a, 26)
+#elif PACKETVER >= 20140716
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20140305
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20140219
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20141210
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x091c, 18)
+#elif PACKETVER >= 20141008
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x091c, 4)
+#elif PACKETVER >= 20140416
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x091c, 90)
+#elif PACKETVER >= 20140319
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20141210
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20141112
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20140521
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x091d, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20141112
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x091e, 26)
+#elif PACKETVER >= 20140319
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x091e, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20141223
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x091f, 10)
+#elif PACKETVER >= 20140723
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20140625
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20140409
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20141203
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20141119
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20140430
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x0920, 26)
+#elif PACKETVER >= 20140409
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0920, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20141126
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0921, 19)
+#elif PACKETVER >= 20140611
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0921, 36)
+#elif PACKETVER >= 20140305
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0921, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x0921, 7)
+#elif PACKETVER >= 20140205
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0921, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20141022
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0922, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20140326
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20141223
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0924, 7)
+#elif PACKETVER >= 20140618
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0924, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20141001
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0925, 8)
+#elif PACKETVER >= 20140716
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0925, 90)
+#elif PACKETVER >= 20140702
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0925, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20141119
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20141001
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20140409
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0926, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20141217
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0927, 36)
+#elif PACKETVER >= 20140226
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0927, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20141210
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20141001
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0928, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20141126
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20141112
+packetLen(0x0929, 7)
+#elif PACKETVER >= 20140625
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0929, 12)
+#elif PACKETVER >= 20140605
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0929, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20141210
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x092a, 4)
+#elif PACKETVER >= 20141008
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x092a, 36)
+#elif PACKETVER >= 20140924
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x092a, 12)
+#elif PACKETVER >= 20140806
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x092a, 36)
+#elif PACKETVER >= 20140319
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20141217
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x092b, 18)
+#elif PACKETVER >= 20141112
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20141029
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x092b, 8)
+#elif PACKETVER >= 20141001
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20140723
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x092c, 26)
+#elif PACKETVER >= 20140709
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x092c, 19)
+#elif PACKETVER >= 20140521
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x092c, 8)
+#elif PACKETVER >= 20140205
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x092c, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20141001
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20140409
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x092d, 90)
+#elif PACKETVER >= 20140122
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20140416
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x092e, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20141126
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20140827
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20140730
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x092f, 19)
+#elif PACKETVER >= 20140716
+packetLen(0x092f, 12)
+#elif PACKETVER >= 20140709
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20140521
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20140129
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20141231
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20140605
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0930, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20140917
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20140716
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20140305
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0931, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20141231
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0932, 8)
+#elif PACKETVER >= 20141217
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20140514
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0932, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20141223
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0933, 26)
+#elif PACKETVER >= 20141126
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0933, 36)
+#elif PACKETVER >= 20140709
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20140702
+packetLen(0x0933, 4)
+#elif PACKETVER >= 20140409
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0933, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20141001
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20140806
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0934, -1)
+#elif PACKETVER >= 20140723
+packetLen(0x0934, 26)
+#elif PACKETVER >= 20140716
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0934, 6)
+#elif PACKETVER >= 20140514
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140508
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20140312
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20140219
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0934, 7)
+#elif PACKETVER >= 20140108
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20140730
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20140625
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0935, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20141223
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20141210
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20141022
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0936, 36)
+#elif PACKETVER >= 20140827
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20140618
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0936, 12)
+#elif PACKETVER >= 20140219
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0936, 4)
+#elif PACKETVER >= 20140115
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20140108
+packetLen(0x0936, 36)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20141008
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0937, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20141126
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0938, 6)
+#elif PACKETVER >= 20140723
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0938, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20140212
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20140205
+packetLen(0x0938, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20141223
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20141008
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20140730
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20140716
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20140226
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20140827
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x093a, 36)
+#elif PACKETVER >= 20140605
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20141029
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x093b, 19)
+#elif PACKETVER >= 20140723
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x093b, 7)
+#elif PACKETVER >= 20140508
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+#if PACKETVER >= 20140730
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x093d, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x093d, 7)
+#elif PACKETVER >= 20140219
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x093d, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20141112
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x093e, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20141008
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x093f, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x093f, 12)
+#elif PACKETVER >= 20140605
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x093f, 26)
+#elif PACKETVER >= 20140409
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x093f, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20141223
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0940, 19)
+#elif PACKETVER >= 20141105
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20141029
+packetLen(0x0940, 7)
+#elif PACKETVER >= 20140806
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0940, 5)
+#elif PACKETVER >= 20140716
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20140702
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20140611
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20140115
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20141126
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20140917
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0941, 36)
+#elif PACKETVER >= 20140618
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0941, 36)
+#elif PACKETVER >= 20140305
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0941, 18)
+#elif PACKETVER >= 20140129
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20141203
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0942, 26)
+#elif PACKETVER >= 20141119
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20141015
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20140416
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0942, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20140319
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20140129
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20141119
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0943, 4)
+#elif PACKETVER >= 20140827
+packetLen(0x0943, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20141223
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20140409
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20140326
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0944, 10)
+#elif PACKETVER >= 20140219
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20141231
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x0945, 90)
+#elif PACKETVER >= 20140917
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140903
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20140730
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0945, 10)
+#elif PACKETVER >= 20140625
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20141231
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20140806
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140730
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20140409
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0946, 7)
+#elif PACKETVER >= 20140326
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20140226
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20141217
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0947, 4)
+#elif PACKETVER >= 20140730
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0947, 7)
+#elif PACKETVER >= 20140716
+packetLen(0x0947, 4)
+#elif PACKETVER >= 20140416
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20140326
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20141223
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0948, 6)
+#elif PACKETVER >= 20141126
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0948, 5)
+#elif PACKETVER >= 20140813
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x0948, 36)
+#elif PACKETVER >= 20140730
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0948, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20141231
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0949, 12)
+#elif PACKETVER >= 20141001
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20140924
+packetLen(0x0949, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x0949, 10)
+#elif PACKETVER >= 20140226
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0949, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20140827
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x094a, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x094a, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20141119
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20141022
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x094b, 26)
+#elif PACKETVER >= 20141008
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20140605
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x094b, 5)
+#elif PACKETVER >= 20140508
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x094b, 19)
+#elif PACKETVER >= 20140319
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x094b, 90)
+#elif PACKETVER >= 20140108
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20141126
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x094c, 4)
+#elif PACKETVER >= 20140611
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x094c, 26)
+#elif PACKETVER >= 20140416
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x094c, 18)
+#elif PACKETVER >= 20140402
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20140326
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x094c, 6)
+#elif PACKETVER >= 20140312
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20140716
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20140205
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x094d, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20141029
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20140716
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140702
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20140219
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20141231
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x094f, 19)
+#elif PACKETVER >= 20141119
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20140924
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x094f, 10)
+#elif PACKETVER >= 20140716
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20140430
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x094f, 12)
+#elif PACKETVER >= 20140108
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20141231
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20141112
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0950, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0950, 18)
+#elif PACKETVER >= 20140409
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0950, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20140924
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0951, 18)
+#elif PACKETVER >= 20140827
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20140618
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20141210
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20141008
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20141001
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20140924
+packetLen(0x0952, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0952, 7)
+#elif PACKETVER >= 20140723
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20140618
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0952, 8)
+#elif PACKETVER >= 20140219
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0952, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0952, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20141231
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0953, 4)
+#elif PACKETVER >= 20140219
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20140212
+packetLen(0x0953, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20141217
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0954, 19)
+#elif PACKETVER >= 20140625
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0954, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0954, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20141217
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20141119
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20141029
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20141022
+packetLen(0x0955, 18)
+#elif PACKETVER >= 20140924
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0955, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20140129
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0955, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20141231
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x0956, 10)
+#elif PACKETVER >= 20140924
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20140827
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20140508
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140430
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20140402
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20141112
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20140924
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0957, 36)
+#elif PACKETVER >= 20140611
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20140129
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x0957, 12)
+#elif PACKETVER >= 20140108
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20141217
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20140827
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0958, 4)
+#elif PACKETVER >= 20140723
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20140618
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0958, 19)
+#elif PACKETVER >= 20140521
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20140409
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20140723
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20140702
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0959, 7)
+#elif PACKETVER >= 20140402
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20141203
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140416
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140402
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20141231
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x095b, 10)
+#elif PACKETVER >= 20141203
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20140122
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x095b, 4)
+#elif PACKETVER >= 20140108
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20141210
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x095c, 6)
+#elif PACKETVER >= 20140924
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20140423
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x095c, 36)
+#elif PACKETVER >= 20140409
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20140326
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20141119
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x095d, 6)
+#elif PACKETVER >= 20140625
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x095d, 6)
+#elif PACKETVER >= 20140319
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20140129
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20140115
+packetLen(0x095d, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20140924
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x095e, 5)
+#elif PACKETVER >= 20140625
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x095e, 19)
+#elif PACKETVER >= 20140430
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140423
+packetLen(0x095e, 4)
+#elif PACKETVER >= 20140416
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140409
+packetLen(0x095e, 19)
+#elif PACKETVER >= 20140319
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20140305
+packetLen(0x095e, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20141231
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20141223
+packetLen(0x095f, 7)
+#elif PACKETVER >= 20141203
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x095f, 8)
+#elif PACKETVER >= 20141112
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x095f, -1)
+#elif PACKETVER >= 20140730
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x095f, 4)
+#elif PACKETVER >= 20140716
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x095f, 18)
+#elif PACKETVER >= 20140605
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20140521
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x095f, 5)
+#elif PACKETVER >= 20140129
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20140122
+packetLen(0x095f, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20141223
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20141217
+packetLen(0x0960, 4)
+#elif PACKETVER >= 20141119
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20140730
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20140723
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20140702
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0960, 36)
+#elif PACKETVER >= 20140108
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20141217
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20140827
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140820
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20140716
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140709
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20140326
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20140226
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140219
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20140205
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20140108
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20141210
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20141203
+packetLen(0x0962, 10)
+#elif PACKETVER >= 20141119
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20141112
+packetLen(0x0962, 10)
+#elif PACKETVER >= 20140625
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20140521
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20140305
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20140108
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20141217
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0963, 36)
+#elif PACKETVER >= 20141126
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20141119
+packetLen(0x0963, 90)
+#elif PACKETVER >= 20140618
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20140605
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0963, 10)
+#elif PACKETVER >= 20140108
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20140605
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20140326
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20140305
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20140108
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20141203
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x0965, 26)
+#elif PACKETVER >= 20140618
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140611
+packetLen(0x0965, 5)
+#elif PACKETVER >= 20140521
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20140409
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140402
+packetLen(0x0965, 12)
+#elif PACKETVER >= 20140122
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0965, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20140924
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140917
+packetLen(0x0966, 4)
+#elif PACKETVER >= 20140605
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140528
+packetLen(0x0966, -1)
+#elif PACKETVER >= 20140319
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140312
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20140122
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x0966, 19)
+#elif PACKETVER >= 20140108
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20141217
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20141022
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20141015
+packetLen(0x0967, 5)
+#elif PACKETVER >= 20140820
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20140813
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20140625
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20140618
+packetLen(0x0967, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20141112
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20141105
+packetLen(0x0968, 18)
+#elif PACKETVER >= 20140702
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0968, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20140521
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20140108
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20140723
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140716
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20140702
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20140402
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140326
+packetLen(0x0969, 10)
+#elif PACKETVER >= 20140305
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20141231
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20141217
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20141210
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20141203
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20141126
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20141105
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20141008
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140917
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140827
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140820
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140806
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140709
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140625
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140611
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140528
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140514
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140508
+packetLen(0x096a, 18)
+// ignored packet from 2014-05-08aRagexeRE
+#elif PACKETVER >= 20140430
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140423
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140416
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140326
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140319
+packetLen(0x096a, -1)
+#elif PACKETVER >= 20140312
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140212
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140129
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20140122
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20140115
+packetLen(0x096a, 18)
+#elif PACKETVER >= 20140108
+packetLen(0x096a, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20140226
+packetLen(0x0990, 62)
+// ignored packet from 2014-02-26bRagexeRE
+#elif PACKETVER >= 20140219
+packetLen(0x0990, 62)
+// ignored packet from 2014-02-19bRagexeRE
+#elif PACKETVER >= 20140129
+packetLen(0x0990, 52)
+#elif PACKETVER >= 20140108
+packetLen(0x0990, 31)
+#endif
+
+// 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, 10)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// Packet: 0x09e7
+#if PACKETVER >= 20140716
+packetLen(0x09e7, 3)
+#elif PACKETVER >= 20140108
+packetLen(0x09e7, 2)
+#endif
+
+// Packet: 0x09e8
+#if PACKETVER >= 20140212
+packetLen(0x09e8, 11)
+#elif PACKETVER >= 20140108
+packetLen(0x09e8, 10)
+#endif
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2)
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11)
+
+// Packet: 0x09eb
+#if PACKETVER >= 20140115
+packetLen(0x09eb, -1)
+#elif PACKETVER >= 20140108
+packetLen(0x09eb, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20140326
+packetLen(0x09f1, 11)
+#elif PACKETVER >= 20140115
+packetLen(0x09f1, 10)
+#endif
+
+// Packet: 0x09f2
+#if PACKETVER >= 20140409
+packetLen(0x09f2, 12)
+#elif PACKETVER >= 20140326
+packetLen(0x09f2, 4)
+#elif PACKETVER >= 20140115
+packetLen(0x09f2, 3)
+#endif
+
+// Packet: 0x09f3
+#if PACKETVER >= 20140326
+packetLen(0x09f3, 11)
+#elif PACKETVER >= 20140305
+packetLen(0x09f3, 10)
+#elif PACKETVER >= 20140115
+packetLen(0x09f3, 15)
+#endif
+
+// Packet: 0x09f4
+#if PACKETVER >= 20140409
+packetLen(0x09f4, 12)
+#elif PACKETVER >= 20140326
+packetLen(0x09f4, 4)
+#elif PACKETVER >= 20140305
+packetLen(0x09f4, 3)
+#elif PACKETVER >= 20140115
+packetLen(0x09f4, 12)
+#endif
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11)
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11)
+
+// Packet: 0x09f7
+packetLen(0x09f7, 75)
+
+// Packet: 0x09f8
+#if PACKETVER >= 20140115
+packetLen(0x09f8, -1)
+#endif
+
+// Packet: 0x09f9
+#if PACKETVER >= 20140122
+packetLen(0x09f9, 143)
+#elif PACKETVER >= 20140115
+packetLen(0x09f9, 131)
+#endif
+
+// Packet: 0x09fa
+#if PACKETVER >= 20140115
+packetLen(0x09fa, -1)
+#endif
+
+// Packet: 0x09fb
+#if PACKETVER >= 20140122
+packetLen(0x09fb, -1)
+#endif
+
+// Packet: 0x09fc
+#if PACKETVER >= 20140122
+packetLen(0x09fc, 6)
+#endif
+
+// Packet: 0x09fd
+#if PACKETVER >= 20140122
+packetLen(0x09fd, -1)
+#endif
+
+// Packet: 0x09fe
+#if PACKETVER >= 20140122
+packetLen(0x09fe, -1)
+#endif
+
+// Packet: 0x09ff
+#if PACKETVER >= 20140122
+packetLen(0x09ff, -1)
+#endif
+
+// Packet: 0x0a00
+#if PACKETVER >= 20140129
+packetLen(0x0a00, 269)
+#endif
+
+// Packet: 0x0a01
+#if PACKETVER >= 20140129
+packetLen(0x0a01, 3)
+#endif
+
+// Packet: 0x0a02
+#if PACKETVER >= 20140212
+packetLen(0x0a02, 4)
+#endif
+
+// Packet: 0x0a03
+#if PACKETVER >= 20140326
+packetLen(0x0a03, 2)
+#elif PACKETVER >= 20140226
+packetLen(0x0a03, 14)
+#endif
+
+// Packet: 0x0a04
+#if PACKETVER >= 20140416
+packetLen(0x0a04, 6)
+#elif PACKETVER >= 20140326
+// removed
+#elif PACKETVER >= 20140226
+packetLen(0x0a04, 11)
+#endif
+
+// Packet: 0x0a05
+#if PACKETVER >= 20141119
+packetLen(0x0a05, 53)
+#elif PACKETVER >= 20141008
+packetLen(0x0a05, 49)
+#elif PACKETVER >= 20140416
+packetLen(0x0a05, 48)
+#elif PACKETVER >= 20140226
+packetLen(0x0a05, 6)
+#endif
+
+// Packet: 0x0a06
+#if PACKETVER >= 20140416
+packetLen(0x0a06, 6)
+#elif PACKETVER >= 20140226
+packetLen(0x0a06, 5)
+#endif
+
+// Packet: 0x0a07
+#if PACKETVER >= 20140521
+packetLen(0x0a07, 9)
+#elif PACKETVER >= 20140416
+packetLen(0x0a07, 7)
+#elif PACKETVER >= 20140326
+packetLen(0x0a07, 6)
+#elif PACKETVER >= 20140305
+packetLen(0x0a07, 4)
+#endif
+
+// Packet: 0x0a08
+#if PACKETVER >= 20140416
+packetLen(0x0a08, 26)
+#elif PACKETVER >= 20140326
+packetLen(0x0a08, 7)
+#elif PACKETVER >= 20140305
+packetLen(0x0a08, 5)
+#endif
+
+// Packet: 0x0a09
+#if PACKETVER >= 20140312
+packetLen(0x0a09, 45)
+#elif PACKETVER >= 20140305
+packetLen(0x0a09, 50)
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20140312
+packetLen(0x0a0a, 47)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0a, 52)
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20140312
+packetLen(0x0a0b, 47)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0b, 52)
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20140312
+packetLen(0x0a0c, 56)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0c, 61)
+#endif
+
+// Packet: 0x0a0d
+#if PACKETVER >= 20140312
+packetLen(0x0a0d, -1)
+#elif PACKETVER >= 20140305
+packetLen(0x0a0d, 4)
+#endif
+
+// Packet: 0x0a0e
+#if PACKETVER >= 20140312
+packetLen(0x0a0e, 14)
+#endif
+
+// Packet: 0x0a0f
+#if PACKETVER >= 20140402
+packetLen(0x0a0f, -1)
+#endif
+
+// Packet: 0x0a10
+#if PACKETVER >= 20140402
+packetLen(0x0a10, -1)
+#endif
+
+// Packet: 0x0a11
+#if PACKETVER >= 20140402
+packetLen(0x0a11, -1)
+#endif
+
+// Packet: 0x0a12
+#if PACKETVER >= 20140416
+packetLen(0x0a12, 27)
+#endif
+
+// Packet: 0x0a13
+#if PACKETVER >= 20140423
+packetLen(0x0a13, 26)
+#elif PACKETVER >= 20140416
+packetLen(0x0a13, 2)
+#endif
+
+// Packet: 0x0a14
+#if PACKETVER >= 20140521
+packetLen(0x0a14, 10)
+#elif PACKETVER >= 20140423
+packetLen(0x0a14, 6)
+#endif
+
+// Packet: 0x0a15
+#if PACKETVER >= 20140508
+packetLen(0x0a15, 12)
+#elif PACKETVER >= 20140430
+packetLen(0x0a15, 11)
+#endif
+
+// Packet: 0x0a16
+#if PACKETVER >= 20140430
+packetLen(0x0a16, 26)
+#endif
+
+// Packet: 0x0a17
+#if PACKETVER >= 20140430
+packetLen(0x0a17, 6)
+#endif
+
+// Packet: 0x0a18
+#if PACKETVER >= 20140611
+packetLen(0x0a18, 14)
+#elif PACKETVER >= 20140605
+packetLen(0x0a18, 2)
+#endif
+
+// Packet: 0x0a19
+#if PACKETVER >= 20140611
+packetLen(0x0a19, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0a19, -1)
+#endif
+
+// Packet: 0x0a1a
+#if PACKETVER >= 20140611
+packetLen(0x0a1a, 23)
+#elif PACKETVER >= 20140605
+packetLen(0x0a1a, 10)
+#endif
+
+// Packet: 0x0a1b
+#if PACKETVER >= 20140605
+packetLen(0x0a1b, 2)
+#endif
+
+// Packet: 0x0a1c
+#if PACKETVER >= 20140611
+packetLen(0x0a1c, -1)
+#elif PACKETVER >= 20140605
+packetLen(0x0a1c, 6)
+#endif
+
+// Packet: 0x0a1d
+#if PACKETVER >= 20140611
+packetLen(0x0a1d, 2)
+#elif PACKETVER >= 20140605
+packetLen(0x0a1d, 14)
+#endif
+
+// Packet: 0x0a1e
+#if PACKETVER >= 20140611
+packetLen(0x0a1e, 3)
+#endif
+
+// Packet: 0x0a1f
+#if PACKETVER >= 20140611
+packetLen(0x0a1f, 2)
+#endif
+
+// Packet: 0x0a20
+#if PACKETVER >= 20140611
+packetLen(0x0a20, 21)
+#endif
+
+// Packet: 0x0a21
+#if PACKETVER >= 20140618
+packetLen(0x0a21, 3)
+#elif PACKETVER >= 20140611
+packetLen(0x0a21, 6)
+#endif
+
+// Packet: 0x0a22
+#if PACKETVER >= 20140618
+packetLen(0x0a22, 5)
+#elif PACKETVER >= 20140611
+packetLen(0x0a22, 3)
+#endif
+
+// Packet: 0x0a23
+#if PACKETVER >= 20140611
+packetLen(0x0a23, -1)
+#endif
+
+// Packet: 0x0a24
+#if PACKETVER >= 20141001
+packetLen(0x0a24, 66)
+#elif PACKETVER >= 20140723
+packetLen(0x0a24, 56)
+#elif PACKETVER >= 20140625
+packetLen(0x0a24, 36)
+#elif PACKETVER >= 20140611
+packetLen(0x0a24, 35)
+#endif
+
+// Packet: 0x0a25
+#if PACKETVER >= 20140611
+packetLen(0x0a25, 6)
+#endif
+
+// Packet: 0x0a26
+#if PACKETVER >= 20140611
+packetLen(0x0a26, 7)
+#endif
+
+// Packet: 0x0a27
+#if PACKETVER >= 20140625
+packetLen(0x0a27, 8)
+#endif
+
+// Packet: 0x0a28
+#if PACKETVER >= 20140625
+packetLen(0x0a28, 3)
+#endif
+
+// Packet: 0x0a29
+#if PACKETVER >= 20140702
+packetLen(0x0a29, 6)
+#endif
+
+// Packet: 0x0a2a
+#if PACKETVER >= 20140702
+packetLen(0x0a2a, 6)
+#endif
+
+// Packet: 0x0a2b
+#if PACKETVER >= 20140723
+packetLen(0x0a2b, 14)
+#endif
+
+// Packet: 0x0a2c
+#if PACKETVER >= 20140723
+packetLen(0x0a2c, 12)
+#endif
+
+// Packet: 0x0a2d
+#if PACKETVER >= 20140820
+packetLen(0x0a2d, -1)
+#endif
+
+// Packet: 0x0a2e
+#if PACKETVER >= 20140827
+packetLen(0x0a2e, 6)
+#endif
+
+// Packet: 0x0a2f
+#if PACKETVER >= 20140827
+packetLen(0x0a2f, 7)
+#endif
+
+// Packet: 0x0a30
+#if PACKETVER >= 20140917
+packetLen(0x0a30, 106)
+#endif
+
+// Packet: 0x0a31
+#if PACKETVER >= 20140917
+packetLen(0x0a31, -1)
+#endif
+
+// Packet: 0x0a32
+#if PACKETVER >= 20140924
+packetLen(0x0a32, 2)
+#endif
+
+// Packet: 0x0a33
+#if PACKETVER >= 20140924
+packetLen(0x0a33, 7)
+#endif
+
+// Packet: 0x0a34
+#if PACKETVER >= 20140924
+packetLen(0x0a34, 6)
+#endif
+
+// Packet: 0x0a35
+#if PACKETVER >= 20141119
+packetLen(0x0a35, 4)
+#endif
+
+// Packet: 0x0a36
+#if PACKETVER >= 20141126
+packetLen(0x0a36, 7)
+#endif
+
+// Packet: 0x0a37
+#if PACKETVER >= 20141126
+packetLen(0x0a37, 57)
+#endif
+
+
+#endif /* COMMON_PACKETS2014_LEN_RE_H */
diff --git a/src/common/packets/packets2015_len_main.h b/src/common/packets/packets2015_len_main.h
new file mode 100644
index 000000000..6aa9098c4
--- /dev/null
+++ b/src/common/packets/packets2015_len_main.h
@@ -0,0 +1,8641 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2015_LEN_MAIN_H
+#define COMMON_PACKETS2015_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 149)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20151209
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0202, 18)
+#elif PACKETVER >= 20151007
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20151001
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150826
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150603
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20150318
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20150225
+packetLen(0x0202, 26)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20151223
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20151209
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20151125
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20151007
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150923
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20150826
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20150805
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150715
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150603
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150429
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150225
+packetLen(0x022d, 5)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150211
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20151209
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20151111
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20151028
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x023b, 19)
+#elif PACKETVER >= 20151007
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150916
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x023b, 7)
+#elif PACKETVER >= 20150902
+packetLen(0x023b, 18)
+#elif PACKETVER >= 20150819
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150729
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x023b, 90)
+#elif PACKETVER >= 20150715
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x023b, 19)
+#elif PACKETVER >= 20150603
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150513
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20150429
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150325
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20150225
+packetLen(0x023b, 36)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150211
+packetLen(0x023b, 4)
+#elif PACKETVER >= 20150204
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150128
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x023b, 2)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20151209
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20151104
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150429
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0281, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x0281, 4)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0281, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20151223
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20151118
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x02c4, -1)
+#elif PACKETVER >= 20151028
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20150715
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x02c4, 90)
+#elif PACKETVER >= 20150520
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20150304
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x02c4, 26)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20151230
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20151111
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x035f, 6)
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20151230
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20151021
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0360, 7)
+#elif PACKETVER >= 20150715
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0360, 26)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20151223
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20151007
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150923
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20150916
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20150819
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150729
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20150429
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150415
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x0361, 5)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20151230
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20151216
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20151209
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20151118
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150902
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0362, 36)
+#elif PACKETVER >= 20150819
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0362, 7)
+#elif PACKETVER >= 20150311
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0362, 6)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150121
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20151209
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20151111
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20151014
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150819
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150701
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150617
+packetLen(0x0363, 36)
+#elif PACKETVER >= 20150603
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150520
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20150507
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20150422
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0363, 6)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150211
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150121
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20151230
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20151216
+packetLen(0x0364, 4)
+#elif PACKETVER >= 20151209
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20151111
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20151014
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150819
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0364, 18)
+#elif PACKETVER >= 20150603
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150429
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x0364, 90)
+#elif PACKETVER >= 20150225
+packetLen(0x0364, 8)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150211
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150121
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20151230
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151223
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151209
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20151202
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151125
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20151118
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20151104
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151014
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150916
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20150819
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150701
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150429
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150401
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0365, 10)
+#elif PACKETVER >= 20150225
+packetLen(0x0365, 8)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150211
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150128
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20150121
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20151230
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20151209
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20151125
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20151021
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20151014
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150923
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150826
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150715
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20150701
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150603
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150520
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150415
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20150311
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0366, 90)
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150211
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150128
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20150909
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20150225
+packetLen(0x0367, 90)
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20151230
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20151021
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150902
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20150805
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0368, 26)
+#elif PACKETVER >= 20150715
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20150701
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20151230
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151216
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151125
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151111
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20151021
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151014
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150916
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0369, 36)
+#elif PACKETVER >= 20150826
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150715
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150701
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150603
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150520
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150311
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0369, 7)
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150211
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150128
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20151230
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20151223
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20151209
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20151111
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20151007
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150902
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0436, 18)
+#elif PACKETVER >= 20150805
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150729
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150617
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20150603
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150429
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20150304
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0436, 19)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150211
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150121
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20151230
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151209
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151125
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151014
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150916
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20150826
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150729
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20150722
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0437, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150610
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0437, 7)
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0437, 12)
+#elif PACKETVER >= 20150204
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20151209
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20151125
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20151014
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150916
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150826
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150729
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20150722
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150610
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150520
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150318
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150211
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150128
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20151216
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20151202
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20150819
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x07e4, 8)
+#elif PACKETVER >= 20150624
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20150225
+packetLen(0x07e4, 2)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150204
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20151230
+packetLen(0x07ec, 90)
+#elif PACKETVER >= 20151216
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20151111
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20151028
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20151021
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20151014
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x07ec, 7)
+#elif PACKETVER >= 20150819
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150701
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150617
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150429
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x07ec, 8)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150211
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150121
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20151230
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20151209
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20151125
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20151118
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20151104
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20151014
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150909
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20150819
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150708
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20150624
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150603
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150429
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150401
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20150225
+packetLen(0x0802, 18)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150211
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20151230
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151216
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151125
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151104
+packetLen(0x0811, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x0811, 26)
+#elif PACKETVER >= 20151001
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20150701
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20150610
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20150311
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20151230
+packetLen(0x0815, 19)
+#elif PACKETVER >= 20151223
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151209
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151125
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151111
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150318
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0815, 19)
+#elif PACKETVER >= 20150225
+packetLen(0x0815, 2)
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20151021
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0817, 26)
+#elif PACKETVER >= 20151001
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0817, 19)
+#elif PACKETVER >= 20150520
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20150422
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20150304
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20151230
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20151209
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20151125
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150902
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150415
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150225
+packetLen(0x0819, 2)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20150923
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0835, 2)
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20151230
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20151209
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20151125
+packetLen(0x0838, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20151014
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20151001
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150916
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150826
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150715
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150701
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150603
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20150520
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150318
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20150225
+packetLen(0x0838, 12)
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150211
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150128
+packetLen(0x0838, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20151230
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20151209
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20151125
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20151014
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150916
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150902
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20150819
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150722
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20150708
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150603
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x083c, 36)
+#elif PACKETVER >= 20150520
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x083c, 12)
+// ignored packet from 2015-02-25iRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150211
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150128
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150114
+packetLen(0x083c, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20151021
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x085a, 10)
+#elif PACKETVER >= 20150513
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20151230
+packetLen(0x085b, -1)
+#elif PACKETVER >= 20151223
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x085b, 36)
+#elif PACKETVER >= 20150909
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x085b, 7)
+#elif PACKETVER >= 20150805
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x085b, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20151021
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x085c, 7)
+#elif PACKETVER >= 20151001
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20151216
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20151118
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x085d, -1)
+#elif PACKETVER >= 20151001
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x085d, 26)
+#elif PACKETVER >= 20150909
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20151216
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20151202
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20150715
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20150422
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x085e, 4)
+#elif PACKETVER >= 20150408
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x085e, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20151202
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x085f, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20151104
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20151021
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0860, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20151230
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20151216
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0861, 4)
+#elif PACKETVER >= 20150902
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20151118
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x0862, 4)
+#elif PACKETVER >= 20150826
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20150325
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20150217
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20151021
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20150909
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20150422
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20151230
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20151216
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20151001
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0864, 5)
+#elif PACKETVER >= 20150610
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20150520
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20150204
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0864, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20151223
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0865, 10)
+#elif PACKETVER >= 20150902
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20150819
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0865, 19)
+#elif PACKETVER >= 20150415
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0865, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20151230
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0866, 19)
+#elif PACKETVER >= 20151216
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20151021
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0867, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20150304
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0867, 18)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20150527
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20150422
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0868, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20150121
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20151230
+packetLen(0x0869, 5)
+#elif PACKETVER >= 20150923
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0869, 7)
+#elif PACKETVER >= 20150729
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20150624
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0869, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20151223
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20151028
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20150624
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x086a, 18)
+#elif PACKETVER >= 20150610
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x086a, 19)
+#elif PACKETVER >= 20150318
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x086a, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20151125
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x086b, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x086b, 10)
+#elif PACKETVER >= 20150624
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x086b, 5)
+#elif PACKETVER >= 20150415
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20150805
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x086c, 7)
+#elif PACKETVER >= 20150318
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x086c, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20150805
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20150708
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x086d, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x086d, -1)
+#elif PACKETVER >= 20150204
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20151230
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20151216
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20150805
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20150415
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20151001
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x086f, 10)
+#elif PACKETVER >= 20150909
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x086f, 10)
+#elif PACKETVER >= 20150805
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20150408
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20150325
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20151223
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20151209
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0870, 36)
+#elif PACKETVER >= 20151001
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0870, 5)
+#elif PACKETVER >= 20150902
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0870, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0870, 36)
+#elif PACKETVER >= 20150610
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20150217
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0870, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0870, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20151118
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0871, 26)
+#elif PACKETVER >= 20150916
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0871, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0871, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20151230
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20150923
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0873, 90)
+#elif PACKETVER >= 20150722
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0873, 7)
+#elif PACKETVER >= 20150325
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0873, 36)
+#elif PACKETVER >= 20150217
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0873, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20151223
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0874, 90)
+#elif PACKETVER >= 20151021
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0874, 10)
+#elif PACKETVER >= 20150204
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20151230
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0875, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20150204
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20151230
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20150923
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0877, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20150729
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0878, 10)
+#elif PACKETVER >= 20150415
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20151001
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0879, 19)
+#elif PACKETVER >= 20150520
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20150311
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0879, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20151216
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x087a, 12)
+#elif PACKETVER >= 20150624
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20150916
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x087b, 18)
+#elif PACKETVER >= 20150902
+packetLen(0x087b, 5)
+#elif PACKETVER >= 20150826
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x087b, 18)
+#elif PACKETVER >= 20150318
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x087b, 18)
+#elif PACKETVER >= 20150217
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20150722
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x087c, 8)
+#elif PACKETVER >= 20150128
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x087c, 4)
+#elif PACKETVER >= 20150114
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x087c, 26)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20150729
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x087d, 12)
+#elif PACKETVER >= 20150204
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20150729
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20150325
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20150311
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x087e, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20151216
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20150909
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x087f, 4)
+#elif PACKETVER >= 20150819
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150812
+packetLen(0x087f, 36)
+#elif PACKETVER >= 20150715
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x087f, 4)
+#elif PACKETVER >= 20150415
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x087f, 90)
+#elif PACKETVER >= 20150217
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x087f, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20150805
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0880, 12)
+#elif PACKETVER >= 20150722
+packetLen(0x0880, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0880, 26)
+#elif PACKETVER >= 20150422
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0880, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20151230
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0881, 7)
+#elif PACKETVER >= 20151021
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0881, 8)
+#elif PACKETVER >= 20150923
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0881, 7)
+#elif PACKETVER >= 20150610
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0881, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20150527
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20151202
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0883, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0883, 18)
+#elif PACKETVER >= 20150401
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0883, 12)
+#elif PACKETVER >= 20150318
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0883, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20151230
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20151202
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0884, 36)
+#elif PACKETVER >= 20151021
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20150603
+packetLen(0x0884, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20151223
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20151202
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20151118
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0885, 7)
+#elif PACKETVER >= 20150617
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20150304
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0885, 4)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20151230
+packetLen(0x0886, 10)
+#elif PACKETVER >= 20151223
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20151111
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20151001
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20150916
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0886, 19)
+#elif PACKETVER >= 20150902
+packetLen(0x0886, 12)
+#elif PACKETVER >= 20150805
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20150624
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0886, 26)
+#elif PACKETVER >= 20150318
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20150217
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20151111
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20150513
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20150826
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20150415
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20151021
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20150513
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20150415
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0889, 36)
+#elif PACKETVER >= 20150325
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20150812
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x088a, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20151223
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x088b, 36)
+#elif PACKETVER >= 20151111
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20151202
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x088c, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20151230
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20151202
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x088d, 19)
+#elif PACKETVER >= 20151111
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20150909
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20150826
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20150729
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x088d, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20151230
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20151216
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20151021
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20151001
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20150422
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20151216
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20150916
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20150617
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20151230
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20151230
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20150902
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20150422
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20151001
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20150909
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0892, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20150708
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0893, 4)
+#elif PACKETVER >= 20150401
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20151216
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20150624
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20150507
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20151001
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0895, 4)
+#elif PACKETVER >= 20150916
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20150722
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20150114
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0895, 36)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20150722
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0896, 90)
+#elif PACKETVER >= 20150318
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0896, 7)
+#elif PACKETVER >= 20150304
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0896, 2)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20151230
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20150617
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20150603
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20151230
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0898, 90)
+#elif PACKETVER >= 20150422
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20151202
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20150909
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0899, 18)
+#elif PACKETVER >= 20150121
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20151021
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x089a, 4)
+#elif PACKETVER >= 20150805
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x089a, 10)
+#elif PACKETVER >= 20150722
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x089a, 12)
+#elif PACKETVER >= 20150311
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20150204
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x089a, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20151001
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x089b, 10)
+#elif PACKETVER >= 20150916
+packetLen(0x089b, 18)
+#elif PACKETVER >= 20150805
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20150304
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x089b, 8)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20151202
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x089c, 7)
+#elif PACKETVER >= 20151118
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20150923
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x089c, 36)
+#elif PACKETVER >= 20150415
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x089c, 36)
+#elif PACKETVER >= 20150325
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20150304
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x089c, 8)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20151223
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x089d, 7)
+#elif PACKETVER >= 20150715
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20150610
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20151223
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20151202
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20151021
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20151001
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x089f, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20151001
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20150902
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a0, 12)
+#elif PACKETVER >= 20150708
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x08a0, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20151216
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20150902
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20150610
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20150401
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20150318
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20151223
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x08a2, 5)
+#elif PACKETVER >= 20151001
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20150527
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20151111
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x08a3, 4)
+#elif PACKETVER >= 20150805
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08a3, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20150902
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20150722
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x08a4, 4)
+#elif PACKETVER >= 20150708
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x08a4, 26)
+#elif PACKETVER >= 20150325
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20150304
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x08a4, 36)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20151111
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20151001
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20150408
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x08a5, 8)
+#elif PACKETVER >= 20150318
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a5, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20151001
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a6, 12)
+#elif PACKETVER >= 20150708
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x08a6, 10)
+#elif PACKETVER >= 20150507
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20150318
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20150401
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x08a7, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20150902
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20150507
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x08a8, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20151223
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20151230
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20151125
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20150121
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20151223
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20150923
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08ac, 26)
+#elif PACKETVER >= 20150722
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20151202
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20150701
+packetLen(0x08ad, 10)
+#elif PACKETVER >= 20150610
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x08ad, 19)
+#elif PACKETVER >= 20150527
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x08ad, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x08ad, 2)
+#endif
+
+// 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, 149)
+
+// 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
+#if PACKETVER >= 20150722
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0917, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20150128
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0918, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20150826
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0919, 8)
+#elif PACKETVER >= 20150729
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0919, 4)
+#elif PACKETVER >= 20150708
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0919, 36)
+#elif PACKETVER >= 20150401
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0919, 36)
+#elif PACKETVER >= 20150217
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0919, 90)
+#elif PACKETVER >= 20150128
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20151230
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20151230
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x091b, 4)
+#elif PACKETVER >= 20150401
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20151021
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x091c, 90)
+#elif PACKETVER >= 20150318
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x091c, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20151230
+packetLen(0x091d, 8)
+#elif PACKETVER >= 20151223
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20151028
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20151014
+packetLen(0x091d, 36)
+#elif PACKETVER >= 20150527
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x091d, 7)
+#elif PACKETVER >= 20150325
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x091d, 8)
+#elif PACKETVER >= 20150128
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20151001
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20150826
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x091e, 36)
+#elif PACKETVER >= 20150415
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x091e, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20150715
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20150204
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20151230
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20151216
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0920, -1)
+#elif PACKETVER >= 20151202
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0920, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20151125
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0921, 26)
+#elif PACKETVER >= 20150729
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0921, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20150610
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0922, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20150408
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20151230
+packetLen(0x0923, 36)
+#elif PACKETVER >= 20151223
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20150909
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0923, 26)
+#elif PACKETVER >= 20150708
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0923, 8)
+#elif PACKETVER >= 20150520
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0923, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20151230
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0924, 26)
+#elif PACKETVER >= 20150902
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0924, 8)
+#elif PACKETVER >= 20150513
+packetLen(0x0924, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x0924, 19)
+#elif PACKETVER >= 20150408
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0924, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20151125
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0925, 19)
+#elif PACKETVER >= 20150729
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0925, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+#if PACKETVER >= 20150826
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0927, 19)
+#elif PACKETVER >= 20150520
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0927, 4)
+#elif PACKETVER >= 20150325
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0927, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20151111
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0928, 5)
+#elif PACKETVER >= 20150916
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0928, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0928, 8)
+#elif PACKETVER >= 20150325
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0928, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20150507
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0929, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20151202
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x092a, 10)
+#elif PACKETVER >= 20150909
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x092a, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x092a, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x092a, 8)
+#elif PACKETVER >= 20150318
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x092a, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20151001
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x092b, 90)
+#elif PACKETVER >= 20150617
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20150527
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x092b, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20150708
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x092c, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x092c, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20151216
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x092d, 8)
+#elif PACKETVER >= 20150909
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x092d, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20150114
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x092d, 5)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20151202
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x092e, 10)
+#elif PACKETVER >= 20151118
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20150902
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x092e, 90)
+#elif PACKETVER >= 20150729
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x092e, 26)
+#elif PACKETVER >= 20150617
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x092e, 4)
+#elif PACKETVER >= 20150513
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20150422
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20150318
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x092e, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20151125
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20150923
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20151216
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0930, 90)
+#elif PACKETVER >= 20151001
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20150527
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0931, 90)
+#elif PACKETVER >= 20150401
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0931, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20151216
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0932, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+packetLen(0x0933, 2)
+
+// Packet: 0x0934
+#if PACKETVER >= 20151021
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0934, -1)
+#elif PACKETVER >= 20150923
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+packetLen(0x0935, 2)
+
+// Packet: 0x0936
+#if PACKETVER >= 20151001
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0936, 90)
+#elif PACKETVER >= 20150916
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0936, 10)
+#elif PACKETVER >= 20150325
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0936, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20150325
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0937, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20150923
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0938, 4)
+#elif PACKETVER >= 20150401
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0938, 5)
+#elif PACKETVER >= 20150318
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20150204
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0938, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20151202
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20151111
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20150408
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0939, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20151230
+packetLen(0x093a, 4)
+#elif PACKETVER >= 20151111
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x093a, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x093a, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x093a, 10)
+#elif PACKETVER >= 20150325
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20150311
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x093a, 18)
+#elif PACKETVER >= 20150204
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x093a, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20151216
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20151001
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x093b, 26)
+#elif PACKETVER >= 20150902
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20150513
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x093b, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20150318
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x093b, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20151125
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x093c, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20150422
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20150729
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x093d, 12)
+#elif PACKETVER >= 20150527
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20150507
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20151202
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20150923
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x093e, 10)
+#elif PACKETVER >= 20150722
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x093e, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x093e, 7)
+#elif PACKETVER >= 20150422
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20151014
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x093f, 5)
+#elif PACKETVER >= 20150805
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x093f, 12)
+#elif PACKETVER >= 20150610
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x093f, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20151111
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0940, 36)
+#elif PACKETVER >= 20151028
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0940, 26)
+#elif PACKETVER >= 20150916
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0940, 8)
+#elif PACKETVER >= 20150617
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20150603
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0940, 12)
+#elif PACKETVER >= 20150520
+packetLen(0x0940, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0940, 26)
+#elif PACKETVER >= 20150304
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0940, 2)
+// ignored packet from 2015-02-25iRagexe
+// ignored packet from 2015-02-25eRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20150923
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0941, 36)
+#elif PACKETVER >= 20150902
+packetLen(0x0941, 5)
+#elif PACKETVER >= 20150701
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20150513
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0941, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20151118
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0942, 18)
+#elif PACKETVER >= 20150923
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20150513
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0942, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20151125
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20150507
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20150318
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20150114
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0943, 5)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20151223
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20151021
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0944, 12)
+#elif PACKETVER >= 20150722
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0944, 26)
+#elif PACKETVER >= 20150217
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20150204
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0944, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20150902
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20151125
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0946, 90)
+#elif PACKETVER >= 20150408
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20150304
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0946, 26)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150121
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0946, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20151223
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0947, 19)
+#elif PACKETVER >= 20150909
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0947, 90)
+#elif PACKETVER >= 20150311
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20150114
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0947, 19)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20151216
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0948, 19)
+#elif PACKETVER >= 20150923
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0948, -1)
+#elif PACKETVER >= 20150304
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0948, 6)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20151230
+packetLen(0x0949, 5)
+#elif PACKETVER >= 20151223
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0949, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0949, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0949, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20151216
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x094a, 18)
+#elif PACKETVER >= 20151118
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20150401
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x094a, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20150408
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x094b, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20150729
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x094c, 10)
+#elif PACKETVER >= 20150325
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20150422
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20151230
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20150624
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x094e, 10)
+#elif PACKETVER >= 20150204
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20150923
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20150909
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x094f, 5)
+#elif PACKETVER >= 20150805
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x094f, 19)
+#elif PACKETVER >= 20150722
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x094f, 18)
+#elif PACKETVER >= 20150304
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x094f, 5)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150107
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20150722
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0950, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20151202
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20151001
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0951, 7)
+#elif PACKETVER >= 20150902
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20150304
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0952, 8)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150204
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20150909
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20150513
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0953, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20151223
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0954, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20150805
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0955, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0955, 5)
+#elif PACKETVER >= 20150513
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0955, 36)
+#elif PACKETVER >= 20150415
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20150304
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0955, 5)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150128
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20150114
+packetLen(0x0955, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20151216
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0956, 90)
+#elif PACKETVER >= 20151202
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0956, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20150708
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0956, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20151202
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20151118
+packetLen(0x0957, 4)
+#elif PACKETVER >= 20150617
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0957, 19)
+#elif PACKETVER >= 20150318
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0957, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20151118
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20150729
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0958, 36)
+#elif PACKETVER >= 20150708
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0958, 7)
+#elif PACKETVER >= 20150520
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20150507
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20150318
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20151202
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0959, 90)
+#elif PACKETVER >= 20150902
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20150415
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0959, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20150923
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20150909
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x095b, 19)
+#elif PACKETVER >= 20150715
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20150318
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20151216
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x095c, 4)
+#elif PACKETVER >= 20151125
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x095c, 18)
+#elif PACKETVER >= 20150422
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x095c, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20150617
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x095d, 12)
+#elif PACKETVER >= 20150311
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20151230
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x095e, 8)
+#elif PACKETVER >= 20150916
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x095e, -1)
+#elif PACKETVER >= 20150415
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x095e, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20151014
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x095f, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x095f, 26)
+#elif PACKETVER >= 20150408
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20151007
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0960, 36)
+#elif PACKETVER >= 20150923
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0960, 18)
+#elif PACKETVER >= 20150610
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0960, 10)
+#elif PACKETVER >= 20150527
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0960, 4)
+#elif PACKETVER >= 20150513
+packetLen(0x0960, -1)
+#elif PACKETVER >= 20150422
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0960, 36)
+#elif PACKETVER >= 20150325
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0960, 18)
+#elif PACKETVER >= 20150311
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0960, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20151216
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0961, 7)
+#elif PACKETVER >= 20151021
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20151007
+packetLen(0x0961, 19)
+#elif PACKETVER >= 20151001
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0961, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20150805
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0961, 36)
+#elif PACKETVER >= 20150722
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0961, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0961, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20150311
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20150916
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20150715
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20150318
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0963, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20151216
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0964, 26)
+#elif PACKETVER >= 20151111
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20150902
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20150617
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0964, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0964, 5)
+#elif PACKETVER >= 20150318
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0964, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20151230
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0965, 36)
+#elif PACKETVER >= 20150722
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0965, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20151223
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0966, 6)
+#elif PACKETVER >= 20151118
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20150701
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0966, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20151230
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0967, 12)
+#elif PACKETVER >= 20151118
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0967, 19)
+#elif PACKETVER >= 20151014
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20150826
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0967, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0967, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20151223
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0968, 10)
+#elif PACKETVER >= 20150902
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0968, 4)
+#elif PACKETVER >= 20150708
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0968, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20151118
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0969, 36)
+#elif PACKETVER >= 20150923
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0969, 19)
+#elif PACKETVER >= 20150902
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0969, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20151230
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x096a, 5)
+#elif PACKETVER >= 20150826
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x096a, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x096a, 18)
+#elif PACKETVER >= 20150422
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x096a, 19)
+// ignored packet from 2015-02-25eRagexe
+// ignored packet from 2015-02-25hRagexe
+#elif PACKETVER >= 20150217
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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, 57)
+
+// Packet: 0x0a38
+#if PACKETVER >= 20150128
+packetLen(0x0a38, 3)
+#endif
+
+// Packet: 0x0a39
+#if PACKETVER >= 20150415
+packetLen(0x0a39, 36)
+#elif PACKETVER >= 20150211
+packetLen(0x0a39, 35)
+#endif
+
+// Packet: 0x0a3a
+#if PACKETVER >= 20150311
+packetLen(0x0a3a, 12)
+#endif
+
+// Packet: 0x0a3b
+#if PACKETVER >= 20150422
+packetLen(0x0a3b, -1)
+#endif
+
+// Packet: 0x0a3c
+#if PACKETVER >= 20150520
+packetLen(0x0a3c, -1)
+#endif
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20150520
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+#if PACKETVER >= 20150603
+packetLen(0x0a3e, -1)
+#endif
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20150624
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+#if PACKETVER >= 20150812
+packetLen(0x0a40, 11)
+#endif
+
+// Packet: 0x0a41
+#if PACKETVER >= 20150909
+packetLen(0x0a41, 18)
+#endif
+
+// Packet: 0x0a42
+#if PACKETVER >= 20150916
+packetLen(0x0a42, 43)
+#endif
+
+// Packet: 0x0a43
+#if PACKETVER >= 20151007
+packetLen(0x0a43, 85)
+#endif
+
+// Packet: 0x0a44
+#if PACKETVER >= 20151007
+packetLen(0x0a44, -1)
+#endif
+
+// Packet: 0x0a45
+#if PACKETVER >= 20151125
+// removed
+#elif PACKETVER >= 20151104
+packetLen(0x0a45, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0a45, -1)
+#endif
+
+// Packet: 0x0a46
+#if PACKETVER >= 20151104
+packetLen(0x0a46, 14)
+#endif
+
+// Packet: 0x0a47
+#if PACKETVER >= 20151104
+packetLen(0x0a47, 3)
+#endif
+
+// Packet: 0x0a48
+#if PACKETVER >= 20151104
+packetLen(0x0a48, 2)
+#endif
+
+// Packet: 0x0a49
+#if PACKETVER >= 20151118
+packetLen(0x0a49, 22)
+#endif
+
+// Packet: 0x0a4a
+#if PACKETVER >= 20151118
+packetLen(0x0a4a, 6)
+#endif
+
+// Packet: 0x0a4b
+#if PACKETVER >= 20151118
+packetLen(0x0a4b, 22)
+#endif
+
+// Packet: 0x0a4c
+#if PACKETVER >= 20151118
+packetLen(0x0a4c, 28)
+#endif
+
+
+#endif /* COMMON_PACKETS2015_LEN_MAIN_H */
diff --git a/src/common/packets/packets2015_len_re.h b/src/common/packets/packets2015_len_re.h
new file mode 100644
index 000000000..2e343a1ea
--- /dev/null
+++ b/src/common/packets/packets2015_len_re.h
@@ -0,0 +1,8562 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2015_LEN_RE_H
+#define COMMON_PACKETS2015_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 149)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20151209
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0202, 18)
+#elif PACKETVER >= 20151007
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20151001
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150826
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150603
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20150318
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20150225
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20151223
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20151209
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20151125
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20151007
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150923
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20150826
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20150805
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150715
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150603
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150429
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150225
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150211
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20151209
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20151111
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20151028
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x023b, 19)
+#elif PACKETVER >= 20151007
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150916
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x023b, 7)
+#elif PACKETVER >= 20150902
+packetLen(0x023b, 18)
+#elif PACKETVER >= 20150819
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150729
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x023b, 90)
+#elif PACKETVER >= 20150715
+packetLen(0x023b, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x023b, 19)
+#elif PACKETVER >= 20150603
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150513
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20150429
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150325
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20150225
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150211
+packetLen(0x023b, 4)
+#elif PACKETVER >= 20150204
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20150128
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x023b, 2)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20151209
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20151104
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150429
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0281, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0281, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20151223
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20151118
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x02c4, -1)
+#elif PACKETVER >= 20151028
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20150715
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x02c4, 90)
+#elif PACKETVER >= 20150520
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20150304
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20151230
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20151111
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20151230
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20151021
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0360, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0360, 7)
+#elif PACKETVER >= 20150715
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0360, 26)
+#elif PACKETVER >= 20150217
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20151223
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20151007
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150923
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20150916
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20150819
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150729
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20150429
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150415
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20151230
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20151216
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20151209
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20151118
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150902
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0362, 36)
+#elif PACKETVER >= 20150819
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0362, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0362, 7)
+#elif PACKETVER >= 20150311
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20150121
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20151209
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20151111
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20151014
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150819
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150701
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150617
+packetLen(0x0363, 36)
+#elif PACKETVER >= 20150603
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150520
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20150507
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20150422
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150211
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20150121
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20151230
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20151216
+packetLen(0x0364, 4)
+#elif PACKETVER >= 20151209
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20151111
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20151014
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150819
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0364, 18)
+#elif PACKETVER >= 20150603
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150429
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x0364, 90)
+#elif PACKETVER >= 20150225
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150211
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20150121
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20151230
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151223
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151209
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20151202
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151125
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20151118
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20151104
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20151014
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150916
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20150819
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150701
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0365, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150429
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150401
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0365, 10)
+#elif PACKETVER >= 20150225
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150211
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20150128
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20150121
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20151230
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20151209
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20151125
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20151021
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20151014
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150923
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150826
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150715
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20150701
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150603
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150520
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150415
+packetLen(0x0366, 5)
+#elif PACKETVER >= 20150311
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150211
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20150128
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20150909
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20151230
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20151021
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150902
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20150805
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0368, 26)
+#elif PACKETVER >= 20150715
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20150701
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x0368, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x0368, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20151230
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151216
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151125
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151111
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20151021
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20151014
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150916
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0369, 36)
+#elif PACKETVER >= 20150826
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150715
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150701
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150603
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150520
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150311
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150211
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20150128
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20151230
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20151223
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0436, 12)
+#elif PACKETVER >= 20151209
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20151111
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20151007
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150902
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0436, 18)
+#elif PACKETVER >= 20150805
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150729
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150617
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20150603
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150429
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20150304
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150211
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20150121
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0436, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20151230
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151209
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151125
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151104
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20151014
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150916
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20150826
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150729
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20150722
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0437, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150610
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0437, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0437, 12)
+#elif PACKETVER >= 20150204
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20151209
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20151125
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20151014
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150916
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150826
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150729
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20150722
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150610
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150520
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150318
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150211
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20150128
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20151216
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20151202
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20150819
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x07e4, 8)
+#elif PACKETVER >= 20150624
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20150225
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20151230
+packetLen(0x07ec, 90)
+#elif PACKETVER >= 20151216
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20151111
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x07ec, 26)
+#elif PACKETVER >= 20151028
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20151021
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20151014
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x07ec, 7)
+#elif PACKETVER >= 20150819
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150701
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150617
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150429
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150211
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20150121
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20151230
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20151209
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20151125
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20151118
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20151104
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20151014
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150909
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0802, 36)
+#elif PACKETVER >= 20150819
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150708
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20150624
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150603
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150429
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150401
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0802, 4)
+#elif PACKETVER >= 20150225
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150211
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20151230
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151216
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0811, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151125
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151104
+packetLen(0x0811, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x0811, 26)
+#elif PACKETVER >= 20151001
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20150701
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20150610
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20150311
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20151230
+packetLen(0x0815, 19)
+#elif PACKETVER >= 20151223
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151209
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151125
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151111
+packetLen(0x0815, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150603
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150318
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0815, 19)
+#elif PACKETVER >= 20150217
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20151021
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0817, 26)
+#elif PACKETVER >= 20151001
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0817, 19)
+#elif PACKETVER >= 20150520
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0817, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20150422
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20150304
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20151230
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20151209
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20151125
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20151014
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150902
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150415
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0819, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150225
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150211
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20150923
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0835, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20151230
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20151209
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20151125
+packetLen(0x0838, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20151014
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20151001
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150916
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150826
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150715
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150701
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150603
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20150520
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150318
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20150217
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150211
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20150128
+packetLen(0x0838, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20151230
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20151209
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20151125
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20151014
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150916
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150902
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20150819
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150722
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20150708
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150701
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150603
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x083c, 36)
+#elif PACKETVER >= 20150520
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150211
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150128
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20150114
+packetLen(0x083c, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20151021
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x085a, 10)
+#elif PACKETVER >= 20150513
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20151230
+packetLen(0x085b, -1)
+#elif PACKETVER >= 20151223
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x085b, 36)
+#elif PACKETVER >= 20150909
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x085b, 7)
+#elif PACKETVER >= 20150805
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20150225
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20150217
+packetLen(0x085b, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20151021
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x085c, 7)
+#elif PACKETVER >= 20151001
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20151216
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20151118
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x085d, -1)
+#elif PACKETVER >= 20151001
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x085d, 26)
+#elif PACKETVER >= 20150909
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x085d, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20151216
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20151202
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20150715
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20150422
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x085e, 4)
+#elif PACKETVER >= 20150408
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x085e, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20151202
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x085f, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20151104
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0860, 36)
+#elif PACKETVER >= 20151021
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0860, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20151230
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20151216
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20150916
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0861, 4)
+#elif PACKETVER >= 20150902
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0861, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20151118
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x0862, 4)
+#elif PACKETVER >= 20150826
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20150325
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20150217
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20151021
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20150909
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20150422
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0863, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20151230
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20151216
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20151001
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0864, 5)
+#elif PACKETVER >= 20150610
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20150520
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20150204
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0864, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20151223
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0865, 10)
+#elif PACKETVER >= 20150902
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20150819
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0865, 19)
+#elif PACKETVER >= 20150415
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0865, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20151230
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0866, 19)
+#elif PACKETVER >= 20151216
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20151021
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0867, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20150304
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0867, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20150527
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20150422
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0868, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20150121
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20151230
+packetLen(0x0869, 5)
+#elif PACKETVER >= 20150923
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0869, 7)
+#elif PACKETVER >= 20150729
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20150624
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0869, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20151223
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20151028
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20150624
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x086a, 18)
+#elif PACKETVER >= 20150610
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x086a, 19)
+#elif PACKETVER >= 20150318
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x086a, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20151125
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x086b, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x086b, 10)
+#elif PACKETVER >= 20150624
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x086b, 5)
+#elif PACKETVER >= 20150415
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20150805
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x086c, 7)
+#elif PACKETVER >= 20150318
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x086c, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20150805
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20150708
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x086d, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x086d, -1)
+#elif PACKETVER >= 20150204
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20151230
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20151216
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20150805
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20150415
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20151001
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x086f, 10)
+#elif PACKETVER >= 20150909
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x086f, 10)
+#elif PACKETVER >= 20150805
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20150408
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20150325
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20151223
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20151209
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x0870, 36)
+#elif PACKETVER >= 20151001
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0870, 5)
+#elif PACKETVER >= 20150902
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0870, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0870, 36)
+#elif PACKETVER >= 20150610
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20150217
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0870, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0870, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20151118
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0871, 26)
+#elif PACKETVER >= 20150916
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0871, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0871, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20151230
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20151021
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20150923
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0873, 90)
+#elif PACKETVER >= 20150722
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0873, 7)
+#elif PACKETVER >= 20150325
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0873, 36)
+#elif PACKETVER >= 20150217
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0873, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20151223
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0874, 90)
+#elif PACKETVER >= 20151021
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0874, 10)
+#elif PACKETVER >= 20150204
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20151230
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0875, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20150204
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20151230
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20150923
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0877, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20150603
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20150729
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0878, 10)
+#elif PACKETVER >= 20150415
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20151001
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0879, 19)
+#elif PACKETVER >= 20150520
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20150311
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0879, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20151216
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x087a, 12)
+#elif PACKETVER >= 20150624
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20150916
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x087b, 18)
+#elif PACKETVER >= 20150902
+packetLen(0x087b, 5)
+#elif PACKETVER >= 20150826
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x087b, 18)
+#elif PACKETVER >= 20150318
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x087b, 18)
+#elif PACKETVER >= 20150217
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20150722
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x087c, 8)
+#elif PACKETVER >= 20150128
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x087c, 4)
+#elif PACKETVER >= 20150114
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x087c, 26)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20150729
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x087d, 12)
+#elif PACKETVER >= 20150204
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20150729
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20150325
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20150311
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x087e, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20151216
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20150909
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x087f, 4)
+#elif PACKETVER >= 20150819
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150812
+packetLen(0x087f, 36)
+#elif PACKETVER >= 20150715
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x087f, 4)
+#elif PACKETVER >= 20150415
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x087f, 90)
+#elif PACKETVER >= 20150217
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x087f, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x087f, 2)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20150805
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0880, 12)
+#elif PACKETVER >= 20150722
+packetLen(0x0880, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0880, 26)
+#elif PACKETVER >= 20150422
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0880, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20151230
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0881, 7)
+#elif PACKETVER >= 20151021
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0881, 8)
+#elif PACKETVER >= 20150923
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0881, 7)
+#elif PACKETVER >= 20150610
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0881, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20150527
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20151202
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0883, 5)
+#elif PACKETVER >= 20151021
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20150520
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0883, 18)
+#elif PACKETVER >= 20150401
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0883, 12)
+#elif PACKETVER >= 20150318
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0883, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20151230
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20151202
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0884, 36)
+#elif PACKETVER >= 20151021
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20150603
+packetLen(0x0884, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20151223
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0885, 36)
+#elif PACKETVER >= 20151202
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20151118
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0885, 7)
+#elif PACKETVER >= 20150617
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0885, 10)
+#elif PACKETVER >= 20150304
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0885, 4)
+#elif PACKETVER >= 20150217
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20151230
+packetLen(0x0886, 10)
+#elif PACKETVER >= 20151223
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20151111
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20151001
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20150916
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0886, 19)
+#elif PACKETVER >= 20150902
+packetLen(0x0886, 12)
+#elif PACKETVER >= 20150805
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20150624
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0886, 26)
+#elif PACKETVER >= 20150318
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20150217
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20151111
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20150513
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0887, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20150826
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20150415
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20151021
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20150513
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0889, 18)
+#elif PACKETVER >= 20150415
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0889, 36)
+#elif PACKETVER >= 20150325
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0889, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20150812
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x088a, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20151223
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x088b, 36)
+#elif PACKETVER >= 20151111
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20151202
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x088c, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x088c, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20151230
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20151202
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x088d, 19)
+#elif PACKETVER >= 20151111
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20150909
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20150826
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20150729
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x088d, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20151230
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20151216
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20151021
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20151001
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20150422
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20151216
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20150916
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x088f, 26)
+#elif PACKETVER >= 20150617
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20151230
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20151230
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20150902
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20150422
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20151001
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20150909
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20150311
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0892, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20150708
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0893, 4)
+#elif PACKETVER >= 20150401
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20151216
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20150624
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20150507
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20151001
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0895, 4)
+#elif PACKETVER >= 20150916
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20150722
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20150114
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0895, 36)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20150722
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0896, 90)
+#elif PACKETVER >= 20150318
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0896, 7)
+#elif PACKETVER >= 20150304
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20151230
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0897, 8)
+#elif PACKETVER >= 20150722
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20150617
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0897, 26)
+#elif PACKETVER >= 20150603
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20151230
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0898, 90)
+#elif PACKETVER >= 20150422
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x0898, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20151202
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20150909
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0899, 18)
+#elif PACKETVER >= 20150121
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20151021
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x089a, 4)
+#elif PACKETVER >= 20150805
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x089a, 10)
+#elif PACKETVER >= 20150722
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x089a, 12)
+#elif PACKETVER >= 20150311
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20150204
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x089a, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20151001
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x089b, 10)
+#elif PACKETVER >= 20150916
+packetLen(0x089b, 18)
+#elif PACKETVER >= 20150805
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20150304
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20151202
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x089c, 7)
+#elif PACKETVER >= 20151118
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20150923
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x089c, 36)
+#elif PACKETVER >= 20150415
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x089c, 36)
+#elif PACKETVER >= 20150325
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20150304
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x089c, 8)
+#elif PACKETVER >= 20150217
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20151223
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x089d, 7)
+#elif PACKETVER >= 20150715
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20150610
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20151223
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x089e, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20151202
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20151021
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x089f, 5)
+#elif PACKETVER >= 20151001
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x089f, 8)
+#elif PACKETVER >= 20150507
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20151001
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20150902
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a0, 12)
+#elif PACKETVER >= 20150708
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x08a0, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x08a0, -1)
+#elif PACKETVER >= 20150217
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20151216
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20150902
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a1, 8)
+#elif PACKETVER >= 20150610
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20150401
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20150318
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a1, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20151223
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x08a2, 5)
+#elif PACKETVER >= 20151001
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20150527
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20151111
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x08a3, 4)
+#elif PACKETVER >= 20150805
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08a3, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20150902
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20150722
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x08a4, 4)
+#elif PACKETVER >= 20150708
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x08a4, 26)
+#elif PACKETVER >= 20150325
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20150304
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x08a4, 36)
+#elif PACKETVER >= 20150217
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20151111
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20151001
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20150701
+packetLen(0x08a5, 26)
+#elif PACKETVER >= 20150408
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x08a5, 8)
+#elif PACKETVER >= 20150318
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a5, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20151001
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x08a6, 12)
+#elif PACKETVER >= 20150708
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x08a6, 10)
+#elif PACKETVER >= 20150507
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20150318
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20150401
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x08a7, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20150902
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20150729
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20150520
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20150507
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x08a8, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20151223
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20151202
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20150909
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20151230
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x08aa, 7)
+#elif PACKETVER >= 20150107
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20151125
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20150121
+packetLen(0x08ab, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20151223
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20150923
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08ac, 26)
+#elif PACKETVER >= 20150722
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20151202
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20150701
+packetLen(0x08ad, 10)
+#elif PACKETVER >= 20150610
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x08ad, 19)
+#elif PACKETVER >= 20150527
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x08ad, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x08ad, 2)
+#endif
+
+// 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, 149)
+
+// 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
+#if PACKETVER >= 20150722
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0917, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20150128
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0918, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20150826
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0919, 8)
+#elif PACKETVER >= 20150729
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0919, 4)
+#elif PACKETVER >= 20150708
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0919, 36)
+#elif PACKETVER >= 20150401
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0919, 36)
+#elif PACKETVER >= 20150217
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0919, 90)
+#elif PACKETVER >= 20150128
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20151230
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20151230
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x091b, 4)
+#elif PACKETVER >= 20150401
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20151021
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x091c, 90)
+#elif PACKETVER >= 20150318
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x091c, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20151230
+packetLen(0x091d, 8)
+#elif PACKETVER >= 20151223
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20151028
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20151014
+packetLen(0x091d, 36)
+#elif PACKETVER >= 20150527
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x091d, 7)
+#elif PACKETVER >= 20150325
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x091d, 8)
+#elif PACKETVER >= 20150128
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20151001
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20150826
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x091e, 36)
+#elif PACKETVER >= 20150415
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x091e, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20150715
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20150204
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20151230
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0920, 5)
+#elif PACKETVER >= 20151216
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0920, -1)
+#elif PACKETVER >= 20151202
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0920, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20151125
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0921, 26)
+#elif PACKETVER >= 20150729
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0921, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20150610
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0922, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20150408
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20151230
+packetLen(0x0923, 36)
+#elif PACKETVER >= 20151223
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20150909
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0923, 26)
+#elif PACKETVER >= 20150708
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0923, 8)
+#elif PACKETVER >= 20150520
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0923, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20151230
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20150923
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0924, 26)
+#elif PACKETVER >= 20150902
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0924, 8)
+#elif PACKETVER >= 20150513
+packetLen(0x0924, 5)
+#elif PACKETVER >= 20150507
+packetLen(0x0924, 19)
+#elif PACKETVER >= 20150408
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0924, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20151125
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0925, 19)
+#elif PACKETVER >= 20150729
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0925, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+#if PACKETVER >= 20150826
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0927, 19)
+#elif PACKETVER >= 20150520
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0927, 4)
+#elif PACKETVER >= 20150325
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0927, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20151111
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0928, 5)
+#elif PACKETVER >= 20150916
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0928, 8)
+#elif PACKETVER >= 20150902
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0928, 8)
+#elif PACKETVER >= 20150325
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0928, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x0928, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20150507
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0929, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20151202
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x092a, 10)
+#elif PACKETVER >= 20150909
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x092a, 5)
+#elif PACKETVER >= 20150715
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x092a, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x092a, 8)
+#elif PACKETVER >= 20150318
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x092a, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20151001
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x092b, 90)
+#elif PACKETVER >= 20150617
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20150527
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x092b, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20150708
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x092c, 5)
+#elif PACKETVER >= 20150617
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x092c, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20151216
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x092d, 8)
+#elif PACKETVER >= 20150909
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x092d, 26)
+#elif PACKETVER >= 20150610
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20150114
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x092d, 5)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20151202
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x092e, 10)
+#elif PACKETVER >= 20151118
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20150902
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x092e, 90)
+#elif PACKETVER >= 20150729
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x092e, 26)
+#elif PACKETVER >= 20150617
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x092e, 4)
+#elif PACKETVER >= 20150513
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20150422
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20150318
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x092e, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20151125
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x092f, 8)
+#elif PACKETVER >= 20150923
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20151216
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0930, 90)
+#elif PACKETVER >= 20151001
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20150527
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0931, 90)
+#elif PACKETVER >= 20150401
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0931, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20151216
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0932, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+packetLen(0x0933, 2)
+
+// Packet: 0x0934
+#if PACKETVER >= 20151021
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0934, -1)
+#elif PACKETVER >= 20150923
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+packetLen(0x0935, 2)
+
+// Packet: 0x0936
+#if PACKETVER >= 20151001
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0936, 90)
+#elif PACKETVER >= 20150916
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0936, 10)
+#elif PACKETVER >= 20150325
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0936, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20150325
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0937, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20150923
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0938, 4)
+#elif PACKETVER >= 20150401
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0938, 5)
+#elif PACKETVER >= 20150318
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20150204
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0938, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20151202
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20151111
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20150408
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0939, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20151230
+packetLen(0x093a, 4)
+#elif PACKETVER >= 20151111
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x093a, -1)
+#elif PACKETVER >= 20150805
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x093a, 6)
+#elif PACKETVER >= 20150408
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x093a, 10)
+#elif PACKETVER >= 20150325
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20150311
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x093a, 18)
+#elif PACKETVER >= 20150204
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x093a, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20151216
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20151001
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x093b, 26)
+#elif PACKETVER >= 20150902
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20150513
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x093b, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20150318
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x093b, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20151125
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x093c, -1)
+#elif PACKETVER >= 20150715
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20150422
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20150729
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x093d, 12)
+#elif PACKETVER >= 20150527
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20150507
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20151202
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20150923
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x093e, 10)
+#elif PACKETVER >= 20150722
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x093e, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x093e, 7)
+#elif PACKETVER >= 20150422
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x093e, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20151014
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x093f, 5)
+#elif PACKETVER >= 20150805
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x093f, 12)
+#elif PACKETVER >= 20150610
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x093f, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20151111
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0940, 36)
+#elif PACKETVER >= 20151028
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x0940, 26)
+#elif PACKETVER >= 20150916
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0940, 8)
+#elif PACKETVER >= 20150617
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20150603
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150527
+packetLen(0x0940, 12)
+#elif PACKETVER >= 20150520
+packetLen(0x0940, 8)
+#elif PACKETVER >= 20150401
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0940, 26)
+#elif PACKETVER >= 20150304
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20150923
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0941, 36)
+#elif PACKETVER >= 20150902
+packetLen(0x0941, 5)
+#elif PACKETVER >= 20150701
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20150513
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0941, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20151118
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0942, 18)
+#elif PACKETVER >= 20150923
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20150513
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0942, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20151125
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20150507
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20150429
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20150318
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20150114
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0943, 5)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20151223
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20151021
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0944, 12)
+#elif PACKETVER >= 20150722
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0944, 26)
+#elif PACKETVER >= 20150217
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20150204
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0944, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20150902
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20151125
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20150617
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0946, 90)
+#elif PACKETVER >= 20150408
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20150318
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20150304
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0946, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20151223
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0947, 19)
+#elif PACKETVER >= 20150909
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0947, 90)
+#elif PACKETVER >= 20150311
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20150114
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x0947, 19)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20151216
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0948, 19)
+#elif PACKETVER >= 20150923
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0948, -1)
+#elif PACKETVER >= 20150304
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0948, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20151230
+packetLen(0x0949, 5)
+#elif PACKETVER >= 20151223
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0949, -1)
+#elif PACKETVER >= 20150617
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0949, 10)
+#elif PACKETVER >= 20150408
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0949, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20151216
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x094a, 18)
+#elif PACKETVER >= 20151118
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20150401
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x094a, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20150408
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x094b, 10)
+#elif PACKETVER >= 20150107
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20150729
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x094c, 10)
+#elif PACKETVER >= 20150325
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20150422
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20151230
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20150708
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20150624
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20150527
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x094e, 10)
+#elif PACKETVER >= 20150204
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20150923
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20150909
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x094f, 6)
+#elif PACKETVER >= 20150826
+packetLen(0x094f, 5)
+#elif PACKETVER >= 20150805
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x094f, 19)
+#elif PACKETVER >= 20150722
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20150415
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x094f, 18)
+#elif PACKETVER >= 20150304
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x094f, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20150722
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0950, 6)
+#elif PACKETVER >= 20150401
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0950, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20151202
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20151001
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150923
+packetLen(0x0951, 7)
+#elif PACKETVER >= 20150902
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20150729
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20150325
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0951, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0951, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20150304
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0952, 8)
+#elif PACKETVER >= 20150204
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20150909
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20150513
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0953, 36)
+#elif PACKETVER >= 20150422
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20150408
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20151223
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0954, -1)
+#elif PACKETVER >= 20150708
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20150401
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20150805
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0955, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0955, 5)
+#elif PACKETVER >= 20150513
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150507
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20150429
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150422
+packetLen(0x0955, 36)
+#elif PACKETVER >= 20150415
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0955, 6)
+#elif PACKETVER >= 20150304
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150225
+packetLen(0x0955, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20150114
+packetLen(0x0955, 4)
+#elif PACKETVER >= 20150107
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20151216
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0956, 90)
+#elif PACKETVER >= 20151202
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0956, 26)
+#elif PACKETVER >= 20151021
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20150722
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0956, 36)
+#elif PACKETVER >= 20150708
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0956, 90)
+#elif PACKETVER >= 20150107
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20151202
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20151118
+packetLen(0x0957, 4)
+#elif PACKETVER >= 20150617
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20150415
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0957, 19)
+#elif PACKETVER >= 20150318
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0957, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20150114
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20151118
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20150729
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150722
+packetLen(0x0958, 36)
+#elif PACKETVER >= 20150708
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0958, 7)
+#elif PACKETVER >= 20150520
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150513
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20150507
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20150318
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20150217
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20150211
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20151202
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20151125
+packetLen(0x0959, 90)
+#elif PACKETVER >= 20150902
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20150415
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20150325
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0959, -1)
+#elif PACKETVER >= 20150128
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0959, 19)
+#elif PACKETVER >= 20150107
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20150923
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20150909
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150902
+packetLen(0x095b, 19)
+#elif PACKETVER >= 20150715
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20150527
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20150318
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x095b, -1)
+#elif PACKETVER >= 20150107
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20151216
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x095c, 4)
+#elif PACKETVER >= 20151125
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20151118
+packetLen(0x095c, 18)
+#elif PACKETVER >= 20150422
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x095c, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20150617
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x095d, 12)
+#elif PACKETVER >= 20150311
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20151230
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x095e, 8)
+#elif PACKETVER >= 20150916
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x095e, 6)
+#elif PACKETVER >= 20150805
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x095e, -1)
+#elif PACKETVER >= 20150415
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20150408
+packetLen(0x095e, 12)
+#elif PACKETVER >= 20150107
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20151014
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x095f, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x095f, 26)
+#elif PACKETVER >= 20150408
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20151007
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x0960, 36)
+#elif PACKETVER >= 20150923
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0960, 5)
+#elif PACKETVER >= 20150708
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0960, 18)
+#elif PACKETVER >= 20150610
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0960, 10)
+#elif PACKETVER >= 20150527
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0960, 4)
+#elif PACKETVER >= 20150513
+packetLen(0x0960, -1)
+#elif PACKETVER >= 20150422
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0960, 36)
+#elif PACKETVER >= 20150325
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150318
+packetLen(0x0960, 18)
+#elif PACKETVER >= 20150311
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0960, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20151216
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0961, 7)
+#elif PACKETVER >= 20151021
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20151007
+packetLen(0x0961, 19)
+#elif PACKETVER >= 20151001
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0961, -1)
+#elif PACKETVER >= 20150826
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20150805
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150729
+packetLen(0x0961, 36)
+#elif PACKETVER >= 20150722
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0961, 8)
+#elif PACKETVER >= 20150527
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150520
+packetLen(0x0961, 8)
+#elif PACKETVER >= 20150422
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150415
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20150311
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20150107
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20150916
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20150715
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20150318
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20150204
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0963, 26)
+#elif PACKETVER >= 20150121
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20151216
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20151209
+packetLen(0x0964, 26)
+#elif PACKETVER >= 20151111
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20151104
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20151021
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20151014
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20150902
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20150617
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150610
+packetLen(0x0964, 5)
+#elif PACKETVER >= 20150408
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150401
+packetLen(0x0964, 5)
+#elif PACKETVER >= 20150318
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20150311
+packetLen(0x0964, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20151230
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0965, 36)
+#elif PACKETVER >= 20150722
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20150715
+packetLen(0x0965, 18)
+#elif PACKETVER >= 20150107
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20151223
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0966, 6)
+#elif PACKETVER >= 20151118
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20150701
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20150624
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20150211
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x0966, 36)
+#elif PACKETVER >= 20150107
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20151230
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20151223
+packetLen(0x0967, 12)
+#elif PACKETVER >= 20151118
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0967, 19)
+#elif PACKETVER >= 20151014
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20151007
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20150826
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20150819
+packetLen(0x0967, 5)
+#elif PACKETVER >= 20150128
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20150121
+packetLen(0x0967, 26)
+#elif PACKETVER >= 20150107
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20151223
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20151216
+packetLen(0x0968, 10)
+#elif PACKETVER >= 20150902
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0968, 4)
+#elif PACKETVER >= 20150708
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20150701
+packetLen(0x0968, 5)
+#elif PACKETVER >= 20150204
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20150128
+packetLen(0x0968, 6)
+#elif PACKETVER >= 20150107
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20151118
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x0969, 36)
+#elif PACKETVER >= 20150923
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150916
+packetLen(0x0969, 19)
+#elif PACKETVER >= 20150902
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150826
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20150610
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20150401
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20150325
+packetLen(0x0969, 8)
+#elif PACKETVER >= 20150107
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20151230
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151209
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151202
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151125
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151111
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151104
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151021
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20151014
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20151001
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150916
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150909
+packetLen(0x096a, 5)
+#elif PACKETVER >= 20150826
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150805
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150715
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150708
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150701
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150617
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150610
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150603
+packetLen(0x096a, 5)
+#elif PACKETVER >= 20150527
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150520
+packetLen(0x096a, 18)
+#elif PACKETVER >= 20150422
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150311
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150304
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150225
+packetLen(0x096a, 19)
+#elif PACKETVER >= 20150217
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150211
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150204
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20150128
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20150107
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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, 57)
+
+// Packet: 0x0a38
+#if PACKETVER >= 20150128
+packetLen(0x0a38, 3)
+#endif
+
+// Packet: 0x0a39
+#if PACKETVER >= 20150415
+packetLen(0x0a39, 36)
+#elif PACKETVER >= 20150211
+packetLen(0x0a39, 35)
+#endif
+
+// Packet: 0x0a3a
+#if PACKETVER >= 20150311
+packetLen(0x0a3a, 12)
+#endif
+
+// Packet: 0x0a3b
+#if PACKETVER >= 20150422
+packetLen(0x0a3b, -1)
+#endif
+
+// Packet: 0x0a3c
+#if PACKETVER >= 20150520
+packetLen(0x0a3c, -1)
+#endif
+
+// Packet: 0x0a3d
+#if PACKETVER >= 20150520
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+#if PACKETVER >= 20150603
+packetLen(0x0a3e, -1)
+#endif
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20150624
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+#if PACKETVER >= 20150812
+packetLen(0x0a40, 11)
+#endif
+
+// Packet: 0x0a41
+#if PACKETVER >= 20150909
+packetLen(0x0a41, 18)
+#endif
+
+// Packet: 0x0a42
+#if PACKETVER >= 20150916
+packetLen(0x0a42, 43)
+#endif
+
+// Packet: 0x0a43
+#if PACKETVER >= 20151007
+packetLen(0x0a43, 85)
+#endif
+
+// Packet: 0x0a44
+#if PACKETVER >= 20151007
+packetLen(0x0a44, -1)
+#endif
+
+// Packet: 0x0a45
+#if PACKETVER >= 20151125
+// removed
+#elif PACKETVER >= 20151104
+packetLen(0x0a45, 2)
+#elif PACKETVER >= 20151028
+packetLen(0x0a45, -1)
+#endif
+
+// Packet: 0x0a46
+#if PACKETVER >= 20151104
+packetLen(0x0a46, 14)
+#endif
+
+// Packet: 0x0a47
+#if PACKETVER >= 20151104
+packetLen(0x0a47, 3)
+#endif
+
+// Packet: 0x0a48
+#if PACKETVER >= 20151104
+packetLen(0x0a48, 2)
+#endif
+
+// Packet: 0x0a49
+#if PACKETVER >= 20151118
+packetLen(0x0a49, 22)
+#endif
+
+// Packet: 0x0a4a
+#if PACKETVER >= 20151118
+packetLen(0x0a4a, 6)
+#endif
+
+// Packet: 0x0a4b
+#if PACKETVER >= 20151118
+packetLen(0x0a4b, 22)
+#endif
+
+// Packet: 0x0a4c
+#if PACKETVER >= 20151118
+packetLen(0x0a4c, 28)
+#endif
+
+
+#endif /* COMMON_PACKETS2015_LEN_RE_H */
diff --git a/src/common/packets/packets2016_len_main.h b/src/common/packets/packets2016_len_main.h
new file mode 100644
index 000000000..daae397de
--- /dev/null
+++ b/src/common/packets/packets2016_len_main.h
@@ -0,0 +1,9134 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2016_LEN_MAIN_H
+#define COMMON_PACKETS2016_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 149)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20161012
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20160928
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160913
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160831
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160803
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20160511
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160323
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20160211
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20160127
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20161221
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160913
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160831
+packetLen(0x022d, 90)
+#elif PACKETVER >= 20160824
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160720
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x022d, 36)
+#elif PACKETVER >= 20160706
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20160615
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160420
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20160323
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160309
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20160217
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160203
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20161214
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160913
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160831
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20160629
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20160504
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160323
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x023b, 18)
+#elif PACKETVER >= 20160127
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160113
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x023b, 2)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20161221
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20161207
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20160525
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160323
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0281, 2)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20161221
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20161116
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x02c4, 18)
+#elif PACKETVER >= 20160615
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x02c4, 18)
+#elif PACKETVER >= 20160601
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20160427
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20161228
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x035f, 18)
+#elif PACKETVER >= 20161026
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x035f, 4)
+#elif PACKETVER >= 20160622
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20160414
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160302
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160203
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x035f, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20161221
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20161214
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0361, 19)
+#elif PACKETVER >= 20161130
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160913
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20160907
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160831
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160817
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0361, 36)
+#elif PACKETVER >= 20160629
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20160504
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160323
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160309
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20160211
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20160127
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20161228
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20161221
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20161207
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20161116
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20160720
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20160713
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160525
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20160323
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160203
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0362, 2)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20161207
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0363, 36)
+#elif PACKETVER >= 20161019
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160928
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160913
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160831
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160803
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20160720
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20160713
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20160525
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160504
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20160427
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160420
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20160323
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160203
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0363, 2)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20161221
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20161207
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20161012
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160913
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160831
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160817
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0364, 19)
+#elif PACKETVER >= 20160720
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20160525
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160504
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20160323
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20160302
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20160217
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160203
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0364, 2)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20161207
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20161116
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20161012
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160913
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160831
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160727
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0365, 7)
+#elif PACKETVER >= 20160525
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160504
+packetLen(0x0365, 4)
+#elif PACKETVER >= 20160427
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160406
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20160323
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20160316
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160224
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20160211
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20160203
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x0365, 2)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20161228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20161116
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20161005
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160913
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160831
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160629
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160608
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160504
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160330
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160302
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160217
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160113
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20161109
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0367, 4)
+#elif PACKETVER >= 20160309
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20161221
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20160928
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160302
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20161221
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0369, 19)
+#elif PACKETVER >= 20161207
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20161123
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20161012
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20160928
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160913
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160831
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160622
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160504
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160406
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160302
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160113
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20161221
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20161109
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20161005
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20160921
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160913
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160831
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160803
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0436, 90)
+#elif PACKETVER >= 20160713
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20160525
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160504
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160323
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160203
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20160120
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0436, 2)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20161221
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160913
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160831
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160817
+packetLen(0x0437, 26)
+#elif PACKETVER >= 20160629
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160615
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0437, 19)
+#elif PACKETVER >= 20160511
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160504
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160406
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160217
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160113
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20161228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20161102
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20161019
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160928
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160913
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160831
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160803
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160504
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160302
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160217
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160113
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20161207
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20160629
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20160525
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160323
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160203
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x07e4, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20161207
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20161012
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160913
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160831
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160803
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20160525
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160504
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160323
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160203
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160113
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x07ec, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20161207
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20161019
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160928
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160913
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160831
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160615
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20160525
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160504
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160323
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20160217
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160203
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0802, 2)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20161221
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20161005
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20160921
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0811, 4)
+#elif PACKETVER >= 20160608
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160217
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20161221
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160217
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20161228
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20160921
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20160608
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0817, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20161221
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0819, 4)
+#elif PACKETVER >= 20161130
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x0819, 26)
+#elif PACKETVER >= 20160928
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x0819, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160427
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20160414
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x0819, 10)
+#elif PACKETVER >= 20160302
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160217
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20160120
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20161123
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20160504
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0835, 36)
+#elif PACKETVER >= 20160211
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20161221
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20161109
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20161012
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0838, 36)
+#elif PACKETVER >= 20160928
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160913
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160831
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160817
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20160727
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20160713
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160504
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160406
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160309
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20160302
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160217
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160113
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20161221
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20161109
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x083c, 18)
+#elif PACKETVER >= 20161026
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160928
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160913
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160831
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160817
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160504
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160309
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20160302
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160113
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20161228
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20161221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20161102
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x085a, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x085a, 18)
+#elif PACKETVER >= 20160316
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20161228
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x085b, 90)
+#elif PACKETVER >= 20161019
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x085b, 4)
+#elif PACKETVER >= 20160921
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x085b, 12)
+#elif PACKETVER >= 20160309
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x085b, 26)
+#elif PACKETVER >= 20160120
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20161130
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x085c, 90)
+#elif PACKETVER >= 20160824
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x085c, 90)
+#elif PACKETVER >= 20160615
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x085c, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20160817
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x085d, 12)
+#elif PACKETVER >= 20160803
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20161228
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20161116
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x085e, 90)
+#elif PACKETVER >= 20160817
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20160518
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160127
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20161123
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x085f, 10)
+#elif PACKETVER >= 20161026
+packetLen(0x085f, 7)
+#elif PACKETVER >= 20160817
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x085f, 18)
+#elif PACKETVER >= 20160713
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x085f, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x085f, 7)
+#elif PACKETVER >= 20160316
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x085f, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20160817
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0860, 7)
+#elif PACKETVER >= 20160629
+packetLen(0x0860, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20161130
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0861, 5)
+#elif PACKETVER >= 20161102
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20160706
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0861, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0861, 6)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20161221
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0862, 26)
+#elif PACKETVER >= 20161102
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0862, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20161019
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0863, 7)
+#elif PACKETVER >= 20161005
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20160608
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20161123
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20161005
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20160427
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20160309
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20160224
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20161228
+packetLen(0x0865, 90)
+#elif PACKETVER >= 20161116
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0865, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20160720
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0865, 4)
+#elif PACKETVER >= 20160309
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20160127
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0865, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20161228
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20160803
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0866, 4)
+#elif PACKETVER >= 20160622
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20161214
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20160824
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0867, 12)
+#elif PACKETVER >= 20160706
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0867, 36)
+#elif PACKETVER >= 20160622
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20160406
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20160323
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20161214
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20161019
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0868, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20161109
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20160803
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0869, 12)
+#elif PACKETVER >= 20160720
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20160414
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20160330
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20161228
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20161116
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x086a, 7)
+#elif PACKETVER >= 20160601
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x086a, 19)
+#elif PACKETVER >= 20160330
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x086a, 6)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20160824
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20160511
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x086b, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20161228
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20161102
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x086c, 12)
+#elif PACKETVER >= 20160525
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x086c, 5)
+#elif PACKETVER >= 20160217
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x086c, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20160113
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x086c, 4)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20161228
+packetLen(0x086d, 19)
+#elif PACKETVER >= 20161221
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x086d, 26)
+#elif PACKETVER >= 20161116
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x086d, 10)
+#elif PACKETVER >= 20161019
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x086d, 19)
+#elif PACKETVER >= 20161005
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x086d, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20161102
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x086e, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20161130
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20160817
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20161228
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20161116
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0870, 19)
+#elif PACKETVER >= 20160907
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0870, 18)
+#elif PACKETVER >= 20160622
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0870, 4)
+#elif PACKETVER >= 20160608
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0870, 8)
+#elif PACKETVER >= 20160427
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0870, 4)
+#elif PACKETVER >= 20160224
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20161228
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0871, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20161019
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20161005
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160427
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160330
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0872, 36)
+#elif PACKETVER >= 20160211
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20160316
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20160302
+packetLen(0x0873, 12)
+#elif PACKETVER >= 20160224
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0873, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0873, 36)
+#elif PACKETVER >= 20160120
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0873, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20161109
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0874, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20160525
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x0874, 19)
+#elif PACKETVER >= 20160427
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20161214
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20161019
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0875, 19)
+#elif PACKETVER >= 20160810
+packetLen(0x0875, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20161228
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0876, 12)
+#elif PACKETVER >= 20161116
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0876, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20160803
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0877, 18)
+#elif PACKETVER >= 20160720
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0877, 10)
+#elif PACKETVER >= 20160414
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20161005
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0878, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0878, 7)
+#elif PACKETVER >= 20160810
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0878, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20160330
+packetLen(0x0878, 8)
+#elif PACKETVER >= 20160323
+packetLen(0x0878, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0878, 36)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20160921
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0879, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20161116
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x087a, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20160817
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x087a, 5)
+#elif PACKETVER >= 20160420
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x087a, 10)
+#elif PACKETVER >= 20160224
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x087a, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x087a, 18)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20160720
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20161102
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x087c, 4)
+#elif PACKETVER >= 20160907
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x087c, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20160622
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20160608
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x087d, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20161214
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x087e, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20161228
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20161130
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x087f, 26)
+#elif PACKETVER >= 20161102
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x087f, 10)
+#elif PACKETVER >= 20161005
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20160824
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x087f, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x087f, 90)
+#elif PACKETVER >= 20160406
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x087f, 8)
+#elif PACKETVER >= 20160113
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x087f, 19)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20161130
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0880, 36)
+#elif PACKETVER >= 20161019
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0880, 10)
+#elif PACKETVER >= 20160629
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0880, -1)
+#elif PACKETVER >= 20160420
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0880, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20161228
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0881, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0881, 8)
+#elif PACKETVER >= 20160810
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0881, 18)
+#elif PACKETVER >= 20160706
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0881, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20161130
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20160803
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0883, 7)
+#elif PACKETVER >= 20160720
+packetLen(0x0883, 10)
+#elif PACKETVER >= 20160713
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20160330
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0883, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0883, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20161228
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20160713
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0884, 26)
+#elif PACKETVER >= 20160622
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20160427
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0884, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20161228
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20161123
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0885, 19)
+#elif PACKETVER >= 20160706
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20160615
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20160420
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20160302
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0885, 8)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20161228
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20161214
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0886, 7)
+#elif PACKETVER >= 20161109
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0886, 90)
+#elif PACKETVER >= 20161026
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0886, 7)
+#elif PACKETVER >= 20160810
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20160713
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0886, 4)
+#elif PACKETVER >= 20160511
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20161221
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20160921
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20160720
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20160511
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20160817
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0888, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x0888, 90)
+#elif PACKETVER >= 20160622
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0888, 10)
+#elif PACKETVER >= 20160427
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20160302
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20160217
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0888, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20161228
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0889, 36)
+#elif PACKETVER >= 20161005
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0889, 19)
+#elif PACKETVER >= 20160921
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20160113
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0889, 5)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20160622
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x088a, 26)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20161130
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20160427
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20160406
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20161228
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20160211
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x088c, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20161123
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x088d, 18)
+#elif PACKETVER >= 20160622
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20160608
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x088d, 4)
+#elif PACKETVER >= 20160224
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20161116
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x088e, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20160928
+packetLen(0x088e, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20160803
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20160706
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20161207
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x088f, 4)
+#elif PACKETVER >= 20161123
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x088f, 19)
+#elif PACKETVER >= 20161109
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20160608
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20160224
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20161228
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20161123
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20161109
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20161116
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0891, 12)
+#elif PACKETVER >= 20161102
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20160810
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20160113
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0891, 8)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20161123
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0892, 4)
+#elif PACKETVER >= 20161012
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0892, 18)
+#elif PACKETVER >= 20160921
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20160720
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0892, 12)
+#elif PACKETVER >= 20160706
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20160414
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0892, 90)
+#elif PACKETVER >= 20160120
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20161228
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0893, 7)
+#elif PACKETVER >= 20161019
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20160706
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20160120
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20161102
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20160518
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0894, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20161221
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20160810
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20160608
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20160414
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20160330
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20161005
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0897, 90)
+#elif PACKETVER >= 20160727
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20161116
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20161102
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0898, 26)
+#elif PACKETVER >= 20160622
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0898, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20161228
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0899, 4)
+#elif PACKETVER >= 20161214
+packetLen(0x0899, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0899, 10)
+#elif PACKETVER >= 20160615
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0899, 4)
+#elif PACKETVER >= 20160120
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20161228
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20161116
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x089a, 7)
+#elif PACKETVER >= 20160727
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20160629
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x089a, 18)
+#elif PACKETVER >= 20160525
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20160330
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x089a, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20161228
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x089b, 7)
+#elif PACKETVER >= 20161012
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x089b, 5)
+#elif PACKETVER >= 20160518
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x089b, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20161130
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20161012
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20160921
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x089c, 36)
+#elif PACKETVER >= 20160824
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20160601
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20161116
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20160727
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20160629
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x089e, 7)
+#elif PACKETVER >= 20160420
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20160406
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20161228
+packetLen(0x089f, 8)
+#elif PACKETVER >= 20161116
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x089f, 4)
+#elif PACKETVER >= 20161102
+packetLen(0x089f, 26)
+#elif PACKETVER >= 20160817
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20160803
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20160720
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x089f, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20161019
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20161005
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20160727
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x08a0, 12)
+#elif PACKETVER >= 20160224
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a0, 26)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20161214
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x08a1, -1)
+#elif PACKETVER >= 20160414
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20161228
+packetLen(0x08a2, 10)
+#elif PACKETVER >= 20161214
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08a2, 18)
+#elif PACKETVER >= 20161109
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20161005
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20160803
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20160720
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20160629
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20161228
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20160803
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20160706
+packetLen(0x08a4, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20161228
+packetLen(0x08a5, 18)
+#elif PACKETVER >= 20160921
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20160824
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08a5, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x08a5, 19)
+#elif PACKETVER >= 20160427
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x08a5, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20161221
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x08a6, 18)
+#elif PACKETVER >= 20160824
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20160615
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20161116
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20160803
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20160608
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x08a7, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20160907
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20160713
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20160629
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20161130
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20161005
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20160907
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20160525
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20161228
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08aa, 12)
+#elif PACKETVER >= 20161109
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20160120
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20161228
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20160824
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20161228
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20160824
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08ac, 10)
+#elif PACKETVER >= 20160608
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20160414
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x08ac, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20161228
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20161214
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x08ad, 2)
+#endif
+
+// 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, 149)
+
+// 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
+#if PACKETVER >= 20160907
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0917, 36)
+#elif PACKETVER >= 20160727
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0917, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20161214
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0918, 18)
+#elif PACKETVER >= 20160713
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0918, 90)
+#elif PACKETVER >= 20160518
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0918, 5)
+#elif PACKETVER >= 20160504
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0918, 4)
+#elif PACKETVER >= 20160406
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0918, 8)
+#elif PACKETVER >= 20160211
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0918, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20161012
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0919, 12)
+#elif PACKETVER >= 20160106
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20161130
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x091a, 19)
+#elif PACKETVER >= 20160817
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20160309
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20161109
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x091b, 36)
+#elif PACKETVER >= 20161026
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x091b, 4)
+#elif PACKETVER >= 20160817
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20160330
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x091b, 4)
+#elif PACKETVER >= 20160120
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20161228
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20160913
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x091c, 36)
+#elif PACKETVER >= 20160817
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x091c, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x091c, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20161214
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x091d, 8)
+#elif PACKETVER >= 20160720
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x091d, 36)
+#elif PACKETVER >= 20160316
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20160113
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x091d, -1)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20161012
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20160928
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x091e, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+#if PACKETVER >= 20161123
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0920, 90)
+#elif PACKETVER >= 20160518
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0920, 19)
+#elif PACKETVER >= 20160316
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0920, 8)
+#elif PACKETVER >= 20160302
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0920, 4)
+#elif PACKETVER >= 20160217
+packetLen(0x0920, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20160720
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0921, 90)
+#elif PACKETVER >= 20160511
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0921, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20161109
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0922, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0922, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20160323
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0922, 36)
+#elif PACKETVER >= 20160309
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160127
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+#if PACKETVER >= 20160713
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0924, 10)
+#elif PACKETVER >= 20160608
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0924, 4)
+#elif PACKETVER >= 20160511
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0924, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20161123
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0925, 10)
+#elif PACKETVER >= 20161109
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0925, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0925, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20161228
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0926, 26)
+#elif PACKETVER >= 20161130
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0926, 19)
+#elif PACKETVER >= 20161102
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0926, 4)
+#elif PACKETVER >= 20160713
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x0926, 26)
+#elif PACKETVER >= 20160330
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0926, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20161116
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20161005
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0927, 10)
+#elif PACKETVER >= 20160420
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0927, 36)
+#elif PACKETVER >= 20160406
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20160330
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0927, 18)
+#elif PACKETVER >= 20160309
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20161228
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20160525
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x0928, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20161228
+packetLen(0x0929, 10)
+#elif PACKETVER >= 20160824
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0929, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0929, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0929, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0929, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20161130
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x092a, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x092a, 26)
+#elif PACKETVER >= 20160406
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x092a, -1)
+#elif PACKETVER >= 20160316
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x092a, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20161012
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20161102
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20160907
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x092c, 26)
+#elif PACKETVER >= 20160720
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x092c, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x092c, 18)
+#elif PACKETVER >= 20160406
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x092c, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20161019
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x092d, 10)
+#elif PACKETVER >= 20160824
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x092d, 90)
+#elif PACKETVER >= 20160810
+packetLen(0x092d, 8)
+#elif PACKETVER >= 20160713
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20160309
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x092d, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20161228
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x092e, 18)
+#elif PACKETVER >= 20161214
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20161102
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20160907
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x092e, 12)
+#elif PACKETVER >= 20160803
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x092e, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20161130
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20160629
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20160427
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x092f, 18)
+#elif PACKETVER >= 20160309
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x092f, 90)
+#elif PACKETVER >= 20160224
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20161228
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20161102
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0930, 12)
+#elif PACKETVER >= 20160406
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20161207
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0931, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0931, 26)
+#elif PACKETVER >= 20160720
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0931, 10)
+#elif PACKETVER >= 20160420
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20161012
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0932, 12)
+#elif PACKETVER >= 20160810
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0932, 10)
+#elif PACKETVER >= 20160316
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0932, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0932, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20160414
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0933, 5)
+#elif PACKETVER >= 20160330
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0933, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20161228
+packetLen(0x0934, 26)
+#elif PACKETVER >= 20160831
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0934, 36)
+#elif PACKETVER >= 20160810
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0934, 7)
+#elif PACKETVER >= 20160420
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20160406
+packetLen(0x0934, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20161228
+packetLen(0x0935, 8)
+#elif PACKETVER >= 20160921
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0935, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0935, 90)
+#elif PACKETVER >= 20160427
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20161019
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0936, 19)
+#elif PACKETVER >= 20160302
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0936, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20161116
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0937, 26)
+#elif PACKETVER >= 20161019
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0937, 10)
+#elif PACKETVER >= 20160629
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0937, 12)
+#elif PACKETVER >= 20160601
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20161228
+packetLen(0x0938, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0938, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20161019
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20160720
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0939, 26)
+#elif PACKETVER >= 20160706
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20160406
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20160921
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20160907
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20161012
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x093b, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x093b, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x093b, 4)
+#elif PACKETVER >= 20160406
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x093b, 26)
+#elif PACKETVER >= 20160224
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20161123
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x093c, -1)
+#elif PACKETVER >= 20161109
+packetLen(0x093c, 36)
+#elif PACKETVER >= 20160824
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20160330
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20161228
+packetLen(0x093d, 7)
+#elif PACKETVER >= 20161221
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x093d, 5)
+#elif PACKETVER >= 20160713
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x093d, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20160810
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x093e, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160706
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x093e, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160224
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160211
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x093e, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20161116
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x093f, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20160518
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0940, 36)
+#elif PACKETVER >= 20160504
+packetLen(0x0940, 19)
+#elif PACKETVER >= 20160427
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20160414
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20160211
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0940, 5)
+#elif PACKETVER >= 20160113
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0940, 8)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20161130
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0941, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20161012
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20161228
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0943, 10)
+#elif PACKETVER >= 20161214
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0943, 4)
+#elif PACKETVER >= 20161130
+packetLen(0x0943, 19)
+#elif PACKETVER >= 20161019
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0943, 18)
+#elif PACKETVER >= 20160817
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20161228
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20161019
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0944, 8)
+#elif PACKETVER >= 20161005
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20160713
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0944, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20161012
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20160720
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0945, 7)
+#elif PACKETVER >= 20160706
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0945, 26)
+#elif PACKETVER >= 20160420
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0945, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20161228
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0946, 10)
+#elif PACKETVER >= 20161109
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20161026
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20160907
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20160720
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20160211
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20160706
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0948, 5)
+#elif PACKETVER >= 20160622
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0948, 7)
+#elif PACKETVER >= 20160511
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0948, 12)
+#elif PACKETVER >= 20160106
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20161109
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0949, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0949, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0949, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0949, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20161123
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x094a, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x094a, 36)
+#elif PACKETVER >= 20160913
+packetLen(0x094a, 90)
+#elif PACKETVER >= 20160907
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20160622
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x094a, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x094a, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20161228
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20161102
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x094b, 8)
+#elif PACKETVER >= 20160622
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20160713
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x094c, 36)
+#elif PACKETVER >= 20160302
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x094c, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20161130
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x094d, 10)
+#elif PACKETVER >= 20161012
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x094d, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20161005
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20160601
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20160427
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x094e, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x094e, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20161130
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x094f, -1)
+#elif PACKETVER >= 20161019
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160907
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x094f, 7)
+#elif PACKETVER >= 20160224
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20160921
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0950, 7)
+#elif PACKETVER >= 20160907
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0950, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0950, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20161019
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0951, 90)
+#elif PACKETVER >= 20160803
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0951, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0951, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20161012
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0952, 4)
+#elif PACKETVER >= 20160921
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0952, 19)
+#elif PACKETVER >= 20160810
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0952, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20161102
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20161005
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20160727
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20160420
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20160406
+packetLen(0x0953, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20161207
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0954, 36)
+#elif PACKETVER >= 20161116
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0954, 10)
+#elif PACKETVER >= 20160921
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20160907
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0954, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0954, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20161005
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0955, 18)
+#elif PACKETVER >= 20160810
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20161116
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20160601
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20161123
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0957, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0957, 18)
+#elif PACKETVER >= 20160720
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0957, 12)
+#elif PACKETVER >= 20160622
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0957, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20160713
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20160608
+packetLen(0x0958, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20161207
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0959, 26)
+#elif PACKETVER >= 20160810
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20160629
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20161228
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20161012
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x095a, 4)
+#elif PACKETVER >= 20160810
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x095a, 26)
+#elif PACKETVER >= 20160706
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x095a, 7)
+#elif PACKETVER >= 20160309
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20160211
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20160127
+packetLen(0x095a, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20161130
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x095b, 7)
+#elif PACKETVER >= 20161116
+packetLen(0x095b, 36)
+#elif PACKETVER >= 20161012
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x095b, 19)
+#elif PACKETVER >= 20160817
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x095b, 7)
+#elif PACKETVER >= 20160727
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x095b, 18)
+#elif PACKETVER >= 20160713
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20161102
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20161019
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20160622
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x095c, 18)
+#elif PACKETVER >= 20160427
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20161214
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x095d, 36)
+#elif PACKETVER >= 20161123
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x095d, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20161109
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x095e, 12)
+#elif PACKETVER >= 20161026
+packetLen(0x095e, 90)
+#elif PACKETVER >= 20160907
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x095e, 8)
+#elif PACKETVER >= 20160622
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x095e, -1)
+#elif PACKETVER >= 20160316
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x095e, 12)
+#elif PACKETVER >= 20160224
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x095e, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20160803
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x095f, -1)
+#elif PACKETVER >= 20160608
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x095f, 36)
+#elif PACKETVER >= 20160414
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x095f, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20160907
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20160622
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0961, 12)
+#elif PACKETVER >= 20160608
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20160309
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20160224
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160127
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20161130
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20161019
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0962, 10)
+#elif PACKETVER >= 20160921
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0962, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0962, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20161026
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0963, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0963, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20161228
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20161109
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0964, -1)
+#elif PACKETVER >= 20160907
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0964, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20161228
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0965, 5)
+#elif PACKETVER >= 20161214
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0965, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0965, 10)
+#elif PACKETVER >= 20160629
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0965, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20161109
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0966, 6)
+#elif PACKETVER >= 20161019
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0966, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20161123
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20161019
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20161005
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20160907
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20160817
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20160706
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0968, 10)
+#elif PACKETVER >= 20160309
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0968, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20160803
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20160720
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20160706
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0969, 36)
+#elif PACKETVER >= 20160224
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20161221
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x096a, -1)
+#elif PACKETVER >= 20160706
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160302
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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
+#if PACKETVER >= 20160921
+packetLen(0x0a37, 59)
+#elif PACKETVER >= 20160106
+packetLen(0x0a37, 57)
+#endif
+
+// 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, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// 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
+#if PACKETVER >= 20160127
+packetLen(0x0a4d, -1)
+#endif
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20160302
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+#if PACKETVER >= 20160302
+packetLen(0x0a4f, -1)
+#endif
+
+// Packet: 0x0a50
+#if PACKETVER >= 20160427
+packetLen(0x0a50, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0a50, 6)
+#endif
+
+// Packet: 0x0a51
+#if PACKETVER >= 20160302
+packetLen(0x0a51, 34)
+#endif
+
+// Packet: 0x0a52
+#if PACKETVER >= 20160316
+packetLen(0x0a52, 20)
+#endif
+
+// Packet: 0x0a53
+#if PACKETVER >= 20160316
+packetLen(0x0a53, 10)
+#endif
+
+// Packet: 0x0a54
+#if PACKETVER >= 20160316
+packetLen(0x0a54, -1)
+#endif
+
+// Packet: 0x0a55
+#if PACKETVER >= 20160316
+packetLen(0x0a55, 2)
+#endif
+
+// Packet: 0x0a56
+#if PACKETVER >= 20160316
+packetLen(0x0a56, 6)
+#endif
+
+// Packet: 0x0a57
+#if PACKETVER >= 20160316
+packetLen(0x0a57, 6)
+#endif
+
+// Packet: 0x0a58
+#if PACKETVER >= 20160316
+packetLen(0x0a58, 8)
+#endif
+
+// Packet: 0x0a59
+#if PACKETVER >= 20160316
+packetLen(0x0a59, -1)
+#endif
+
+// Packet: 0x0a5a
+#if PACKETVER >= 20160316
+packetLen(0x0a5a, 2)
+#endif
+
+// Packet: 0x0a5b
+#if PACKETVER >= 20160316
+packetLen(0x0a5b, 7)
+#endif
+
+// Packet: 0x0a5c
+#if PACKETVER >= 20160316
+packetLen(0x0a5c, 18)
+#endif
+
+// Packet: 0x0a5d
+#if PACKETVER >= 20160316
+packetLen(0x0a5d, 6)
+#endif
+
+// Packet: 0x0a68
+#if PACKETVER >= 20160323
+packetLen(0x0a68, 3)
+#endif
+
+// Packet: 0x0a69
+#if PACKETVER >= 20160323
+packetLen(0x0a69, 6)
+#endif
+
+// Packet: 0x0a6a
+#if PACKETVER >= 20160323
+packetLen(0x0a6a, 12)
+#endif
+
+// Packet: 0x0a6b
+#if PACKETVER >= 20160323
+packetLen(0x0a6b, -1)
+#endif
+
+// Packet: 0x0a6c
+#if PACKETVER >= 20160330
+packetLen(0x0a6c, 7)
+#endif
+
+// Packet: 0x0a6d
+#if PACKETVER >= 20160330
+packetLen(0x0a6d, -1)
+#endif
+
+// Packet: 0x0a6e
+#if PACKETVER >= 20160330
+packetLen(0x0a6e, -1)
+#endif
+
+// Packet: 0x0a6f
+#if PACKETVER >= 20160330
+packetLen(0x0a6f, -1)
+#endif
+
+// Packet: 0x0a70
+#if PACKETVER >= 20160504
+packetLen(0x0a70, 2)
+#endif
+
+// Packet: 0x0a71
+#if PACKETVER >= 20160504
+packetLen(0x0a71, -1)
+#endif
+
+// Packet: 0x0a72
+#if PACKETVER >= 20160504
+packetLen(0x0a72, 61)
+#endif
+
+// Packet: 0x0a73
+#if PACKETVER >= 20160518
+packetLen(0x0a73, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0a73, 6)
+#endif
+
+// Packet: 0x0a74
+#if PACKETVER >= 20160511
+packetLen(0x0a74, 8)
+#endif
+
+// Packet: 0x0a76
+#if PACKETVER >= 20160518
+packetLen(0x0a76, 80)
+#endif
+
+// Packet: 0x0a77
+#if PACKETVER >= 20160525
+packetLen(0x0a77, 15)
+#endif
+
+// Packet: 0x0a78
+#if PACKETVER >= 20160525
+packetLen(0x0a78, 15)
+#endif
+
+// Packet: 0x0a79
+#if PACKETVER >= 20160601
+packetLen(0x0a79, -1)
+#endif
+
+// Packet: 0x0a7b
+#if PACKETVER >= 20160601
+packetLen(0x0a7b, -1)
+#endif
+
+// Packet: 0x0a7c
+#if PACKETVER >= 20160601
+packetLen(0x0a7c, -1)
+#endif
+
+// Packet: 0x0a7d
+#if PACKETVER >= 20160601
+packetLen(0x0a7d, -1)
+#endif
+
+// Packet: 0x0a7e
+#if PACKETVER >= 20160706
+packetLen(0x0a7e, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0a7e, 4)
+#endif
+
+// Packet: 0x0a7f
+#if PACKETVER >= 20160615
+packetLen(0x0a7f, -1)
+#endif
+
+// Packet: 0x0a80
+#if PACKETVER >= 20160629
+packetLen(0x0a80, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0a80, 2)
+#endif
+
+// Packet: 0x0a81
+#if PACKETVER >= 20160803
+packetLen(0x0a81, 4)
+#elif PACKETVER >= 20160706
+packetLen(0x0a81, 3)
+#elif PACKETVER >= 20160622
+// removed
+#elif PACKETVER >= 20160615
+packetLen(0x0a81, 3)
+#endif
+
+// Packet: 0x0a82
+#if PACKETVER >= 20160622
+packetLen(0x0a82, 46)
+#endif
+
+// Packet: 0x0a83
+#if PACKETVER >= 20160622
+packetLen(0x0a83, 46)
+#endif
+
+// Packet: 0x0a84
+#if PACKETVER >= 20160622
+packetLen(0x0a84, 94)
+#endif
+
+// Packet: 0x0a85
+#if PACKETVER >= 20160622
+packetLen(0x0a85, 82)
+#endif
+
+// Packet: 0x0a86
+#if PACKETVER >= 20160622
+packetLen(0x0a86, -1)
+#endif
+
+// Packet: 0x0a87
+#if PACKETVER >= 20160713
+packetLen(0x0a87, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0a87, 4)
+#endif
+
+// Packet: 0x0a88
+#if PACKETVER >= 20160622
+packetLen(0x0a88, 2)
+#endif
+
+// Packet: 0x0a89
+#if PACKETVER >= 20160706
+packetLen(0x0a89, 57)
+#elif PACKETVER >= 20160629
+packetLen(0x0a89, 32)
+#endif
+
+// Packet: 0x0a8a
+#if PACKETVER >= 20160629
+packetLen(0x0a8a, 6)
+#endif
+
+// Packet: 0x0a8b
+#if PACKETVER >= 20160629
+packetLen(0x0a8b, 2)
+#endif
+
+// Packet: 0x0a8c
+#if PACKETVER >= 20160629
+packetLen(0x0a8c, 2)
+#endif
+
+// Packet: 0x0a8d
+#if PACKETVER >= 20160629
+packetLen(0x0a8d, -1)
+#endif
+
+// Packet: 0x0a8e
+#if PACKETVER >= 20160720
+packetLen(0x0a8e, 2)
+#endif
+
+// Packet: 0x0a8f
+#if PACKETVER >= 20160720
+packetLen(0x0a8f, 2)
+#endif
+
+// Packet: 0x0a90
+#if PACKETVER >= 20160720
+packetLen(0x0a90, 3)
+#endif
+
+// Packet: 0x0a91
+#if PACKETVER >= 20160727
+packetLen(0x0a91, -1)
+#endif
+
+// Packet: 0x0a92
+#if PACKETVER >= 20160727
+packetLen(0x0a92, -1)
+#endif
+
+// Packet: 0x0a93
+#if PACKETVER >= 20160727
+packetLen(0x0a93, 3)
+#endif
+
+// Packet: 0x0a94
+#if PACKETVER >= 20160803
+packetLen(0x0a94, 2)
+#endif
+
+// Packet: 0x0a95
+#if PACKETVER >= 20160907
+packetLen(0x0a95, 4)
+#endif
+
+// Packet: 0x0a96
+#if PACKETVER >= 20160921
+packetLen(0x0a96, 51)
+#endif
+
+// Packet: 0x0a97
+#if PACKETVER >= 20160928
+packetLen(0x0a97, 8)
+#endif
+
+// Packet: 0x0a98
+#if PACKETVER >= 20160928
+packetLen(0x0a98, 12)
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20160928
+packetLen(0x0a99, 8)
+#endif
+
+// Packet: 0x0a9a
+#if PACKETVER >= 20160928
+packetLen(0x0a9a, 10)
+#endif
+
+// Packet: 0x0a9b
+#if PACKETVER >= 20160928
+packetLen(0x0a9b, -1)
+#endif
+
+// Packet: 0x0a9c
+#if PACKETVER >= 20160928
+packetLen(0x0a9c, 2)
+#endif
+
+// Packet: 0x0a9d
+#if PACKETVER >= 20160928
+packetLen(0x0a9d, 4)
+#endif
+
+// Packet: 0x0a9e
+#if PACKETVER >= 20160928
+packetLen(0x0a9e, 2)
+#endif
+
+// Packet: 0x0a9f
+#if PACKETVER >= 20160928
+packetLen(0x0a9f, 2)
+#endif
+
+// Packet: 0x0aa0
+#if PACKETVER >= 20161005
+packetLen(0x0aa0, 2)
+#endif
+
+// Packet: 0x0aa1
+#if PACKETVER >= 20161005
+packetLen(0x0aa1, 4)
+#endif
+
+// Packet: 0x0aa2
+#if PACKETVER >= 20161005
+packetLen(0x0aa2, -1)
+#endif
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20161005
+packetLen(0x0aa3, 7)
+#endif
+
+// Packet: 0x0aa4
+#if PACKETVER >= 20161005
+packetLen(0x0aa4, 2)
+#endif
+
+// Packet: 0x0aa5
+#if PACKETVER >= 20161026
+packetLen(0x0aa5, -1)
+#endif
+
+// Packet: 0x0aa6
+#if PACKETVER >= 20161026
+packetLen(0x0aa6, 36)
+#endif
+
+// Packet: 0x0aa7
+#if PACKETVER >= 20161130
+packetLen(0x0aa7, 6)
+#endif
+
+// Packet: 0x0aa8
+#if PACKETVER >= 20161130
+packetLen(0x0aa8, 5)
+#endif
+
+// Packet: 0x0aa9
+#if PACKETVER >= 20161130
+packetLen(0x0aa9, -1)
+#endif
+
+// Packet: 0x0aaa
+#if PACKETVER >= 20161130
+packetLen(0x0aaa, -1)
+#endif
+
+// Packet: 0x0aab
+#if PACKETVER >= 20161130
+packetLen(0x0aab, -1)
+#endif
+
+// Packet: 0x0aac
+#if PACKETVER >= 20161207
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20161221
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+#if PACKETVER >= 20161221
+packetLen(0x0aae, 2)
+#endif
+
+// Packet: 0x0aaf
+#if PACKETVER >= 20161221
+packetLen(0x0aaf, 6)
+#endif
+
+// Packet: 0x0ab0
+#if PACKETVER >= 20161221
+packetLen(0x0ab0, 6)
+#endif
+
+// Packet: 0x0ab1
+#if PACKETVER >= 20161228
+packetLen(0x0ab1, 14)
+#elif PACKETVER >= 20161221
+packetLen(0x0ab1, 10)
+#endif
+
+
+#endif /* COMMON_PACKETS2016_LEN_MAIN_H */
diff --git a/src/common/packets/packets2016_len_re.h b/src/common/packets/packets2016_len_re.h
new file mode 100644
index 000000000..6f8574edf
--- /dev/null
+++ b/src/common/packets/packets2016_len_re.h
@@ -0,0 +1,9140 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2016_LEN_RE_H
+#define COMMON_PACKETS2016_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 149)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20161012
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20160928
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160913
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160831
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160803
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20160511
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160323
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20160211
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0202, -1)
+#elif PACKETVER >= 20160127
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20161221
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160913
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160831
+packetLen(0x022d, 90)
+#elif PACKETVER >= 20160824
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160720
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x022d, 36)
+#elif PACKETVER >= 20160706
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20160615
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160420
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20160323
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160309
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x022d, 26)
+#elif PACKETVER >= 20160217
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160203
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20161214
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160913
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160831
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20160629
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20160504
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160323
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x023b, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x023b, 18)
+#elif PACKETVER >= 20160127
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20160113
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x023b, 2)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20161221
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20161207
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20160525
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160323
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0281, 2)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20161221
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20161116
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x02c4, 18)
+#elif PACKETVER >= 20160615
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x02c4, 18)
+#elif PACKETVER >= 20160601
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20160427
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20161228
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x035f, 18)
+#elif PACKETVER >= 20161026
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x035f, 4)
+#elif PACKETVER >= 20160622
+packetLen(0x035f, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20160414
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160302
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160203
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x035f, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20161221
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20161214
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0361, 19)
+#elif PACKETVER >= 20161130
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0361, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160913
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20160907
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160831
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160817
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0361, 36)
+#elif PACKETVER >= 20160629
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20160504
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160323
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160309
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20160211
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20160127
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20161228
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20161221
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20161207
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20161116
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0362, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20160720
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20160713
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160525
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20160323
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160203
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0362, 2)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20161207
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0363, 36)
+#elif PACKETVER >= 20161019
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160928
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160913
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160831
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160803
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20160720
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20160713
+packetLen(0x0363, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20160525
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160504
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20160427
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160420
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20160323
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160203
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0363, 2)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20161221
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20161207
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20161012
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160913
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160831
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160817
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0364, 19)
+#elif PACKETVER >= 20160720
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0364, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20160525
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160504
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20160323
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20160302
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0364, 10)
+#elif PACKETVER >= 20160217
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160203
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0364, 2)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20161207
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20161116
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20161012
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160913
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160831
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160727
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0365, 7)
+#elif PACKETVER >= 20160525
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160504
+packetLen(0x0365, 4)
+#elif PACKETVER >= 20160427
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160406
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20160323
+packetLen(0x0365, 26)
+#elif PACKETVER >= 20160316
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160224
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0365, 12)
+#elif PACKETVER >= 20160211
+packetLen(0x0365, 36)
+#elif PACKETVER >= 20160203
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x0365, 2)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20161228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20161116
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20161005
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0366, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160913
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160831
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160629
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160608
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160504
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160330
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160302
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160217
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20160113
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20161109
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0367, 4)
+#elif PACKETVER >= 20160309
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20161221
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0368, 7)
+#elif PACKETVER >= 20160928
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0368, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160302
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20161221
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0369, 19)
+#elif PACKETVER >= 20161207
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20161123
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20161012
+packetLen(0x0369, 26)
+#elif PACKETVER >= 20160928
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160913
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160831
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160622
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160504
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160406
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160302
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0369, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20160113
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20161221
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20161109
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0436, 7)
+#elif PACKETVER >= 20161005
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20160921
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160913
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160831
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160803
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0436, 90)
+#elif PACKETVER >= 20160713
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20160525
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160504
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160323
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160203
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20160120
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0436, 2)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20161221
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160928
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160913
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160831
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160817
+packetLen(0x0437, 26)
+#elif PACKETVER >= 20160629
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160615
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0437, 19)
+#elif PACKETVER >= 20160511
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160504
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160406
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160217
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20160113
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20161228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20161102
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20161019
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160928
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160913
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160831
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160803
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160504
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160302
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160217
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20160113
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20161207
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20160629
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20160525
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160323
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160203
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x07e4, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20161207
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20161026
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20161012
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160913
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160831
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160803
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x07ec, 5)
+#elif PACKETVER >= 20160525
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160504
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160323
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160203
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20160113
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x07ec, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20161207
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20161019
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160928
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160913
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160831
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160615
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20160525
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160504
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160323
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0802, 19)
+#elif PACKETVER >= 20160217
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160203
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0802, 2)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20161221
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20161005
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0811, 8)
+#elif PACKETVER >= 20160921
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0811, 4)
+#elif PACKETVER >= 20160608
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160217
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20161221
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160504
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160217
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20161228
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20160921
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0817, 8)
+#elif PACKETVER >= 20160608
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0817, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20161221
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0819, 4)
+#elif PACKETVER >= 20161130
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x0819, 26)
+#elif PACKETVER >= 20160928
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160913
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160831
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x0819, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160427
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20160414
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x0819, 10)
+#elif PACKETVER >= 20160302
+packetLen(0x0819, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160217
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0819, 19)
+#elif PACKETVER >= 20160120
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20161123
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0835, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20160504
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20160427
+packetLen(0x0835, 36)
+#elif PACKETVER >= 20160211
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20161221
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20161109
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20161012
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0838, 36)
+#elif PACKETVER >= 20160928
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160913
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160831
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160817
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20160727
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20160713
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160504
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160406
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160309
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20160302
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160217
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20160113
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20161221
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20161109
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x083c, 18)
+#elif PACKETVER >= 20161026
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160928
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160913
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160831
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160817
+packetLen(0x083c, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160504
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160309
+packetLen(0x083c, 26)
+#elif PACKETVER >= 20160302
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20160113
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20161228
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20161221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20161102
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x085a, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x085a, 18)
+#elif PACKETVER >= 20160316
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x085a, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20161228
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x085b, 90)
+#elif PACKETVER >= 20161019
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x085b, 4)
+#elif PACKETVER >= 20160921
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x085b, 12)
+#elif PACKETVER >= 20160309
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x085b, 26)
+#elif PACKETVER >= 20160120
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20161130
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x085c, 90)
+#elif PACKETVER >= 20160824
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x085c, 90)
+#elif PACKETVER >= 20160615
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x085c, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20160817
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x085d, 12)
+#elif PACKETVER >= 20160803
+packetLen(0x085d, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20161228
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20161116
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x085e, 90)
+#elif PACKETVER >= 20160817
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x085e, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x085e, 6)
+#elif PACKETVER >= 20160518
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20160127
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20161123
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x085f, 10)
+#elif PACKETVER >= 20161026
+packetLen(0x085f, 7)
+#elif PACKETVER >= 20160817
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x085f, 18)
+#elif PACKETVER >= 20160713
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x085f, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x085f, 7)
+#elif PACKETVER >= 20160316
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x085f, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20160817
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0860, 7)
+#elif PACKETVER >= 20160629
+packetLen(0x0860, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20161130
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0861, 5)
+#elif PACKETVER >= 20161102
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20160706
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0861, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0861, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0861, 6)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20161221
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0862, 26)
+#elif PACKETVER >= 20161102
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0862, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20161019
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0863, 7)
+#elif PACKETVER >= 20161005
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20160608
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20161123
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20161005
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20160427
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20160309
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20160224
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20161228
+packetLen(0x0865, 90)
+#elif PACKETVER >= 20161116
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0865, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20160720
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0865, 4)
+#elif PACKETVER >= 20160309
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20160127
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x0865, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20161228
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20160803
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0866, 4)
+#elif PACKETVER >= 20160622
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20161214
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20160824
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0867, 12)
+#elif PACKETVER >= 20160706
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0867, 36)
+#elif PACKETVER >= 20160622
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0867, 5)
+#elif PACKETVER >= 20160406
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20160323
+packetLen(0x0867, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20161214
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20161019
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0868, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0868, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0868, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20161109
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0869, 8)
+#elif PACKETVER >= 20160803
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0869, 12)
+#elif PACKETVER >= 20160720
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20160414
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0869, -1)
+#elif PACKETVER >= 20160330
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0869, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20161228
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20161116
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x086a, 7)
+#elif PACKETVER >= 20160601
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x086a, 19)
+#elif PACKETVER >= 20160330
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x086a, -1)
+#elif PACKETVER >= 20160113
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x086a, 6)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20160824
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x086b, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20160511
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x086b, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x086b, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20161228
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20161102
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x086c, 12)
+#elif PACKETVER >= 20160525
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x086c, 5)
+#elif PACKETVER >= 20160217
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x086c, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x086c, 18)
+#elif PACKETVER >= 20160113
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x086c, 4)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20161228
+packetLen(0x086d, 19)
+#elif PACKETVER >= 20161221
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x086d, 26)
+#elif PACKETVER >= 20161116
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x086d, 10)
+#elif PACKETVER >= 20161019
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x086d, 19)
+#elif PACKETVER >= 20161005
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x086d, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x086d, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20161102
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x086e, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20161130
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20160817
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20161228
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20161116
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0870, 19)
+#elif PACKETVER >= 20160907
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0870, 18)
+#elif PACKETVER >= 20160622
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0870, 4)
+#elif PACKETVER >= 20160608
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0870, 8)
+#elif PACKETVER >= 20160427
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0870, 4)
+#elif PACKETVER >= 20160224
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0870, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20161228
+packetLen(0x0871, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0871, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20161019
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0872, 12)
+#elif PACKETVER >= 20161005
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160427
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160330
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0872, 36)
+#elif PACKETVER >= 20160211
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0872, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20160316
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20160302
+packetLen(0x0873, 12)
+#elif PACKETVER >= 20160224
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0873, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0873, 36)
+#elif PACKETVER >= 20160120
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0873, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20161109
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0874, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20160525
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x0874, 19)
+#elif PACKETVER >= 20160427
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0874, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20161214
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20161019
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0875, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0875, 19)
+#elif PACKETVER >= 20160810
+packetLen(0x0875, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20161228
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0876, 12)
+#elif PACKETVER >= 20161116
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0876, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0876, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20160803
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0877, 18)
+#elif PACKETVER >= 20160720
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0877, 10)
+#elif PACKETVER >= 20160414
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20161005
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0878, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0878, 7)
+#elif PACKETVER >= 20160810
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0878, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20160330
+packetLen(0x0878, 8)
+#elif PACKETVER >= 20160323
+packetLen(0x0878, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0878, 36)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20160921
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0879, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0879, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20161116
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x087a, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20160817
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x087a, 5)
+#elif PACKETVER >= 20160420
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x087a, 10)
+#elif PACKETVER >= 20160224
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x087a, 19)
+#elif PACKETVER >= 20160113
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x087a, 18)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20160720
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20161102
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x087c, 4)
+#elif PACKETVER >= 20160907
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x087c, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x087c, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20160622
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20160608
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x087d, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20161214
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x087e, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20161228
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20161130
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x087f, 26)
+#elif PACKETVER >= 20161102
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x087f, 10)
+#elif PACKETVER >= 20161005
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x087f, 12)
+#elif PACKETVER >= 20160824
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x087f, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x087f, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x087f, 90)
+#elif PACKETVER >= 20160406
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x087f, 8)
+#elif PACKETVER >= 20160113
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x087f, 19)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20161130
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0880, 36)
+#elif PACKETVER >= 20161019
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0880, 10)
+#elif PACKETVER >= 20160629
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0880, -1)
+#elif PACKETVER >= 20160420
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0880, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20161228
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0881, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0881, 8)
+#elif PACKETVER >= 20160810
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0881, 18)
+#elif PACKETVER >= 20160706
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0881, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20161130
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20160803
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0883, 7)
+#elif PACKETVER >= 20160720
+packetLen(0x0883, 10)
+#elif PACKETVER >= 20160713
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20160330
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0883, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0883, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20161228
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20160713
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0884, 26)
+#elif PACKETVER >= 20160622
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0884, 10)
+#elif PACKETVER >= 20160427
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20160302
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0884, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20161228
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20161123
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0885, 19)
+#elif PACKETVER >= 20160706
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0885, 5)
+#elif PACKETVER >= 20160615
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20160420
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20160302
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0885, 8)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20161228
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20161214
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0886, 7)
+#elif PACKETVER >= 20161109
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0886, 90)
+#elif PACKETVER >= 20161026
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0886, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0886, 7)
+#elif PACKETVER >= 20160810
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20160713
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0886, 4)
+#elif PACKETVER >= 20160511
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20160211
+packetLen(0x0886, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20161221
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20160921
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x0887, 19)
+#elif PACKETVER >= 20160720
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20160511
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0887, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20160817
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0888, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x0888, 90)
+#elif PACKETVER >= 20160622
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0888, 10)
+#elif PACKETVER >= 20160427
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20160302
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20160217
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0888, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20161228
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0889, 36)
+#elif PACKETVER >= 20161005
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0889, 19)
+#elif PACKETVER >= 20160921
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20160406
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20160113
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0889, 5)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20160622
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x088a, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x088a, 26)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20161130
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20160427
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20160406
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x088b, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20161228
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20160211
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x088c, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20161123
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x088d, 18)
+#elif PACKETVER >= 20160622
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20160608
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x088d, 4)
+#elif PACKETVER >= 20160224
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20161116
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x088e, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x088e, 8)
+#elif PACKETVER >= 20160928
+packetLen(0x088e, -1)
+#elif PACKETVER >= 20160921
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20160803
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x088e, 10)
+#elif PACKETVER >= 20160706
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20161207
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x088f, 4)
+#elif PACKETVER >= 20161123
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x088f, 19)
+#elif PACKETVER >= 20161109
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20160608
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x088f, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x088f, -1)
+#elif PACKETVER >= 20160224
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20161228
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20161123
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0890, 5)
+#elif PACKETVER >= 20161109
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0890, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20161116
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0891, 12)
+#elif PACKETVER >= 20161102
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20160810
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0891, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x0891, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20160113
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0891, 8)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20161123
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0892, -1)
+#elif PACKETVER >= 20161026
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0892, 4)
+#elif PACKETVER >= 20161012
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0892, 18)
+#elif PACKETVER >= 20160921
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20160720
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0892, 12)
+#elif PACKETVER >= 20160706
+packetLen(0x0892, 5)
+#elif PACKETVER >= 20160414
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0892, 90)
+#elif PACKETVER >= 20160120
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20161228
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0893, 7)
+#elif PACKETVER >= 20161019
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20160706
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20160120
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20161102
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0894, 10)
+#elif PACKETVER >= 20160518
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0894, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20161221
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x0895, 8)
+#elif PACKETVER >= 20160810
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0895, 26)
+#elif PACKETVER >= 20160608
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20160414
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0895, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20160330
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0896, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20161005
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0897, 90)
+#elif PACKETVER >= 20160727
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20161116
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20161102
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0898, 26)
+#elif PACKETVER >= 20160622
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20160511
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0898, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0898, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20161228
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0899, 4)
+#elif PACKETVER >= 20161214
+packetLen(0x0899, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0899, 10)
+#elif PACKETVER >= 20160615
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0899, 4)
+#elif PACKETVER >= 20160120
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20161228
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20161116
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x089a, 7)
+#elif PACKETVER >= 20160727
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x089a, 26)
+#elif PACKETVER >= 20160629
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x089a, 18)
+#elif PACKETVER >= 20160525
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20160330
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x089a, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20161228
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x089b, 7)
+#elif PACKETVER >= 20161012
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x089b, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x089b, 5)
+#elif PACKETVER >= 20160518
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x089b, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x089b, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20161130
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20161012
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20160921
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x089c, 36)
+#elif PACKETVER >= 20160824
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x089c, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20160601
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20161116
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20160316
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x089d, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20160727
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20160629
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x089e, 7)
+#elif PACKETVER >= 20160420
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20160406
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20161228
+packetLen(0x089f, 8)
+#elif PACKETVER >= 20161116
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x089f, 4)
+#elif PACKETVER >= 20161102
+packetLen(0x089f, 26)
+#elif PACKETVER >= 20160817
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x089f, -1)
+#elif PACKETVER >= 20160803
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x089f, 10)
+#elif PACKETVER >= 20160720
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x089f, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20161019
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20161005
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20160727
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x08a0, 12)
+#elif PACKETVER >= 20160224
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x08a0, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a0, 26)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20161214
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x08a1, -1)
+#elif PACKETVER >= 20160414
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20161228
+packetLen(0x08a2, 10)
+#elif PACKETVER >= 20161214
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08a2, 18)
+#elif PACKETVER >= 20161109
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20161005
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20160803
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20160720
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20160629
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20161228
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20160803
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x08a4, 19)
+#elif PACKETVER >= 20160706
+packetLen(0x08a4, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20161228
+packetLen(0x08a5, 18)
+#elif PACKETVER >= 20160921
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20160824
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08a5, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x08a5, 19)
+#elif PACKETVER >= 20160427
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x08a5, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20161221
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x08a6, 18)
+#elif PACKETVER >= 20160824
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08a6, 26)
+#elif PACKETVER >= 20160615
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20161116
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x08a7, 5)
+#elif PACKETVER >= 20160803
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20160608
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x08a7, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20160907
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x08a8, -1)
+#elif PACKETVER >= 20160713
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20160629
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x08a8, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20161130
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20161005
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20160907
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08a9, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20160525
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x08a9, 8)
+#elif PACKETVER >= 20160217
+packetLen(0x08a9, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20161228
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08aa, 12)
+#elif PACKETVER >= 20161109
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x08aa, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20160120
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x08aa, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20161228
+packetLen(0x08ab, 8)
+#elif PACKETVER >= 20160824
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20161228
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20161123
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20160824
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08ac, 10)
+#elif PACKETVER >= 20160608
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x08ac, 19)
+#elif PACKETVER >= 20160414
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x08ac, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20161228
+packetLen(0x08ad, 36)
+#elif PACKETVER >= 20161214
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x08ad, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x08ad, 2)
+#endif
+
+// 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, 149)
+
+// 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
+#if PACKETVER >= 20160907
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0917, 36)
+#elif PACKETVER >= 20160727
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0917, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20161214
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0918, 18)
+#elif PACKETVER >= 20160713
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0918, 90)
+#elif PACKETVER >= 20160518
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0918, 5)
+#elif PACKETVER >= 20160504
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0918, 4)
+#elif PACKETVER >= 20160406
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0918, 8)
+#elif PACKETVER >= 20160211
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0918, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20161012
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0919, 12)
+#elif PACKETVER >= 20160106
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20161130
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x091a, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x091a, 19)
+#elif PACKETVER >= 20160817
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20160309
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20161109
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x091b, 36)
+#elif PACKETVER >= 20161026
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x091b, 4)
+#elif PACKETVER >= 20160817
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20160330
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x091b, 4)
+#elif PACKETVER >= 20160120
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20161228
+packetLen(0x091c, 26)
+#elif PACKETVER >= 20160913
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x091c, 36)
+#elif PACKETVER >= 20160817
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x091c, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20160713
+packetLen(0x091c, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20161214
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x091d, 8)
+#elif PACKETVER >= 20160720
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x091d, 36)
+#elif PACKETVER >= 20160316
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20160113
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x091d, -1)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20161012
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20160928
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x091e, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+#if PACKETVER >= 20161123
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0920, 90)
+#elif PACKETVER >= 20160518
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0920, 19)
+#elif PACKETVER >= 20160316
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0920, 8)
+#elif PACKETVER >= 20160302
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0920, 4)
+#elif PACKETVER >= 20160217
+packetLen(0x0920, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20160720
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0921, 90)
+#elif PACKETVER >= 20160511
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0921, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20161109
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0922, 6)
+#elif PACKETVER >= 20160720
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0922, 8)
+#elif PACKETVER >= 20160511
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0922, 6)
+#elif PACKETVER >= 20160420
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20160323
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160316
+packetLen(0x0922, 36)
+#elif PACKETVER >= 20160309
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20160203
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20160127
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+#if PACKETVER >= 20160713
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0924, 10)
+#elif PACKETVER >= 20160608
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0924, 4)
+#elif PACKETVER >= 20160511
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0924, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0924, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20161123
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0925, 10)
+#elif PACKETVER >= 20161109
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0925, 10)
+#elif PACKETVER >= 20160406
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0925, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20161228
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0926, 26)
+#elif PACKETVER >= 20161130
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0926, 19)
+#elif PACKETVER >= 20161102
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0926, 4)
+#elif PACKETVER >= 20160713
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x0926, 26)
+#elif PACKETVER >= 20160330
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0926, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20161116
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0927, 26)
+#elif PACKETVER >= 20161005
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0927, 10)
+#elif PACKETVER >= 20160420
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0927, 36)
+#elif PACKETVER >= 20160406
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20160330
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0927, 18)
+#elif PACKETVER >= 20160309
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0927, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20161228
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20160525
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20160518
+packetLen(0x0928, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20161228
+packetLen(0x0929, 10)
+#elif PACKETVER >= 20160824
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0929, -1)
+#elif PACKETVER >= 20160810
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0929, 36)
+#elif PACKETVER >= 20160713
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0929, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0929, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0929, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20161130
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20161116
+packetLen(0x092a, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x092a, 26)
+#elif PACKETVER >= 20160406
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x092a, -1)
+#elif PACKETVER >= 20160316
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x092a, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20161012
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20160817
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20161102
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20160907
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x092c, 26)
+#elif PACKETVER >= 20160720
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x092c, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x092c, 18)
+#elif PACKETVER >= 20160406
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x092c, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20161019
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x092d, 10)
+#elif PACKETVER >= 20160824
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x092d, 90)
+#elif PACKETVER >= 20160810
+packetLen(0x092d, 8)
+#elif PACKETVER >= 20160713
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20160309
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x092d, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20161228
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x092e, 18)
+#elif PACKETVER >= 20161214
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20161102
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20160907
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x092e, 12)
+#elif PACKETVER >= 20160803
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x092e, 90)
+#elif PACKETVER >= 20160106
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20161130
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20161109
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x092f, 6)
+#elif PACKETVER >= 20160629
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x092f, 10)
+#elif PACKETVER >= 20160427
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x092f, 18)
+#elif PACKETVER >= 20160309
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x092f, 90)
+#elif PACKETVER >= 20160224
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20161228
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20161130
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20161102
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0930, 12)
+#elif PACKETVER >= 20160406
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20161207
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0931, 5)
+#elif PACKETVER >= 20161123
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0931, -1)
+#elif PACKETVER >= 20161012
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0931, 26)
+#elif PACKETVER >= 20160720
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0931, 10)
+#elif PACKETVER >= 20160420
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20161012
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0932, 12)
+#elif PACKETVER >= 20160810
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0932, 10)
+#elif PACKETVER >= 20160316
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0932, 5)
+#elif PACKETVER >= 20160120
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0932, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20160414
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0933, 5)
+#elif PACKETVER >= 20160330
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x0933, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20161228
+packetLen(0x0934, 26)
+#elif PACKETVER >= 20160831
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x0934, 36)
+#elif PACKETVER >= 20160810
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0934, 7)
+#elif PACKETVER >= 20160420
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20160406
+packetLen(0x0934, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20161228
+packetLen(0x0935, 8)
+#elif PACKETVER >= 20160921
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0935, -1)
+#elif PACKETVER >= 20160817
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0935, 90)
+#elif PACKETVER >= 20160427
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20161019
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0936, 19)
+#elif PACKETVER >= 20160302
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0936, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20161116
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0937, 26)
+#elif PACKETVER >= 20161019
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0937, 10)
+#elif PACKETVER >= 20160629
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0937, 12)
+#elif PACKETVER >= 20160601
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20161228
+packetLen(0x0938, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x0938, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20161019
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0939, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20160720
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0939, 26)
+#elif PACKETVER >= 20160706
+packetLen(0x0939, 8)
+#elif PACKETVER >= 20160406
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20160921
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20160907
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x093a, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x093a, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20161012
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x093b, 10)
+#elif PACKETVER >= 20160727
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x093b, 5)
+#elif PACKETVER >= 20160629
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x093b, 4)
+#elif PACKETVER >= 20160406
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160330
+packetLen(0x093b, 26)
+#elif PACKETVER >= 20160224
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20161123
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x093c, -1)
+#elif PACKETVER >= 20161109
+packetLen(0x093c, 36)
+#elif PACKETVER >= 20160824
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20160330
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20160323
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x093c, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20161228
+packetLen(0x093d, 7)
+#elif PACKETVER >= 20161221
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20161214
+packetLen(0x093d, 5)
+#elif PACKETVER >= 20160713
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x093d, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20160810
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x093e, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160706
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x093e, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160224
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x093e, -1)
+#elif PACKETVER >= 20160211
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x093e, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20161116
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x093f, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20160629
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x093f, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20160518
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0940, 36)
+#elif PACKETVER >= 20160504
+packetLen(0x0940, 19)
+#elif PACKETVER >= 20160427
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20160414
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20160211
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0940, 5)
+#elif PACKETVER >= 20160113
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x0940, 8)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20161130
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0941, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20161012
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20161228
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0943, 10)
+#elif PACKETVER >= 20161214
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0943, 4)
+#elif PACKETVER >= 20161130
+packetLen(0x0943, 19)
+#elif PACKETVER >= 20161019
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0943, 18)
+#elif PACKETVER >= 20160817
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20161228
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20161019
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0944, 8)
+#elif PACKETVER >= 20161005
+packetLen(0x0944, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20160713
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0944, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20161012
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0945, 5)
+#elif PACKETVER >= 20160720
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0945, 7)
+#elif PACKETVER >= 20160706
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0945, 26)
+#elif PACKETVER >= 20160420
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0945, 26)
+#elif PACKETVER >= 20160309
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20161228
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0946, 10)
+#elif PACKETVER >= 20161109
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20161026
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0946, 19)
+#elif PACKETVER >= 20160907
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20160803
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20160720
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20160211
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20160706
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0948, 5)
+#elif PACKETVER >= 20160622
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0948, 7)
+#elif PACKETVER >= 20160511
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0948, 12)
+#elif PACKETVER >= 20160106
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20161109
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0949, 5)
+#elif PACKETVER >= 20160921
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0949, 26)
+#elif PACKETVER >= 20160803
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0949, 8)
+#elif PACKETVER >= 20160414
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0949, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20161123
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20161012
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x094a, -1)
+#elif PACKETVER >= 20160928
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x094a, 36)
+#elif PACKETVER >= 20160913
+packetLen(0x094a, 90)
+#elif PACKETVER >= 20160907
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20160706
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20160622
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20160601
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x094a, 8)
+#elif PACKETVER >= 20160224
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x094a, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20161228
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20161102
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x094b, 8)
+#elif PACKETVER >= 20160622
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20160713
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x094c, 36)
+#elif PACKETVER >= 20160302
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x094c, 18)
+#elif PACKETVER >= 20160106
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20161130
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x094d, 10)
+#elif PACKETVER >= 20161012
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20160727
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20160414
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x094d, 19)
+#elif PACKETVER >= 20160106
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20161005
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20160601
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20160427
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x094e, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x094e, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20161130
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x094f, -1)
+#elif PACKETVER >= 20161019
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160907
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x094f, 7)
+#elif PACKETVER >= 20160224
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160120
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20160921
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0950, 7)
+#elif PACKETVER >= 20160907
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0950, -1)
+#elif PACKETVER >= 20160309
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0950, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20161019
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0951, 90)
+#elif PACKETVER >= 20160803
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0951, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0951, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20161012
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x0952, 4)
+#elif PACKETVER >= 20160921
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0952, 19)
+#elif PACKETVER >= 20160810
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0952, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20161102
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0953, 26)
+#elif PACKETVER >= 20161005
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0953, -1)
+#elif PACKETVER >= 20160727
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20160420
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20160406
+packetLen(0x0953, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20161207
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0954, 36)
+#elif PACKETVER >= 20161116
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0954, 10)
+#elif PACKETVER >= 20160921
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20160907
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0954, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x0954, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20161005
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0955, 18)
+#elif PACKETVER >= 20160810
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20161116
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20161109
+packetLen(0x0956, 5)
+#elif PACKETVER >= 20160810
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0956, -1)
+#elif PACKETVER >= 20160601
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20160525
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20160316
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20161123
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20161005
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160928
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20160907
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0957, -1)
+#elif PACKETVER >= 20160824
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0957, 18)
+#elif PACKETVER >= 20160720
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160713
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20160706
+packetLen(0x0957, 12)
+#elif PACKETVER >= 20160622
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0957, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20160713
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20160706
+packetLen(0x0958, 6)
+#elif PACKETVER >= 20160622
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0958, 8)
+#elif PACKETVER >= 20160608
+packetLen(0x0958, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20161207
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20161130
+packetLen(0x0959, 26)
+#elif PACKETVER >= 20160810
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20160629
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20161228
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20161130
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20161012
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x095a, 4)
+#elif PACKETVER >= 20160810
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x095a, 26)
+#elif PACKETVER >= 20160706
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x095a, 7)
+#elif PACKETVER >= 20160309
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20160211
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20160127
+packetLen(0x095a, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20161130
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x095b, 7)
+#elif PACKETVER >= 20161116
+packetLen(0x095b, 36)
+#elif PACKETVER >= 20161012
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20161005
+packetLen(0x095b, 19)
+#elif PACKETVER >= 20160817
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x095b, 7)
+#elif PACKETVER >= 20160727
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x095b, 18)
+#elif PACKETVER >= 20160713
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x095b, 8)
+#elif PACKETVER >= 20160601
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20160511
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20161102
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20161019
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x095c, 5)
+#elif PACKETVER >= 20160622
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x095c, 18)
+#elif PACKETVER >= 20160427
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20160420
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20161214
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x095d, 36)
+#elif PACKETVER >= 20161123
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x095d, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20160211
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20160203
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20161109
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x095e, 12)
+#elif PACKETVER >= 20161026
+packetLen(0x095e, 90)
+#elif PACKETVER >= 20160907
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x095e, 8)
+#elif PACKETVER >= 20160622
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x095e, -1)
+#elif PACKETVER >= 20160316
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x095e, 12)
+#elif PACKETVER >= 20160224
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x095e, 36)
+#elif PACKETVER >= 20160106
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20160803
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x095f, -1)
+#elif PACKETVER >= 20160608
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x095f, 36)
+#elif PACKETVER >= 20160414
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x095f, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20160907
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20160727
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20160720
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20160106
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20160622
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160615
+packetLen(0x0961, 12)
+#elif PACKETVER >= 20160608
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160601
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20160309
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0961, 18)
+#elif PACKETVER >= 20160224
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20160203
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20160127
+packetLen(0x0961, 26)
+#elif PACKETVER >= 20160106
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20161130
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20161102
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20161026
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20161019
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0962, 10)
+#elif PACKETVER >= 20160921
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0962, 4)
+#elif PACKETVER >= 20160414
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20160406
+packetLen(0x0962, 4)
+#elif PACKETVER >= 20160106
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20161026
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x0963, 26)
+#elif PACKETVER >= 20160921
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20160913
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20160824
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20160817
+packetLen(0x0963, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20161228
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0964, 19)
+#elif PACKETVER >= 20161109
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0964, -1)
+#elif PACKETVER >= 20160907
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0964, 10)
+#elif PACKETVER >= 20160106
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20161228
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20161221
+packetLen(0x0965, 5)
+#elif PACKETVER >= 20161214
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20161207
+packetLen(0x0965, 26)
+#elif PACKETVER >= 20161109
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0965, 10)
+#elif PACKETVER >= 20160629
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0965, 5)
+#elif PACKETVER >= 20160106
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20161109
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20161102
+packetLen(0x0966, 6)
+#elif PACKETVER >= 20161019
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0966, 5)
+#elif PACKETVER >= 20160224
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0966, 6)
+#elif PACKETVER >= 20160106
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20161123
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20161116
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20161019
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20161012
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20161005
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20160907
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160831
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20160817
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160810
+packetLen(0x0967, 8)
+#elif PACKETVER >= 20160309
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20160224
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20160120
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20160113
+packetLen(0x0967, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20160706
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x0968, 10)
+#elif PACKETVER >= 20160309
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20160302
+packetLen(0x0968, 7)
+#elif PACKETVER >= 20160106
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20160803
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160727
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20160720
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20160706
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160622
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160608
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20160511
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160504
+packetLen(0x0969, 36)
+#elif PACKETVER >= 20160224
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20160217
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20160106
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20161221
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20161123
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20161026
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20161019
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160928
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160921
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160913
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160907
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160831
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160824
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160810
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160803
+packetLen(0x096a, -1)
+#elif PACKETVER >= 20160706
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160629
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20160615
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160504
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160414
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160406
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160309
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160302
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160224
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160217
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160120
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20160113
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20160106
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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
+#if PACKETVER >= 20160921
+packetLen(0x0a37, 59)
+#elif PACKETVER >= 20160106
+packetLen(0x0a37, 57)
+#endif
+
+// 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, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// 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
+#if PACKETVER >= 20160127
+packetLen(0x0a4d, -1)
+#endif
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20160302
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+#if PACKETVER >= 20160302
+packetLen(0x0a4f, -1)
+#endif
+
+// Packet: 0x0a50
+#if PACKETVER >= 20160427
+packetLen(0x0a50, 4)
+#elif PACKETVER >= 20160302
+packetLen(0x0a50, 6)
+#endif
+
+// Packet: 0x0a51
+#if PACKETVER >= 20160302
+packetLen(0x0a51, 34)
+#endif
+
+// Packet: 0x0a52
+#if PACKETVER >= 20160316
+packetLen(0x0a52, 20)
+#endif
+
+// Packet: 0x0a53
+#if PACKETVER >= 20160316
+packetLen(0x0a53, 10)
+#endif
+
+// Packet: 0x0a54
+#if PACKETVER >= 20160316
+packetLen(0x0a54, -1)
+#endif
+
+// Packet: 0x0a55
+#if PACKETVER >= 20160316
+packetLen(0x0a55, 2)
+#endif
+
+// Packet: 0x0a56
+#if PACKETVER >= 20160316
+packetLen(0x0a56, 6)
+#endif
+
+// Packet: 0x0a57
+#if PACKETVER >= 20160316
+packetLen(0x0a57, 6)
+#endif
+
+// Packet: 0x0a58
+#if PACKETVER >= 20160316
+packetLen(0x0a58, 8)
+#endif
+
+// Packet: 0x0a59
+#if PACKETVER >= 20160316
+packetLen(0x0a59, -1)
+#endif
+
+// Packet: 0x0a5a
+#if PACKETVER >= 20160316
+packetLen(0x0a5a, 2)
+#endif
+
+// Packet: 0x0a5b
+#if PACKETVER >= 20160316
+packetLen(0x0a5b, 7)
+#endif
+
+// Packet: 0x0a5c
+#if PACKETVER >= 20160316
+packetLen(0x0a5c, 18)
+#endif
+
+// Packet: 0x0a5d
+#if PACKETVER >= 20160316
+packetLen(0x0a5d, 6)
+#endif
+
+// Packet: 0x0a68
+#if PACKETVER >= 20160323
+packetLen(0x0a68, 3)
+#endif
+
+// Packet: 0x0a69
+#if PACKETVER >= 20160323
+packetLen(0x0a69, 6)
+#endif
+
+// Packet: 0x0a6a
+#if PACKETVER >= 20160323
+packetLen(0x0a6a, 12)
+#endif
+
+// Packet: 0x0a6b
+#if PACKETVER >= 20160323
+packetLen(0x0a6b, -1)
+#endif
+
+// Packet: 0x0a6c
+#if PACKETVER >= 20160330
+packetLen(0x0a6c, 7)
+#endif
+
+// Packet: 0x0a6d
+#if PACKETVER >= 20160330
+packetLen(0x0a6d, -1)
+#endif
+
+// Packet: 0x0a6e
+#if PACKETVER >= 20160330
+packetLen(0x0a6e, -1)
+#endif
+
+// Packet: 0x0a6f
+#if PACKETVER >= 20160330
+packetLen(0x0a6f, -1)
+#endif
+
+// Packet: 0x0a70
+#if PACKETVER >= 20160504
+packetLen(0x0a70, 2)
+#endif
+
+// Packet: 0x0a71
+#if PACKETVER >= 20160504
+packetLen(0x0a71, -1)
+#endif
+
+// Packet: 0x0a72
+#if PACKETVER >= 20160504
+packetLen(0x0a72, 61)
+#endif
+
+// Packet: 0x0a73
+#if PACKETVER >= 20160518
+packetLen(0x0a73, 2)
+#elif PACKETVER >= 20160511
+packetLen(0x0a73, 6)
+#endif
+
+// Packet: 0x0a74
+#if PACKETVER >= 20160511
+packetLen(0x0a74, 8)
+#endif
+
+// Packet: 0x0a76
+#if PACKETVER >= 20160518
+packetLen(0x0a76, 80)
+#endif
+
+// Packet: 0x0a77
+#if PACKETVER >= 20160525
+packetLen(0x0a77, 15)
+#endif
+
+// Packet: 0x0a78
+#if PACKETVER >= 20160525
+packetLen(0x0a78, 15)
+#endif
+
+// Packet: 0x0a79
+#if PACKETVER >= 20160601
+packetLen(0x0a79, -1)
+#endif
+
+// Packet: 0x0a7b
+#if PACKETVER >= 20160601
+packetLen(0x0a7b, -1)
+#endif
+
+// Packet: 0x0a7c
+#if PACKETVER >= 20160601
+packetLen(0x0a7c, -1)
+#endif
+
+// Packet: 0x0a7d
+#if PACKETVER >= 20160601
+packetLen(0x0a7d, -1)
+#endif
+
+// Packet: 0x0a7e
+#if PACKETVER >= 20160706
+packetLen(0x0a7e, -1)
+#elif PACKETVER >= 20160615
+packetLen(0x0a7e, 4)
+#endif
+
+// Packet: 0x0a7f
+#if PACKETVER >= 20160615
+packetLen(0x0a7f, -1)
+#endif
+
+// Packet: 0x0a80
+#if PACKETVER >= 20160629
+packetLen(0x0a80, 6)
+#elif PACKETVER >= 20160615
+packetLen(0x0a80, 2)
+#endif
+
+// Packet: 0x0a81
+#if PACKETVER >= 20160803
+packetLen(0x0a81, 4)
+#elif PACKETVER >= 20160706
+packetLen(0x0a81, 3)
+#elif PACKETVER >= 20160622
+// removed
+#elif PACKETVER >= 20160615
+packetLen(0x0a81, 3)
+#endif
+
+// Packet: 0x0a82
+#if PACKETVER >= 20160622
+packetLen(0x0a82, 46)
+#endif
+
+// Packet: 0x0a83
+#if PACKETVER >= 20160622
+packetLen(0x0a83, 46)
+#endif
+
+// Packet: 0x0a84
+#if PACKETVER >= 20160622
+packetLen(0x0a84, 94)
+#endif
+
+// Packet: 0x0a85
+#if PACKETVER >= 20160622
+packetLen(0x0a85, 82)
+#endif
+
+// Packet: 0x0a86
+#if PACKETVER >= 20160622
+packetLen(0x0a86, -1)
+#endif
+
+// Packet: 0x0a87
+#if PACKETVER >= 20160713
+packetLen(0x0a87, -1)
+#elif PACKETVER >= 20160622
+packetLen(0x0a87, 4)
+#endif
+
+// Packet: 0x0a88
+#if PACKETVER >= 20160622
+packetLen(0x0a88, 2)
+#endif
+
+// Packet: 0x0a89
+#if PACKETVER >= 20160706
+packetLen(0x0a89, 57)
+#elif PACKETVER >= 20160629
+packetLen(0x0a89, 32)
+#endif
+
+// Packet: 0x0a8a
+#if PACKETVER >= 20160629
+packetLen(0x0a8a, 6)
+#endif
+
+// Packet: 0x0a8b
+#if PACKETVER >= 20160629
+packetLen(0x0a8b, 2)
+#endif
+
+// Packet: 0x0a8c
+#if PACKETVER >= 20160629
+packetLen(0x0a8c, 2)
+#endif
+
+// Packet: 0x0a8d
+#if PACKETVER >= 20160629
+packetLen(0x0a8d, -1)
+#endif
+
+// Packet: 0x0a8e
+#if PACKETVER >= 20160720
+packetLen(0x0a8e, 2)
+#endif
+
+// Packet: 0x0a8f
+#if PACKETVER >= 20160720
+packetLen(0x0a8f, 2)
+#endif
+
+// Packet: 0x0a90
+#if PACKETVER >= 20160720
+packetLen(0x0a90, 3)
+#endif
+
+// Packet: 0x0a91
+#if PACKETVER >= 20160727
+packetLen(0x0a91, -1)
+#endif
+
+// Packet: 0x0a92
+#if PACKETVER >= 20160727
+packetLen(0x0a92, -1)
+#endif
+
+// Packet: 0x0a93
+#if PACKETVER >= 20160727
+packetLen(0x0a93, 3)
+#endif
+
+// Packet: 0x0a94
+#if PACKETVER >= 20160803
+packetLen(0x0a94, 2)
+#endif
+
+// Packet: 0x0a95
+#if PACKETVER >= 20160907
+packetLen(0x0a95, 4)
+#endif
+
+// Packet: 0x0a96
+#if PACKETVER >= 20160921
+packetLen(0x0a96, 51)
+#endif
+
+// Packet: 0x0a97
+#if PACKETVER >= 20160928
+packetLen(0x0a97, 8)
+#endif
+
+// Packet: 0x0a98
+#if PACKETVER >= 20160928
+packetLen(0x0a98, 12)
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20160928
+packetLen(0x0a99, 8)
+#endif
+
+// Packet: 0x0a9a
+#if PACKETVER >= 20160928
+packetLen(0x0a9a, 10)
+#endif
+
+// Packet: 0x0a9b
+#if PACKETVER >= 20160928
+packetLen(0x0a9b, -1)
+#endif
+
+// Packet: 0x0a9c
+#if PACKETVER >= 20160928
+packetLen(0x0a9c, 2)
+#endif
+
+// Packet: 0x0a9d
+#if PACKETVER >= 20160928
+packetLen(0x0a9d, 4)
+#endif
+
+// Packet: 0x0a9e
+#if PACKETVER >= 20160928
+packetLen(0x0a9e, 2)
+#endif
+
+// Packet: 0x0a9f
+#if PACKETVER >= 20160928
+packetLen(0x0a9f, 2)
+#endif
+
+// Packet: 0x0aa0
+#if PACKETVER >= 20161005
+packetLen(0x0aa0, 2)
+#endif
+
+// Packet: 0x0aa1
+#if PACKETVER >= 20161005
+packetLen(0x0aa1, 4)
+#endif
+
+// Packet: 0x0aa2
+#if PACKETVER >= 20161005
+packetLen(0x0aa2, -1)
+#endif
+
+// Packet: 0x0aa3
+#if PACKETVER >= 20161005
+packetLen(0x0aa3, 7)
+#endif
+
+// Packet: 0x0aa4
+#if PACKETVER >= 20161005
+packetLen(0x0aa4, 2)
+#endif
+
+// Packet: 0x0aa5
+#if PACKETVER >= 20161026
+packetLen(0x0aa5, -1)
+#endif
+
+// Packet: 0x0aa6
+#if PACKETVER >= 20161026
+packetLen(0x0aa6, 36)
+#endif
+
+// Packet: 0x0aa7
+#if PACKETVER >= 20161130
+packetLen(0x0aa7, 6)
+#endif
+
+// Packet: 0x0aa8
+#if PACKETVER >= 20161130
+packetLen(0x0aa8, 5)
+#endif
+
+// Packet: 0x0aa9
+#if PACKETVER >= 20161130
+packetLen(0x0aa9, -1)
+#endif
+
+// Packet: 0x0aaa
+#if PACKETVER >= 20161130
+packetLen(0x0aaa, -1)
+#endif
+
+// Packet: 0x0aab
+#if PACKETVER >= 20161130
+packetLen(0x0aab, -1)
+#endif
+
+// Packet: 0x0aac
+#if PACKETVER >= 20161207
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20161221
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+#if PACKETVER >= 20161221
+packetLen(0x0aae, 2)
+#endif
+
+// Packet: 0x0aaf
+#if PACKETVER >= 20161221
+packetLen(0x0aaf, 6)
+#endif
+
+// Packet: 0x0ab0
+#if PACKETVER >= 20161221
+packetLen(0x0ab0, 6)
+#endif
+
+// Packet: 0x0ab1
+#if PACKETVER >= 20161228
+packetLen(0x0ab1, 14)
+#elif PACKETVER >= 20161221
+packetLen(0x0ab1, 10)
+#endif
+
+
+#endif /* COMMON_PACKETS2016_LEN_RE_H */
diff --git a/src/common/packets/packets2017_len_main.h b/src/common/packets/packets2017_len_main.h
new file mode 100644
index 000000000..9c9379270
--- /dev/null
+++ b/src/common/packets/packets2017_len_main.h
@@ -0,0 +1,9103 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2017_LEN_MAIN_H
+#define COMMON_PACKETS2017_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20170906
+packetLen(0x006d, 157)
+#elif PACKETVER >= 20170104
+packetLen(0x006d, 149)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20171220
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20171115
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20170719
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170705
+packetLen(0x0202, 36)
+#elif PACKETVER >= 20170628
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20170329
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170315
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170228
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20171108
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x022d, 36)
+#elif PACKETVER >= 20171025
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20171011
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x022d, 4)
+#elif PACKETVER >= 20170801
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x022d, 7)
+#elif PACKETVER >= 20170712
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170705
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170329
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170315
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170228
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20171101
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170705
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170621
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20170329
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170315
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x023b, 2)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0281, 19)
+#elif PACKETVER >= 20171213
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20171129
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170920
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20170906
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20170830
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170816
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0281, 8)
+#elif PACKETVER >= 20170801
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170705
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170426
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20170412
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0281, 18)
+#elif PACKETVER >= 20170329
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170111
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20171206
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20171122
+packetLen(0x02c4, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x02c4, 90)
+#elif PACKETVER >= 20170830
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20170712
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x02c4, 18)
+#elif PACKETVER >= 20170322
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20170222
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x02c4, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171206
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x035f, 4)
+#elif PACKETVER >= 20171115
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170719
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20171227
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20171101
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170719
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20170308
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0360, 7)
+#elif PACKETVER >= 20170201
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20171227
+packetLen(0x0361, 7)
+#elif PACKETVER >= 20171206
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20171101
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0361, 4)
+#elif PACKETVER >= 20170830
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20170816
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170705
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20170531
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170329
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170315
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20171220
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170816
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20170809
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170705
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0362, 7)
+#elif PACKETVER >= 20170329
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20170322
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20170111
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20171220
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171206
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20171101
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20171011
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171002
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20170906
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20170823
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170809
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170726
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170705
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170517
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170412
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0363, 4)
+#elif PACKETVER >= 20170322
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170315
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170111
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20171220
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20171101
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170816
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0364, 26)
+#elif PACKETVER >= 20170726
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170719
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170705
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170621
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20170531
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0364, 26)
+#elif PACKETVER >= 20170502
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170329
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170315
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20170111
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20171220
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20171206
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170830
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170809
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170719
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170705
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170621
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170419
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20170329
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170315
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170111
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20171227
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171220
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20171129
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171122
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171101
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170927
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20170913
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20170830
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170816
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20170801
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170726
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20170719
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170621
+packetLen(0x0366, 18)
+#elif PACKETVER >= 20170517
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170412
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170315
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170215
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170125
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20170621
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20170215
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20171227
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171108
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0368, 19)
+#elif PACKETVER >= 20171002
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0368, 4)
+#elif PACKETVER >= 20170621
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0368, 36)
+#elif PACKETVER >= 20170517
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20171227
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20171220
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20171129
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20171122
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20171108
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170927
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170830
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170809
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170726
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20170719
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170607
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170412
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20170322
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170315
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170228
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170215
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170125
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20171122
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20171018
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20171011
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170927
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170719
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170705
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170517
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170329
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170315
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170125
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20170111
+packetLen(0x0436, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20171227
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171220
+packetLen(0x0437, 18)
+#elif PACKETVER >= 20171129
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171122
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171101
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171011
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20171002
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170920
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20170906
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170809
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170614
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20170524
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20170426
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170412
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170315
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170228
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170215
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20171227
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171220
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171122
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171108
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20171011
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171002
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170830
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170816
+packetLen(0x0438, 7)
+#elif PACKETVER >= 20170809
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170726
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20170719
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170412
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170315
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170215
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170125
+packetLen(0x0438, 7)
+#elif PACKETVER >= 20170118
+packetLen(0x0438, 19)
+#elif PACKETVER >= 20170111
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0438, 19)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20171220
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x07e4, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170705
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20170614
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20170517
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170329
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170111
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20171220
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20171101
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170809
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170719
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170705
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170329
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170315
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170111
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171122
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171101
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170913
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20170816
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170719
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170705
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170621
+packetLen(0x0802, 90)
+#elif PACKETVER >= 20170531
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20170426
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170329
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170315
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170111
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20171227
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171220
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171101
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20170412
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20170208
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20171227
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171220
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171108
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20171101
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0815, 10)
+#elif PACKETVER >= 20170426
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170412
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170125
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20170920
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20170524
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20171227
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171220
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171108
+packetLen(0x0819, 90)
+#elif PACKETVER >= 20171101
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170607
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x0819, 12)
+#elif PACKETVER >= 20170412
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170329
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0819, 12)
+#elif PACKETVER >= 20170215
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170125
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20171108
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20170816
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20171227
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171220
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171129
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20171122
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20171115
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171108
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20171101
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170913
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170830
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170809
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170719
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170621
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170419
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170315
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170228
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170215
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170125
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20171227
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171220
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171122
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171101
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170913
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170830
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170809
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170719
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170614
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20170517
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170412
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170315
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170228
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170215
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20170201
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170125
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20170927
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20170426
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x085a, 7)
+#elif PACKETVER >= 20170111
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x085a, 26)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20171129
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20171108
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20171002
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20170322
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x085c, 4)
+#elif PACKETVER >= 20170222
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x085c, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20171115
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x085d, 12)
+#elif PACKETVER >= 20170628
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20170405
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x085d, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x085d, 18)
+#elif PACKETVER >= 20170118
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20171227
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20170726
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20170531
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x085e, 7)
+#elif PACKETVER >= 20170426
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20170308
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x085e, 90)
+#elif PACKETVER >= 20170208
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20170607
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x085f, 8)
+#elif PACKETVER >= 20170228
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x085f, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20171220
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0860, 19)
+#elif PACKETVER >= 20171108
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0860, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20171227
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20170927
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20170607
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20171206
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20170927
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0862, 10)
+#elif PACKETVER >= 20170823
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0862, 10)
+#elif PACKETVER >= 20170614
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20170426
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0862, 26)
+#elif PACKETVER >= 20170125
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20171115
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20170726
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20170705
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0863, 36)
+#elif PACKETVER >= 20170614
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20170308
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20170927
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0864, 36)
+#elif PACKETVER >= 20170614
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20170927
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0865, 4)
+#elif PACKETVER >= 20170412
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20170920
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0866, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20170502
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0866, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20171213
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20171129
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0867, 19)
+#elif PACKETVER >= 20170621
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20170816
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0868, 7)
+#elif PACKETVER >= 20170607
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0868, 4)
+#elif PACKETVER >= 20170524
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20170517
+packetLen(0x0868, 90)
+#elif PACKETVER >= 20170426
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20170419
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0869, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20171213
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x086a, 4)
+#elif PACKETVER >= 20171025
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x086a, 4)
+#elif PACKETVER >= 20170927
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x086a, 18)
+#elif PACKETVER >= 20170322
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20170308
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x086b, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20171108
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x086c, 10)
+#elif PACKETVER >= 20170927
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x086c, 19)
+#elif PACKETVER >= 20170621
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20171206
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20171122
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x086d, 4)
+#elif PACKETVER >= 20170830
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x086d, 36)
+#elif PACKETVER >= 20170531
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x086d, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20171213
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x086e, 18)
+#elif PACKETVER >= 20170816
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20170726
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20171122
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20170816
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20170502
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20170412
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20170125
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20170228
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0870, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20170614
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0871, 19)
+#elif PACKETVER >= 20170228
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0871, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20171227
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20171108
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20171227
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20170531
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0873, 19)
+#elif PACKETVER >= 20170308
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20170125
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0873, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20170801
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20171002
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0875, 12)
+#elif PACKETVER >= 20170920
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20170906
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20170614
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0875, 12)
+#elif PACKETVER >= 20170531
+packetLen(0x0875, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0875, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20171206
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0876, 4)
+#elif PACKETVER >= 20171108
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20170816
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20170222
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0876, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20171129
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0877, 18)
+#elif PACKETVER >= 20170228
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20170118
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0877, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20171206
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0878, 36)
+#elif PACKETVER >= 20171115
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20170801
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0878, 7)
+#elif PACKETVER >= 20170607
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20170419
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20170712
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20170621
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0879, 4)
+#elif PACKETVER >= 20170208
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0879, 4)
+#elif PACKETVER >= 20170125
+packetLen(0x0879, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20171025
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20170502
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x087a, 18)
+#elif PACKETVER >= 20170405
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x087a, 18)
+#elif PACKETVER >= 20170215
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20171018
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20170913
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x087b, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x087b, 7)
+#elif PACKETVER >= 20170524
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x087b, 10)
+#elif PACKETVER >= 20170322
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20170222
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x087c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20171227
+packetLen(0x087d, 36)
+#elif PACKETVER >= 20171002
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20170816
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x087d, 12)
+#elif PACKETVER >= 20170801
+packetLen(0x087d, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x087d, 36)
+#elif PACKETVER >= 20170222
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20170201
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20171122
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20171108
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20171025
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20170222
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x087e, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20170118
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x087f, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x087f, 36)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20171227
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0880, 12)
+#elif PACKETVER >= 20170816
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0880, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20171220
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20170823
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20170719
+packetLen(0x0881, 90)
+#elif PACKETVER >= 20170426
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0881, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0881, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x0881, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20171227
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0882, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0882, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0882, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0882, 12)
+#elif PACKETVER >= 20170531
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20171122
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0883, 8)
+#elif PACKETVER >= 20170222
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20171115
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20170906
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0884, 19)
+#elif PACKETVER >= 20170823
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0884, 7)
+#elif PACKETVER >= 20170308
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20170222
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20170208
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20171227
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20171213
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20171129
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20171011
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20170726
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20170628
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20170614
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20170531
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20170208
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20171108
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20170712
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0886, 26)
+#elif PACKETVER >= 20170208
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0886, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20170502
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20171227
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0888, 10)
+#elif PACKETVER >= 20170823
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20170405
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20171025
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20170614
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20170308
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0889, 5)
+#elif PACKETVER >= 20170222
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20171227
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20171206
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20170222
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x088a, 90)
+#elif PACKETVER >= 20170118
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20171122
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x088b, 18)
+#elif PACKETVER >= 20170222
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20170208
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20171227
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20170920
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20170816
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20170524
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20170222
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20170208
+packetLen(0x088c, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20171227
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20170712
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20170426
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20171108
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20170927
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20170712
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20170426
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20170322
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20171220
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20171129
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0890, 18)
+#elif PACKETVER >= 20170920
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20170816
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20170419
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20171129
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20170726
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20170920
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0892, 36)
+#elif PACKETVER >= 20170816
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0892, 90)
+#elif PACKETVER >= 20170322
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20170215
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0892, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20171129
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0893, 12)
+#elif PACKETVER >= 20170419
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20170405
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20170607
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0894, 19)
+#elif PACKETVER >= 20170524
+packetLen(0x0894, 8)
+#elif PACKETVER >= 20170517
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20170228
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20171108
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0895, 4)
+#elif PACKETVER >= 20170816
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20170201
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20171115
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0896, 4)
+#elif PACKETVER >= 20170524
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0896, 12)
+#elif PACKETVER >= 20170222
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0896, 4)
+#elif PACKETVER >= 20170111
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0896, 5)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20171213
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0897, 19)
+#elif PACKETVER >= 20171129
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20171011
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20170906
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20170426
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20171129
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0898, 10)
+#elif PACKETVER >= 20170426
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20171227
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0899, 36)
+#elif PACKETVER >= 20171108
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20171011
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20170927
+packetLen(0x0899, 7)
+#elif PACKETVER >= 20170906
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20170816
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20170621
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20170524
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20170502
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20171129
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20171025
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20170906
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20170726
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20170712
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x089a, 19)
+#elif PACKETVER >= 20170607
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20170419
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20171108
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20170920
+packetLen(0x089b, 7)
+#elif PACKETVER >= 20170222
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x089b, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20171206
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20171108
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20170517
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20170426
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20171213
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x089d, 36)
+#elif PACKETVER >= 20171011
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x089d, 19)
+#elif PACKETVER >= 20170726
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20170712
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20170607
+packetLen(0x089d, 8)
+#elif PACKETVER >= 20170426
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20171227
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20171129
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x089e, 7)
+#elif PACKETVER >= 20170906
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20170524
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x089e, 4)
+#elif PACKETVER >= 20170308
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20171025
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x089f, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20171227
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20171108
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20170531
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x08a1, 12)
+#elif PACKETVER >= 20170419
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20170215
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x08a1, 18)
+#elif PACKETVER >= 20170118
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20171213
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20171115
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x08a2, 10)
+#elif PACKETVER >= 20171101
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20170913
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20170621
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20170308
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20170222
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x08a2, 12)
+#elif PACKETVER >= 20170104
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20170913
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20170823
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20170809
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08a3, 8)
+#elif PACKETVER >= 20170228
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x08a3, 5)
+#elif PACKETVER >= 20170118
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20171213
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20171122
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20170502
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20171227
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20171206
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x08a5, 8)
+#elif PACKETVER >= 20171002
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20170412
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x08a5, 19)
+#elif PACKETVER >= 20170201
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20171129
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x08a6, 10)
+#elif PACKETVER >= 20171025
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20170920
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20170816
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20170801
+packetLen(0x08a6, 4)
+#elif PACKETVER >= 20170726
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20170118
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x08a6, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20170920
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08a7, 4)
+#elif PACKETVER >= 20170906
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20170823
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x08a7, 4)
+#elif PACKETVER >= 20170801
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08a7, 36)
+#elif PACKETVER >= 20170308
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20170906
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x08a8, 8)
+#elif PACKETVER >= 20170726
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x08a8, 19)
+#elif PACKETVER >= 20170628
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20170524
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20170405
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20170215
+packetLen(0x08a8, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20171129
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x08a9, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x08a9, 5)
+#elif PACKETVER >= 20170614
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20170920
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08aa, 10)
+#elif PACKETVER >= 20170801
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20170426
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20171108
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20170920
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08ab, 18)
+#elif PACKETVER >= 20170801
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x08ab, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20170920
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x08ac, 26)
+#elif PACKETVER >= 20170816
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20170607
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x08ac, 90)
+#elif PACKETVER >= 20170215
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20171115
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x08ad, 12)
+#elif PACKETVER >= 20171002
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20170920
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20170607
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20170906
+packetLen(0x08e3, 157)
+#elif PACKETVER >= 20170104
+packetLen(0x08e3, 149)
+#endif
+
+// 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
+#if PACKETVER >= 20170405
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20170816
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0918, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20170927
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0919, 10)
+#elif PACKETVER >= 20170614
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0919, -1)
+#elif PACKETVER >= 20170208
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0919, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20171220
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20170712
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20170329
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x091a, 36)
+#elif PACKETVER >= 20170315
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20170118
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x091a, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20171227
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20171108
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x091b, 8)
+#elif PACKETVER >= 20170920
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x091b, 10)
+#elif PACKETVER >= 20170524
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20170426
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170322
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170118
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x091b, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x091b, 5)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20170823
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x091c, 12)
+#elif PACKETVER >= 20170201
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20171213
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20170920
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x091d, 12)
+#elif PACKETVER >= 20170104
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20171227
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20171129
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x091e, 90)
+#elif PACKETVER >= 20171002
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x091e, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x091e, 12)
+#elif PACKETVER >= 20170531
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x091e, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20171115
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x091f, 4)
+#elif PACKETVER >= 20170308
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x091f, 10)
+#elif PACKETVER >= 20170125
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20170426
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0920, 10)
+#elif PACKETVER >= 20170322
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0920, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20170927
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170906
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0921, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x0921, 8)
+#elif PACKETVER >= 20170801
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20171002
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0922, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0922, 19)
+#elif PACKETVER >= 20170322
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20171213
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0923, 8)
+#elif PACKETVER >= 20171129
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0923, 18)
+#elif PACKETVER >= 20171002
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20170913
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0923, -1)
+#elif PACKETVER >= 20170531
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0923, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20170215
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20171227
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0924, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20170920
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0925, 12)
+#elif PACKETVER >= 20170906
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0925, 8)
+#elif PACKETVER >= 20170614
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0925, 26)
+#elif PACKETVER >= 20170531
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0925, 90)
+#elif PACKETVER >= 20170222
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0925, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20171122
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20170927
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20170405
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20171002
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0927, 5)
+#elif PACKETVER >= 20170920
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0927, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0927, 10)
+#elif PACKETVER >= 20170502
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0927, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20171011
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20171227
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20170405
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0929, 12)
+#elif PACKETVER >= 20170104
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20170816
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20170816
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20170222
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x092b, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20171227
+packetLen(0x092c, 19)
+#elif PACKETVER >= 20170823
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20170726
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20171011
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x092d, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20171227
+packetLen(0x092e, 4)
+#elif PACKETVER >= 20171213
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x092e, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20170906
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x092e, 8)
+#elif PACKETVER >= 20170405
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x092e, 19)
+#elif PACKETVER >= 20170308
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20170726
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x092f, 18)
+#elif PACKETVER >= 20170712
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x092f, 4)
+#elif PACKETVER >= 20170621
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20170712
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0930, -1)
+#elif PACKETVER >= 20170426
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20170816
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0931, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20170712
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0932, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0932, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20171227
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0933, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0933, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0933, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20171129
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0934, 36)
+#elif PACKETVER >= 20171011
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0934, 36)
+#elif PACKETVER >= 20170712
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20170614
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20170531
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20170426
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0935, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20171213
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20170927
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0937, 12)
+#elif PACKETVER >= 20170607
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0937, 12)
+#elif PACKETVER >= 20170405
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20170222
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0937, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20171227
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20171025
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0938, 7)
+#elif PACKETVER >= 20170419
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0938, 90)
+#elif PACKETVER >= 20170208
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0938, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20171108
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0939, 5)
+#elif PACKETVER >= 20170927
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0939, 5)
+#elif PACKETVER >= 20170906
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0939, 26)
+#elif PACKETVER >= 20170816
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20170405
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0939, 26)
+#elif PACKETVER >= 20170228
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0939, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20170823
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x093a, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x093a, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20171129
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x093b, 10)
+#elif PACKETVER >= 20171011
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x093b, 90)
+#elif PACKETVER >= 20170816
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20170517
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x093c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20171011
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x093d, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x093d, 19)
+#elif PACKETVER >= 20170726
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x093d, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20171227
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x093e, 7)
+#elif PACKETVER >= 20171011
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x093e, 7)
+#elif PACKETVER >= 20170726
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x093e, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20170426
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x093f, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20171206
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170906
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20170809
+packetLen(0x0940, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0940, 18)
+#elif PACKETVER >= 20170502
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20170118
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0940, 10)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20171227
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20170823
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20171213
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0942, 18)
+#elif PACKETVER >= 20170906
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0942, 12)
+#elif PACKETVER >= 20170614
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0942, 26)
+#elif PACKETVER >= 20170222
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20171011
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0943, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0943, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0943, 36)
+#elif PACKETVER >= 20170201
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20171025
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0944, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20170712
+packetLen(0x0944, 36)
+#elif PACKETVER >= 20170621
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0944, 19)
+#elif PACKETVER >= 20170607
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20170322
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0944, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0944, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20171227
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20171115
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0945, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0945, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20171227
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20171220
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20171129
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20170726
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20170531
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0946, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20171129
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0947, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20170308
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20170308
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0948, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20171115
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0949, 19)
+#elif PACKETVER >= 20170614
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0949, -1)
+#elif PACKETVER >= 20170405
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0949, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20171025
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20171206
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x094b, 8)
+#elif PACKETVER >= 20171002
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x094b, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20170927
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x094c, -1)
+#elif PACKETVER >= 20170712
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20170412
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x094c, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x094c, 19)
+#elif PACKETVER >= 20170118
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20171108
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20171227
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20171115
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x094e, 19)
+#elif PACKETVER >= 20170222
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20171025
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x094f, 18)
+#elif PACKETVER >= 20170809
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20170726
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20170405
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20171018
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0950, 19)
+#elif PACKETVER >= 20170823
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0950, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20171227
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20171108
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20170801
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20170322
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0952, 36)
+#elif PACKETVER >= 20170308
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0952, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20171206
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20170913
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0953, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20171018
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0954, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20170308
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0955, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20170628
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20171227
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0957, 26)
+#elif PACKETVER >= 20171213
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20171108
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0957, 7)
+#elif PACKETVER >= 20170628
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0957, 36)
+#elif PACKETVER >= 20170614
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20171213
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20171108
+packetLen(0x0958, 18)
+#elif PACKETVER >= 20170531
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0958, 4)
+#elif PACKETVER >= 20170517
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20170502
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20170125
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0958, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20171002
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0959, 10)
+#elif PACKETVER >= 20170823
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20171122
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x095a, 26)
+#elif PACKETVER >= 20171108
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20171101
+packetLen(0x095a, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x095a, 10)
+#elif PACKETVER >= 20170920
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x095a, 10)
+#elif PACKETVER >= 20170809
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x095a, 19)
+#elif PACKETVER >= 20170726
+packetLen(0x095a, 90)
+#elif PACKETVER >= 20170531
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20170830
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20170628
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x095b, 4)
+#elif PACKETVER >= 20170531
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x095b, 18)
+#elif PACKETVER >= 20170419
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20170920
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x095c, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20170426
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x095c, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x095c, 12)
+#elif PACKETVER >= 20170201
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20170927
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20170426
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20170412
+packetLen(0x095d, 36)
+#elif PACKETVER >= 20170228
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+#if PACKETVER >= 20171011
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x095f, 4)
+#elif PACKETVER >= 20170405
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x095f, 4)
+#elif PACKETVER >= 20170222
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20171227
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0960, 90)
+#elif PACKETVER >= 20170823
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0960, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0960, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20171213
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20170927
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0961, 19)
+#elif PACKETVER >= 20170118
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0961, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20171129
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20171108
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20170215
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20171115
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0963, 7)
+#elif PACKETVER >= 20170801
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0963, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0963, 12)
+#elif PACKETVER >= 20170607
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x0963, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20171227
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0964, 26)
+#elif PACKETVER >= 20170524
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20171115
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20170426
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20171206
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0966, 19)
+#elif PACKETVER >= 20171108
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0966, 10)
+#elif PACKETVER >= 20170927
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0966, 90)
+#elif PACKETVER >= 20170726
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20170208
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20171115
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20170531
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0967, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20171129
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0968, -1)
+#elif PACKETVER >= 20170607
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0968, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0968, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20171227
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20170222
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0969, 5)
+#elif PACKETVER >= 20170208
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20170118
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20171227
+packetLen(0x096a, 18)
+#elif PACKETVER >= 20171220
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170719
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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, 59)
+
+// 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, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// 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
+#if PACKETVER >= 20170830
+packetLen(0x0a49, 20)
+#elif PACKETVER >= 20170104
+packetLen(0x0a49, 22)
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 4)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34)
+
+// 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, 57)
+
+// 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, 51)
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8)
+
+// Packet: 0x0a98
+#if PACKETVER >= 20170426
+packetLen(0x0a98, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0a98, 12)
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20170419
+packetLen(0x0a99, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0a99, 8)
+#endif
+
+// 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, 7)
+
+// 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
+#if PACKETVER >= 20170329
+packetLen(0x0aac, 69)
+#elif PACKETVER >= 20170104
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20170118
+packetLen(0x0aad, 51)
+#elif PACKETVER >= 20170104
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7)
+
+// Packet: 0x0ab3
+#if PACKETVER >= 20170118
+packetLen(0x0ab3, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0ab3, 15)
+#endif
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20170111
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+#if PACKETVER >= 20170111
+packetLen(0x0ab5, 2)
+#endif
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20170111
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+#if PACKETVER >= 20170111
+packetLen(0x0ab7, 4)
+#endif
+
+// Packet: 0x0ab8
+#if PACKETVER >= 20170111
+packetLen(0x0ab8, 2)
+#endif
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20170111
+packetLen(0x0ab9, 39)
+#endif
+
+// Packet: 0x0aba
+#if PACKETVER >= 20170118
+packetLen(0x0aba, 2)
+#endif
+
+// Packet: 0x0abb
+#if PACKETVER >= 20170118
+packetLen(0x0abb, 2)
+#endif
+
+// Packet: 0x0abc
+#if PACKETVER >= 20170201
+packetLen(0x0abc, -1)
+#endif
+
+// Packet: 0x0abd
+#if PACKETVER >= 20170215
+packetLen(0x0abd, 10)
+#endif
+
+// Packet: 0x0abe
+#if PACKETVER >= 20170228
+packetLen(0x0abe, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0abe, 116)
+#endif
+
+// Packet: 0x0abf
+#if PACKETVER >= 20170228
+packetLen(0x0abf, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0abf, 114)
+#endif
+
+// Packet: 0x0ac0
+#if PACKETVER >= 20170228
+packetLen(0x0ac0, 26)
+#endif
+
+// Packet: 0x0ac1
+#if PACKETVER >= 20170228
+packetLen(0x0ac1, 26)
+#endif
+
+// Packet: 0x0ac2
+#if PACKETVER >= 20170228
+packetLen(0x0ac2, -1)
+#endif
+
+// Packet: 0x0ac3
+#if PACKETVER >= 20170228
+packetLen(0x0ac3, 2)
+#endif
+
+// Packet: 0x0ac4
+#if PACKETVER >= 20170228
+packetLen(0x0ac4, -1)
+#endif
+
+// Packet: 0x0ac5
+#if PACKETVER >= 20170228
+packetLen(0x0ac5, 156)
+#endif
+
+// Packet: 0x0ac6
+#if PACKETVER >= 20170228
+packetLen(0x0ac6, 156)
+#endif
+
+// Packet: 0x0ac7
+#if PACKETVER >= 20170228
+packetLen(0x0ac7, 156)
+#endif
+
+// Packet: 0x0ac8
+#if PACKETVER >= 20170308
+packetLen(0x0ac8, 2)
+#endif
+
+// Packet: 0x0ac9
+#if PACKETVER >= 20170308
+packetLen(0x0ac9, -1)
+#endif
+
+// Packet: 0x0aca
+#if PACKETVER >= 20170322
+packetLen(0x0aca, 3)
+#endif
+
+// Packet: 0x0acb
+#if PACKETVER >= 20170405
+packetLen(0x0acb, 12)
+#endif
+
+// Packet: 0x0acc
+#if PACKETVER >= 20170405
+packetLen(0x0acc, 18)
+#endif
+
+// Packet: 0x0acd
+#if PACKETVER >= 20170419
+packetLen(0x0acd, 23)
+#endif
+
+// Packet: 0x0ace
+#if PACKETVER >= 20170502
+packetLen(0x0ace, 4)
+#endif
+
+// Packet: 0x0acf
+#if PACKETVER >= 20171115
+packetLen(0x0acf, 68)
+#elif PACKETVER >= 20170705
+packetLen(0x0acf, 64)
+#elif PACKETVER >= 20170621
+packetLen(0x0acf, 57)
+#elif PACKETVER >= 20170614
+packetLen(0x0acf, 52)
+#endif
+
+// Packet: 0x0ad0
+#if PACKETVER >= 20170614
+packetLen(0x0ad0, 11)
+#endif
+
+// Packet: 0x0ad1
+#if PACKETVER >= 20170614
+packetLen(0x0ad1, -1)
+#endif
+
+// Packet: 0x0ad2
+#if PACKETVER >= 20170719
+packetLen(0x0ad2, 30)
+#endif
+
+// Packet: 0x0ad3
+#if PACKETVER >= 20170719
+packetLen(0x0ad3, -1)
+#endif
+
+// Packet: 0x0ad4
+#if PACKETVER >= 20170719
+packetLen(0x0ad4, -1)
+#endif
+
+// Packet: 0x0ad5
+#if PACKETVER >= 20170719
+packetLen(0x0ad5, 2)
+#endif
+
+// Packet: 0x0ad6
+#if PACKETVER >= 20170719
+packetLen(0x0ad6, 2)
+#endif
+
+// Packet: 0x0ad7
+#if PACKETVER >= 20170719
+packetLen(0x0ad7, 8)
+#endif
+
+// Packet: 0x0ad8
+#if PACKETVER >= 20170719
+packetLen(0x0ad8, 8)
+#endif
+
+// Packet: 0x0ad9
+#if PACKETVER >= 20170719
+packetLen(0x0ad9, -1)
+#endif
+
+// Packet: 0x0ada
+#if PACKETVER >= 20170726
+packetLen(0x0ada, 30)
+#endif
+
+// Packet: 0x0adb
+#if PACKETVER >= 20170830
+packetLen(0x0adb, -1)
+#endif
+
+// Packet: 0x0adc
+#if PACKETVER >= 20170906
+packetLen(0x0adc, 6)
+#endif
+
+// Packet: 0x0add
+#if PACKETVER >= 20170913
+packetLen(0x0add, 22)
+#endif
+
+// Packet: 0x0ade
+#if PACKETVER >= 20170920
+packetLen(0x0ade, 6)
+#endif
+
+// Packet: 0x0adf
+#if PACKETVER >= 20170920
+packetLen(0x0adf, 58)
+#endif
+
+// Packet: 0x0ae0
+#if PACKETVER >= 20170927
+packetLen(0x0ae0, 30)
+#endif
+
+// Packet: 0x0ae1
+#if PACKETVER >= 20171101
+packetLen(0x0ae1, 28)
+#endif
+
+// Packet: 0x0ae2
+#if PACKETVER >= 20171115
+packetLen(0x0ae2, 7)
+#endif
+
+// Packet: 0x0ae3
+#if PACKETVER >= 20171213
+packetLen(0x0ae3, -1)
+#endif
+
+// Packet: 0x0ae4
+#if PACKETVER >= 20171206
+packetLen(0x0ae4, 89)
+#endif
+
+// Packet: 0x0ae5
+#if PACKETVER >= 20171206
+packetLen(0x0ae5, -1)
+#endif
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20171213
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20171213
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+#if PACKETVER >= 20171220
+packetLen(0x0ae8, 2)
+#endif
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20171220
+packetLen(0x0ae9, 64)
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20171227
+packetLen(0x0aea, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0aea, 11)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20171227
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+#if PACKETVER >= 20171227
+packetLen(0x0aec, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2017_LEN_MAIN_H */
diff --git a/src/common/packets/packets2017_len_re.h b/src/common/packets/packets2017_len_re.h
new file mode 100644
index 000000000..626876785
--- /dev/null
+++ b/src/common/packets/packets2017_len_re.h
@@ -0,0 +1,9109 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2017_LEN_RE_H
+#define COMMON_PACKETS2017_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20170830
+packetLen(0x006d, 157)
+#elif PACKETVER >= 20170104
+packetLen(0x006d, 149)
+#endif
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20171220
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20171115
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0202, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0202, 4)
+#elif PACKETVER >= 20170719
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170705
+packetLen(0x0202, 36)
+#elif PACKETVER >= 20170628
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0202, 12)
+#elif PACKETVER >= 20170329
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170315
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170228
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20171108
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x022d, 36)
+#elif PACKETVER >= 20171025
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20171011
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x022d, 4)
+#elif PACKETVER >= 20170801
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x022d, 7)
+#elif PACKETVER >= 20170712
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170705
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170329
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170315
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20170228
+packetLen(0x022d, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x022d, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20171101
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x023b, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170705
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170621
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x023b, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x023b, 10)
+#elif PACKETVER >= 20170329
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170315
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x023b, 2)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0281, 19)
+#elif PACKETVER >= 20171213
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20171129
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170920
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20170906
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20170830
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170816
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0281, 8)
+#elif PACKETVER >= 20170801
+packetLen(0x0281, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170705
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170426
+packetLen(0x0281, 36)
+#elif PACKETVER >= 20170412
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0281, 18)
+#elif PACKETVER >= 20170329
+packetLen(0x0281, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20170111
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0281, -1)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20171206
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20171122
+packetLen(0x02c4, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x02c4, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x02c4, 90)
+#elif PACKETVER >= 20170830
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20170712
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x02c4, 18)
+#elif PACKETVER >= 20170322
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x02c4, 10)
+#elif PACKETVER >= 20170222
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x02c4, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x02c4, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x02c4, 2)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171206
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x035f, 4)
+#elif PACKETVER >= 20171115
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x035f, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170719
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x035f, 6)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20171227
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0360, 19)
+#elif PACKETVER >= 20171101
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170719
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x0360, 5)
+#elif PACKETVER >= 20170308
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0360, 7)
+#elif PACKETVER >= 20170201
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20171227
+packetLen(0x0361, 7)
+#elif PACKETVER >= 20171206
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20171101
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0361, 4)
+#elif PACKETVER >= 20170830
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20170816
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170705
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0361, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x0361, -1)
+#elif PACKETVER >= 20170531
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170329
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170315
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20171220
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0362, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170816
+packetLen(0x0362, 90)
+#elif PACKETVER >= 20170809
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170705
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0362, 7)
+#elif PACKETVER >= 20170329
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20170322
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0362, 5)
+#elif PACKETVER >= 20170111
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20171220
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171206
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0363, 26)
+#elif PACKETVER >= 20171101
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0363, 19)
+#elif PACKETVER >= 20171011
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171002
+packetLen(0x0363, 10)
+#elif PACKETVER >= 20170906
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0363, 18)
+#elif PACKETVER >= 20170823
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170809
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170726
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170705
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170517
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170412
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0363, 4)
+#elif PACKETVER >= 20170322
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170315
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20170111
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0363, 8)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20171220
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20171101
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170816
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0364, 26)
+#elif PACKETVER >= 20170726
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170719
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170705
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170621
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x0364, 36)
+#elif PACKETVER >= 20170531
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0364, 26)
+#elif PACKETVER >= 20170502
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170329
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170315
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20170111
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20171220
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20171206
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170830
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170809
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170719
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170705
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170621
+packetLen(0x0365, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170419
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0365, 6)
+#elif PACKETVER >= 20170329
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170315
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20170111
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0365, 18)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20171227
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171220
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20171129
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171122
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171101
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170927
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20170913
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20170830
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170816
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0366, 26)
+#elif PACKETVER >= 20170801
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170726
+packetLen(0x0366, 19)
+#elif PACKETVER >= 20170719
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170621
+packetLen(0x0366, 18)
+#elif PACKETVER >= 20170517
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170412
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170315
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170228
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170215
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20170125
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0366, 90)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20170621
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0367, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20170215
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0367, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20171227
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171108
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0368, 19)
+#elif PACKETVER >= 20171002
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0368, 4)
+#elif PACKETVER >= 20170621
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0368, 36)
+#elif PACKETVER >= 20170517
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20171227
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20171220
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20171129
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20171122
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20171108
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0369, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170927
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170830
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170809
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170726
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20170719
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170607
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0369, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170412
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20170322
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170315
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170228
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170215
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20170125
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0369, 7)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20171122
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20171018
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20171011
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170927
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170719
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170705
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170517
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170329
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170315
+packetLen(0x0436, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20170125
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0436, 5)
+#elif PACKETVER >= 20170111
+packetLen(0x0436, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0436, 4)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20171227
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171220
+packetLen(0x0437, 18)
+#elif PACKETVER >= 20171129
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171122
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171101
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171011
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20171002
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170920
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0437, -1)
+#elif PACKETVER >= 20170906
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170809
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170614
+packetLen(0x0437, 36)
+#elif PACKETVER >= 20170524
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20170426
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170412
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170315
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170228
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170215
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0437, 5)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20171227
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171220
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171122
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171108
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20171011
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171002
+packetLen(0x0438, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170830
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170816
+packetLen(0x0438, 7)
+#elif PACKETVER >= 20170809
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170726
+packetLen(0x0438, 26)
+#elif PACKETVER >= 20170719
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170412
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170315
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170228
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170215
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170125
+packetLen(0x0438, 7)
+#elif PACKETVER >= 20170118
+packetLen(0x0438, 19)
+#elif PACKETVER >= 20170111
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0438, 19)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20171220
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x07e4, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170705
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x07e4, 26)
+#elif PACKETVER >= 20170614
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x07e4, 5)
+#elif PACKETVER >= 20170517
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170329
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20170111
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x07e4, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20171220
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20171101
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170809
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170719
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170705
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x07ec, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170329
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170315
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20170111
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171122
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171101
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170913
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0802, 5)
+#elif PACKETVER >= 20170816
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0802, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170719
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170712
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170705
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170621
+packetLen(0x0802, 90)
+#elif PACKETVER >= 20170531
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20170426
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170329
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170315
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20170111
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0802, 26)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20171227
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171220
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171101
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20170412
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20170208
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0811, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20171227
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171220
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171108
+packetLen(0x0815, 36)
+#elif PACKETVER >= 20171101
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0815, 10)
+#elif PACKETVER >= 20170426
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170412
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20170125
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0815, -1)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20170920
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0817, 7)
+#elif PACKETVER >= 20170524
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0817, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20171227
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171220
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171108
+packetLen(0x0819, 90)
+#elif PACKETVER >= 20171101
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170830
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170809
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170719
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170607
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0819, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x0819, 12)
+#elif PACKETVER >= 20170412
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170329
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0819, 12)
+#elif PACKETVER >= 20170215
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20170125
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20171108
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0835, 19)
+#elif PACKETVER >= 20170816
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0835, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20171227
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171220
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171129
+packetLen(0x0838, 26)
+#elif PACKETVER >= 20171122
+packetLen(0x0838, 8)
+#elif PACKETVER >= 20171115
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171108
+packetLen(0x0838, -1)
+#elif PACKETVER >= 20171101
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170913
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170830
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170809
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170719
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170621
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0838, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170419
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170315
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170228
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170215
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20170125
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0838, 12)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20171227
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171220
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171122
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171101
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170913
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170830
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170809
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170719
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170614
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20170517
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170412
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170315
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170228
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170215
+packetLen(0x083c, 7)
+#elif PACKETVER >= 20170201
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20170125
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x083c, 10)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20170927
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x085a, 5)
+#elif PACKETVER >= 20170426
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x085a, 7)
+#elif PACKETVER >= 20170111
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x085a, 26)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20171129
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x085b, 6)
+#elif PACKETVER >= 20171108
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x085b, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+#if PACKETVER >= 20171002
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x085c, 10)
+#elif PACKETVER >= 20170322
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x085c, 4)
+#elif PACKETVER >= 20170222
+packetLen(0x085c, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x085c, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x085c, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x085c, 2)
+#endif
+
+// Packet: 0x085d
+#if PACKETVER >= 20171115
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x085d, 12)
+#elif PACKETVER >= 20170628
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20170405
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x085d, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x085d, 18)
+#elif PACKETVER >= 20170118
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+#if PACKETVER >= 20171227
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20170726
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x085e, -1)
+#elif PACKETVER >= 20170531
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x085e, 7)
+#elif PACKETVER >= 20170426
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20170308
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x085e, 90)
+#elif PACKETVER >= 20170208
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x085e, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20170607
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x085f, 8)
+#elif PACKETVER >= 20170228
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x085f, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20171220
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0860, 19)
+#elif PACKETVER >= 20171108
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0860, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0860, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+#if PACKETVER >= 20171227
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0861, -1)
+#elif PACKETVER >= 20170927
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20170607
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0861, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20171206
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x0862, -1)
+#elif PACKETVER >= 20170927
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0862, 10)
+#elif PACKETVER >= 20170823
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0862, 10)
+#elif PACKETVER >= 20170614
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20170426
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0862, 26)
+#elif PACKETVER >= 20170125
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0862, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20171115
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20170726
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20170705
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170628
+packetLen(0x0863, 36)
+#elif PACKETVER >= 20170614
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0863, 5)
+#elif PACKETVER >= 20170308
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20170927
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0864, 36)
+#elif PACKETVER >= 20170614
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0864, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20170927
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0865, -1)
+#elif PACKETVER >= 20170913
+packetLen(0x0865, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0865, 4)
+#elif PACKETVER >= 20170412
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0865, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0865, 2)
+#endif
+
+// Packet: 0x0866
+#if PACKETVER >= 20170920
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0866, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20170502
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0866, -1)
+#elif PACKETVER >= 20170228
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0866, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20171213
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20171129
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0867, 19)
+#elif PACKETVER >= 20170621
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0867, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20170816
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0868, 7)
+#elif PACKETVER >= 20170607
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0868, 4)
+#elif PACKETVER >= 20170524
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20170517
+packetLen(0x0868, 90)
+#elif PACKETVER >= 20170426
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0868, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+#if PACKETVER >= 20170419
+packetLen(0x0869, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0869, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0869, 2)
+#endif
+
+// Packet: 0x086a
+#if PACKETVER >= 20171213
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x086a, 4)
+#elif PACKETVER >= 20171025
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x086a, 4)
+#elif PACKETVER >= 20170927
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x086a, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x086a, 18)
+#elif PACKETVER >= 20170322
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20170308
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x086b, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x086b, 2)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20171108
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x086c, 10)
+#elif PACKETVER >= 20170927
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x086c, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x086c, 19)
+#elif PACKETVER >= 20170621
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x086c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20171206
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x086d, 18)
+#elif PACKETVER >= 20171122
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x086d, 4)
+#elif PACKETVER >= 20170830
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x086d, 36)
+#elif PACKETVER >= 20170531
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x086d, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x086d, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x086d, 2)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20171213
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x086e, 18)
+#elif PACKETVER >= 20170816
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x086e, 5)
+#elif PACKETVER >= 20170726
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x086e, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20171122
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20170816
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x086f, 5)
+#elif PACKETVER >= 20170502
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20170412
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20170125
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20170228
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0870, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20170614
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0871, 19)
+#elif PACKETVER >= 20170228
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0871, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20171227
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0872, 10)
+#elif PACKETVER >= 20171108
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0872, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20171227
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0873, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0873, 8)
+#elif PACKETVER >= 20170531
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0873, 19)
+#elif PACKETVER >= 20170308
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20170125
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0873, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20170801
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20171002
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0875, 12)
+#elif PACKETVER >= 20170920
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20170906
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0875, 4)
+#elif PACKETVER >= 20170614
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0875, 12)
+#elif PACKETVER >= 20170531
+packetLen(0x0875, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0875, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20171206
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0876, 4)
+#elif PACKETVER >= 20171108
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20170816
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20170222
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0876, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20171129
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0877, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0877, 18)
+#elif PACKETVER >= 20170228
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0877, 6)
+#elif PACKETVER >= 20170118
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0877, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20171206
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0878, 36)
+#elif PACKETVER >= 20171115
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20170801
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0878, 7)
+#elif PACKETVER >= 20170607
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0878, 26)
+#elif PACKETVER >= 20170419
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20170712
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20170621
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0879, 4)
+#elif PACKETVER >= 20170208
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0879, 4)
+#elif PACKETVER >= 20170125
+packetLen(0x0879, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0879, 2)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20171025
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20170502
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x087a, 18)
+#elif PACKETVER >= 20170405
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x087a, 18)
+#elif PACKETVER >= 20170215
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x087a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20171018
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20170913
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x087b, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x087b, 7)
+#elif PACKETVER >= 20170524
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x087b, 10)
+#elif PACKETVER >= 20170322
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x087b, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+#if PACKETVER >= 20170222
+packetLen(0x087c, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x087c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x087c, 2)
+#endif
+
+// Packet: 0x087d
+#if PACKETVER >= 20171227
+packetLen(0x087d, 36)
+#elif PACKETVER >= 20171002
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20170816
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x087d, 12)
+#elif PACKETVER >= 20170801
+packetLen(0x087d, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x087d, 6)
+#elif PACKETVER >= 20170531
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20170315
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x087d, 36)
+#elif PACKETVER >= 20170222
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20170201
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20171122
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x087e, 8)
+#elif PACKETVER >= 20171108
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20171025
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x087e, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x087e, 5)
+#elif PACKETVER >= 20170222
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x087e, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+#if PACKETVER >= 20170118
+packetLen(0x087f, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x087f, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x087f, 36)
+#endif
+
+// Packet: 0x0880
+#if PACKETVER >= 20171227
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0880, 12)
+#elif PACKETVER >= 20170816
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0880, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20171220
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20170823
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0881, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0881, 4)
+#elif PACKETVER >= 20170719
+packetLen(0x0881, 90)
+#elif PACKETVER >= 20170426
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0881, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0881, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x0881, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20171227
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0882, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0882, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0882, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0882, 12)
+#elif PACKETVER >= 20170531
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20171122
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0883, 8)
+#elif PACKETVER >= 20170222
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0883, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+#if PACKETVER >= 20171115
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0884, -1)
+#elif PACKETVER >= 20170906
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0884, 19)
+#elif PACKETVER >= 20170823
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0884, 7)
+#elif PACKETVER >= 20170308
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20170222
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20170208
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0884, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0884, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20171227
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20171213
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20171129
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20171011
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20170726
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20170628
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20170614
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0885, 26)
+#elif PACKETVER >= 20170531
+packetLen(0x0885, -1)
+#elif PACKETVER >= 20170208
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20171108
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0886, 8)
+#elif PACKETVER >= 20170712
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0886, 26)
+#elif PACKETVER >= 20170208
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0886, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20170502
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0887, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20171227
+packetLen(0x0888, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0888, 10)
+#elif PACKETVER >= 20170823
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0888, 18)
+#elif PACKETVER >= 20170405
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0888, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20171025
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0889, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20170614
+packetLen(0x0889, 90)
+#elif PACKETVER >= 20170308
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0889, 5)
+#elif PACKETVER >= 20170222
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20171227
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20171206
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x088a, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20170222
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x088a, 90)
+#elif PACKETVER >= 20170118
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x088a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+#if PACKETVER >= 20171122
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x088b, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x088b, 18)
+#elif PACKETVER >= 20170222
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x088b, 26)
+#elif PACKETVER >= 20170208
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x088b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20171227
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20170920
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x088c, 5)
+#elif PACKETVER >= 20170816
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x088c, 10)
+#elif PACKETVER >= 20170524
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20170222
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20170208
+packetLen(0x088c, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20171227
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20170712
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20170607
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x088d, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x088d, 5)
+#elif PACKETVER >= 20170426
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x088d, -1)
+#elif PACKETVER >= 20170322
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20171108
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20170927
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x088e, 5)
+#elif PACKETVER >= 20170712
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x088e, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+#if PACKETVER >= 20170426
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20170322
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x088f, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20171220
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20171129
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0890, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0890, 18)
+#elif PACKETVER >= 20170920
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0890, 90)
+#elif PACKETVER >= 20170816
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0890, 36)
+#elif PACKETVER >= 20170419
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0890, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0890, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20171129
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20170726
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0891, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20170920
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0892, 36)
+#elif PACKETVER >= 20170816
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0892, 90)
+#elif PACKETVER >= 20170322
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20170215
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0892, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20171129
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0893, 12)
+#elif PACKETVER >= 20170419
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0893, -1)
+#elif PACKETVER >= 20170405
+packetLen(0x0893, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0893, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20170607
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0894, 19)
+#elif PACKETVER >= 20170524
+packetLen(0x0894, 8)
+#elif PACKETVER >= 20170517
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20170228
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0894, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+#if PACKETVER >= 20171108
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0895, 4)
+#elif PACKETVER >= 20170816
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0895, 5)
+#elif PACKETVER >= 20170201
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0895, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20171115
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0896, 4)
+#elif PACKETVER >= 20170524
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0896, 12)
+#elif PACKETVER >= 20170222
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0896, 4)
+#elif PACKETVER >= 20170111
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20170104
+packetLen(0x0896, 5)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20171213
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0897, 19)
+#elif PACKETVER >= 20171129
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20171011
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20170906
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20170426
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20171129
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0898, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0898, 10)
+#elif PACKETVER >= 20170426
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0898, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20171227
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0899, 36)
+#elif PACKETVER >= 20171108
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20171011
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20170927
+packetLen(0x0899, 7)
+#elif PACKETVER >= 20170906
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0899, 6)
+#elif PACKETVER >= 20170816
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20170621
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20170524
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20170502
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+#if PACKETVER >= 20171129
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x089a, 8)
+#elif PACKETVER >= 20171025
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x089a, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20170906
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x089a, -1)
+#elif PACKETVER >= 20170726
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20170712
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x089a, 19)
+#elif PACKETVER >= 20170607
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x089a, 36)
+#elif PACKETVER >= 20170419
+packetLen(0x089a, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x089a, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x089a, 2)
+#endif
+
+// Packet: 0x089b
+#if PACKETVER >= 20171108
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x089b, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20170920
+packetLen(0x089b, 7)
+#elif PACKETVER >= 20170222
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x089b, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20171206
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20171108
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x089c, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20170517
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x089c, 19)
+#elif PACKETVER >= 20170426
+packetLen(0x089c, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x089c, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20171213
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x089d, 36)
+#elif PACKETVER >= 20171011
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x089d, 19)
+#elif PACKETVER >= 20170726
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20170712
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20170607
+packetLen(0x089d, 8)
+#elif PACKETVER >= 20170426
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20171227
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20171129
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x089e, 7)
+#elif PACKETVER >= 20170906
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20170524
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x089e, 4)
+#elif PACKETVER >= 20170308
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x089e, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x089e, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20171025
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x089f, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20171227
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20171108
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x08a0, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a0, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+#if PACKETVER >= 20170531
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x08a1, 12)
+#elif PACKETVER >= 20170419
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x08a1, 7)
+#elif PACKETVER >= 20170215
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x08a1, 18)
+#elif PACKETVER >= 20170118
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20171213
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x08a2, 26)
+#elif PACKETVER >= 20171115
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x08a2, 10)
+#elif PACKETVER >= 20171101
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20171025
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20170913
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x08a2, 8)
+#elif PACKETVER >= 20170830
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20170621
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x08a2, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x08a2, 19)
+#elif PACKETVER >= 20170308
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a2, 36)
+#elif PACKETVER >= 20170222
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x08a2, 12)
+#elif PACKETVER >= 20170104
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20170913
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20170823
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20170809
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08a3, 8)
+#elif PACKETVER >= 20170228
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x08a3, 5)
+#elif PACKETVER >= 20170118
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x08a3, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20171213
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20171122
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x08a4, 5)
+#elif PACKETVER >= 20170502
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x08a4, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x08a4, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20171227
+packetLen(0x08a5, 5)
+#elif PACKETVER >= 20171206
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x08a5, 8)
+#elif PACKETVER >= 20171002
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20170412
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x08a5, 19)
+#elif PACKETVER >= 20170201
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20171129
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x08a6, 10)
+#elif PACKETVER >= 20171025
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x08a6, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20170920
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08a6, 6)
+#elif PACKETVER >= 20170816
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x08a6, 19)
+#elif PACKETVER >= 20170801
+packetLen(0x08a6, 4)
+#elif PACKETVER >= 20170726
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a6, 8)
+#elif PACKETVER >= 20170118
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x08a6, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x08a6, 2)
+#endif
+
+// Packet: 0x08a7
+#if PACKETVER >= 20170920
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08a7, 4)
+#elif PACKETVER >= 20170906
+packetLen(0x08a7, 18)
+#elif PACKETVER >= 20170823
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x08a7, 4)
+#elif PACKETVER >= 20170801
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08a7, 36)
+#elif PACKETVER >= 20170308
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x08a7, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20170906
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x08a8, 8)
+#elif PACKETVER >= 20170726
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x08a8, 19)
+#elif PACKETVER >= 20170628
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20170524
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x08a8, 5)
+#elif PACKETVER >= 20170405
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x08a8, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20170215
+packetLen(0x08a8, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+#if PACKETVER >= 20171129
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x08a9, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x08a9, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x08a9, 5)
+#elif PACKETVER >= 20170614
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x08a9, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x08a9, 2)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20170920
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08aa, 10)
+#elif PACKETVER >= 20170801
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08aa, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20170426
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20170322
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x08aa, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20171108
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x08ab, -1)
+#elif PACKETVER >= 20170920
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08ab, 18)
+#elif PACKETVER >= 20170801
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08ab, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x08ab, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x08ab, 2)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20170920
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x08ac, 26)
+#elif PACKETVER >= 20170816
+packetLen(0x08ac, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x08ac, 6)
+#elif PACKETVER >= 20170607
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x08ac, 90)
+#elif PACKETVER >= 20170215
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x08ac, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20171115
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x08ad, 12)
+#elif PACKETVER >= 20171002
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20170920
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20170607
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x08ad, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x08ad, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20170830
+packetLen(0x08e3, 157)
+#elif PACKETVER >= 20170104
+packetLen(0x08e3, 149)
+#endif
+
+// 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
+#if PACKETVER >= 20170405
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20170816
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0918, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20170927
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0919, 10)
+#elif PACKETVER >= 20170614
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0919, -1)
+#elif PACKETVER >= 20170208
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0919, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20171220
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20171213
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20170913
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20170712
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x091a, 5)
+#elif PACKETVER >= 20170329
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x091a, 36)
+#elif PACKETVER >= 20170315
+packetLen(0x091a, 6)
+#elif PACKETVER >= 20170118
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x091a, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20171227
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20171108
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x091b, 8)
+#elif PACKETVER >= 20170920
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170726
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170621
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x091b, 10)
+#elif PACKETVER >= 20170524
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20170426
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170322
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x091b, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x091b, 6)
+#elif PACKETVER >= 20170118
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x091b, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x091b, 5)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20170823
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x091c, 12)
+#elif PACKETVER >= 20170201
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20171213
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20170920
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x091d, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x091d, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x091d, 12)
+#elif PACKETVER >= 20170104
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20171227
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20171129
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x091e, 90)
+#elif PACKETVER >= 20171002
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x091e, 5)
+#elif PACKETVER >= 20170830
+packetLen(0x091e, 6)
+#elif PACKETVER >= 20170801
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x091e, 12)
+#elif PACKETVER >= 20170531
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x091e, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20171115
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x091f, 5)
+#elif PACKETVER >= 20170719
+packetLen(0x091f, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x091f, 4)
+#elif PACKETVER >= 20170308
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x091f, 10)
+#elif PACKETVER >= 20170125
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x091f, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20170426
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0920, 10)
+#elif PACKETVER >= 20170322
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0920, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20170927
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170906
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0921, 5)
+#elif PACKETVER >= 20170823
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x0921, 8)
+#elif PACKETVER >= 20170801
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0921, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20171002
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0922, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0922, 19)
+#elif PACKETVER >= 20170322
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20171213
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0923, 8)
+#elif PACKETVER >= 20171129
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0923, 18)
+#elif PACKETVER >= 20171002
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20170913
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0923, -1)
+#elif PACKETVER >= 20170531
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0923, -1)
+#elif PACKETVER >= 20170517
+packetLen(0x0923, 19)
+#elif PACKETVER >= 20170215
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0923, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20171227
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0924, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20170920
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0925, 12)
+#elif PACKETVER >= 20170906
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0925, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0925, 8)
+#elif PACKETVER >= 20170614
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0925, 26)
+#elif PACKETVER >= 20170531
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0925, 90)
+#elif PACKETVER >= 20170222
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0925, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+#if PACKETVER >= 20171122
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0926, 6)
+#elif PACKETVER >= 20170927
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20170405
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0926, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0926, 2)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20171002
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0927, 5)
+#elif PACKETVER >= 20170920
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x0927, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0927, 10)
+#elif PACKETVER >= 20170502
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0927, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0927, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0927, 2)
+#endif
+
+// Packet: 0x0928
+#if PACKETVER >= 20171011
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0928, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+#if PACKETVER >= 20171227
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20170405
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0929, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0929, 12)
+#elif PACKETVER >= 20170104
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+#if PACKETVER >= 20170816
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x092a, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x092a, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x092a, 2)
+#endif
+
+// Packet: 0x092b
+#if PACKETVER >= 20170816
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x092b, 6)
+#elif PACKETVER >= 20170222
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x092b, -1)
+#elif PACKETVER >= 20170201
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x092b, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+#if PACKETVER >= 20171227
+packetLen(0x092c, 19)
+#elif PACKETVER >= 20170823
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20170726
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x092c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20171011
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x092d, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x092d, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x092d, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20171227
+packetLen(0x092e, 4)
+#elif PACKETVER >= 20171213
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x092e, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20170906
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x092e, 6)
+#elif PACKETVER >= 20170419
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x092e, 8)
+#elif PACKETVER >= 20170405
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x092e, 19)
+#elif PACKETVER >= 20170308
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20170726
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x092f, 18)
+#elif PACKETVER >= 20170712
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x092f, 4)
+#elif PACKETVER >= 20170621
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x092f, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+#if PACKETVER >= 20170712
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0930, -1)
+#elif PACKETVER >= 20170426
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0930, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20170816
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20170614
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0931, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20170712
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0932, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0932, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20171227
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0933, 5)
+#elif PACKETVER >= 20170607
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0933, 8)
+#elif PACKETVER >= 20170125
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0933, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20171129
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0934, 36)
+#elif PACKETVER >= 20171011
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0934, 36)
+#elif PACKETVER >= 20170712
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20170614
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20170531
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0934, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20170426
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0935, 90)
+#elif PACKETVER >= 20170104
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20171213
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0936, 5)
+#elif PACKETVER >= 20170621
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0936, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20170927
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0937, 12)
+#elif PACKETVER >= 20170607
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0937, 12)
+#elif PACKETVER >= 20170405
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20170308
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0937, 6)
+#elif PACKETVER >= 20170222
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20170215
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20170208
+packetLen(0x0937, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20171227
+packetLen(0x0938, 26)
+#elif PACKETVER >= 20171025
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0938, -1)
+#elif PACKETVER >= 20170614
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0938, 7)
+#elif PACKETVER >= 20170419
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0938, 90)
+#elif PACKETVER >= 20170208
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0938, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0938, 2)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20171108
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0939, 5)
+#elif PACKETVER >= 20170927
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0939, 5)
+#elif PACKETVER >= 20170906
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0939, 26)
+#elif PACKETVER >= 20170816
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20170405
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0939, 26)
+#elif PACKETVER >= 20170228
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0939, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20170823
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x093a, 26)
+#elif PACKETVER >= 20170426
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x093a, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+#if PACKETVER >= 20171129
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x093b, 10)
+#elif PACKETVER >= 20171011
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x093b, 8)
+#elif PACKETVER >= 20170927
+packetLen(0x093b, 90)
+#elif PACKETVER >= 20170816
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20170809
+packetLen(0x093b, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x093b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x093b, 2)
+#endif
+
+// Packet: 0x093c
+#if PACKETVER >= 20170517
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x093c, 26)
+#elif PACKETVER >= 20170201
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x093c, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20171011
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x093d, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x093d, 19)
+#elif PACKETVER >= 20170726
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x093d, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20171227
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x093e, 7)
+#elif PACKETVER >= 20171011
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x093e, 7)
+#elif PACKETVER >= 20170726
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20170308
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x093e, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20170426
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x093f, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20171206
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170906
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170823
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0940, 10)
+#elif PACKETVER >= 20170809
+packetLen(0x0940, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0940, 18)
+#elif PACKETVER >= 20170502
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170208
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20170118
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0940, 10)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20171227
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0941, 8)
+#elif PACKETVER >= 20170823
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20171213
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20171002
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0942, 18)
+#elif PACKETVER >= 20170906
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0942, 12)
+#elif PACKETVER >= 20170614
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20170419
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0942, 26)
+#elif PACKETVER >= 20170222
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0942, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+#if PACKETVER >= 20171011
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x0943, 26)
+#elif PACKETVER >= 20170906
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0943, -1)
+#elif PACKETVER >= 20170801
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0943, 36)
+#elif PACKETVER >= 20170201
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0943, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20171025
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0944, 36)
+#elif PACKETVER >= 20170726
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20170712
+packetLen(0x0944, 36)
+#elif PACKETVER >= 20170621
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0944, 19)
+#elif PACKETVER >= 20170607
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20170322
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0944, 6)
+#elif PACKETVER >= 20170308
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0944, 8)
+#elif PACKETVER >= 20170201
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0944, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20171227
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20171115
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20170920
+packetLen(0x0945, 18)
+#elif PACKETVER >= 20170607
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0945, 6)
+#elif PACKETVER >= 20170524
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0945, -1)
+#elif PACKETVER >= 20170419
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0945, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20171227
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20171220
+packetLen(0x0946, 4)
+#elif PACKETVER >= 20171129
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20170726
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20170531
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0946, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0946, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20171129
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0947, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0947, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0947, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20170308
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+#if PACKETVER >= 20170308
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0948, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0948, 2)
+#endif
+
+// Packet: 0x0949
+#if PACKETVER >= 20171115
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0949, 19)
+#elif PACKETVER >= 20170614
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20170607
+packetLen(0x0949, -1)
+#elif PACKETVER >= 20170405
+packetLen(0x0949, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x0949, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0949, 2)
+#endif
+
+// Packet: 0x094a
+#if PACKETVER >= 20171025
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x094a, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x094a, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20171206
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x094b, 8)
+#elif PACKETVER >= 20171002
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x094b, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20170927
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x094c, -1)
+#elif PACKETVER >= 20170712
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170705
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20170412
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x094c, 36)
+#elif PACKETVER >= 20170208
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x094c, 19)
+#elif PACKETVER >= 20170118
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x094c, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20171108
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20171002
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20171227
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x094e, 8)
+#elif PACKETVER >= 20171115
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20170322
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x094e, 19)
+#elif PACKETVER >= 20170222
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+#if PACKETVER >= 20171025
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x094f, 18)
+#elif PACKETVER >= 20170809
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20170726
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x094f, 26)
+#elif PACKETVER >= 20170405
+packetLen(0x094f, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20171018
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0950, 19)
+#elif PACKETVER >= 20170823
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0950, 10)
+#elif PACKETVER >= 20170517
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20170502
+packetLen(0x0950, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20171227
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0951, 5)
+#elif PACKETVER >= 20170104
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20171108
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0952, 90)
+#elif PACKETVER >= 20170801
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0952, 5)
+#elif PACKETVER >= 20170322
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20170315
+packetLen(0x0952, 36)
+#elif PACKETVER >= 20170308
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0952, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+#if PACKETVER >= 20171206
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0953, 8)
+#elif PACKETVER >= 20170913
+packetLen(0x0953, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x0953, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0953, 2)
+#endif
+
+// Packet: 0x0954
+#if PACKETVER >= 20171018
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20171011
+packetLen(0x0954, 5)
+#elif PACKETVER >= 20170801
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0954, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20170308
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20170228
+packetLen(0x0955, 18)
+#elif PACKETVER >= 20170104
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20170628
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20171227
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0957, 26)
+#elif PACKETVER >= 20171213
+packetLen(0x0957, 5)
+#elif PACKETVER >= 20171108
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0957, 7)
+#elif PACKETVER >= 20170628
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0957, 36)
+#elif PACKETVER >= 20170614
+packetLen(0x0957, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20171213
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20171122
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20171108
+packetLen(0x0958, 18)
+#elif PACKETVER >= 20170531
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0958, 4)
+#elif PACKETVER >= 20170517
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20170502
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20170125
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0958, 36)
+#elif PACKETVER >= 20170104
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20171002
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20170906
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170830
+packetLen(0x0959, 10)
+#elif PACKETVER >= 20170823
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20171122
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x095a, 26)
+#elif PACKETVER >= 20171108
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20171101
+packetLen(0x095a, -1)
+#elif PACKETVER >= 20171002
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170927
+packetLen(0x095a, 10)
+#elif PACKETVER >= 20170920
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x095a, 10)
+#elif PACKETVER >= 20170809
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x095a, 19)
+#elif PACKETVER >= 20170726
+packetLen(0x095a, 90)
+#elif PACKETVER >= 20170531
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x095a, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20170830
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x095b, 5)
+#elif PACKETVER >= 20170628
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x095b, 4)
+#elif PACKETVER >= 20170531
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x095b, 18)
+#elif PACKETVER >= 20170419
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20170412
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20170920
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170913
+packetLen(0x095c, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20170426
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x095c, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x095c, 12)
+#elif PACKETVER >= 20170201
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x095c, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20170927
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x095d, 5)
+#elif PACKETVER >= 20170426
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x095d, -1)
+#elif PACKETVER >= 20170412
+packetLen(0x095d, 36)
+#elif PACKETVER >= 20170228
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x095d, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x095d, 2)
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+#if PACKETVER >= 20171011
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x095f, 4)
+#elif PACKETVER >= 20170405
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20170329
+packetLen(0x095f, 4)
+#elif PACKETVER >= 20170222
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20171227
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0960, 90)
+#elif PACKETVER >= 20170823
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20170816
+packetLen(0x0960, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0960, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20171213
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20170927
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0961, 6)
+#elif PACKETVER >= 20170628
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x0961, 19)
+#elif PACKETVER >= 20170118
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0961, -1)
+#elif PACKETVER >= 20170104
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20171129
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20171108
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0962, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x0962, 8)
+#elif PACKETVER >= 20170215
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20170125
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x0962, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+#if PACKETVER >= 20171115
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0963, 7)
+#elif PACKETVER >= 20170801
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170726
+packetLen(0x0963, -1)
+#elif PACKETVER >= 20170621
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170614
+packetLen(0x0963, 12)
+#elif PACKETVER >= 20170607
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0963, 6)
+#elif PACKETVER >= 20170502
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x0963, 8)
+#elif PACKETVER >= 20170419
+packetLen(0x0963, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20171227
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0964, 26)
+#elif PACKETVER >= 20170524
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20170517
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20170405
+packetLen(0x0964, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+#if PACKETVER >= 20171115
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20170426
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20170419
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20170201
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20170125
+packetLen(0x0965, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20171206
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x0966, 19)
+#elif PACKETVER >= 20171108
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20171101
+packetLen(0x0966, 10)
+#elif PACKETVER >= 20170927
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20170920
+packetLen(0x0966, 90)
+#elif PACKETVER >= 20170726
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20170719
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20170208
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0966, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20171115
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20171108
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20170531
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20170524
+packetLen(0x0967, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20171129
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20171122
+packetLen(0x0968, -1)
+#elif PACKETVER >= 20170607
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20170531
+packetLen(0x0968, -1)
+#elif PACKETVER >= 20170524
+packetLen(0x0968, 6)
+#elif PACKETVER >= 20170104
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20171227
+packetLen(0x0969, 6)
+#elif PACKETVER >= 20170222
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20170215
+packetLen(0x0969, 5)
+#elif PACKETVER >= 20170208
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20170118
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20170111
+packetLen(0x0969, 26)
+#elif PACKETVER >= 20170104
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20171227
+packetLen(0x096a, 18)
+#elif PACKETVER >= 20171220
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171129
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20171122
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20171101
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171002
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170913
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170906
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170830
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170823
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170809
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170801
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170719
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170621
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170517
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170426
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170412
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170322
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170315
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170308
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170228
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170222
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170215
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170201
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20170125
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20170118
+packetLen(0x096a, 8)
+#elif PACKETVER >= 20170104
+packetLen(0x096a, 6)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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, 59)
+
+// 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, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// 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
+#if PACKETVER >= 20170830
+packetLen(0x0a49, 20)
+#elif PACKETVER >= 20170104
+packetLen(0x0a49, 22)
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 4)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34)
+
+// 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, 57)
+
+// 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, 51)
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8)
+
+// Packet: 0x0a98
+#if PACKETVER >= 20170426
+packetLen(0x0a98, 10)
+#elif PACKETVER >= 20170104
+packetLen(0x0a98, 12)
+#endif
+
+// Packet: 0x0a99
+#if PACKETVER >= 20170419
+packetLen(0x0a99, 4)
+#elif PACKETVER >= 20170104
+packetLen(0x0a99, 8)
+#endif
+
+// 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, 7)
+
+// 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
+#if PACKETVER >= 20170329
+packetLen(0x0aac, 69)
+#elif PACKETVER >= 20170104
+packetLen(0x0aac, 67)
+#endif
+
+// Packet: 0x0aad
+#if PACKETVER >= 20170118
+packetLen(0x0aad, 51)
+#elif PACKETVER >= 20170104
+packetLen(0x0aad, 47)
+#endif
+
+// Packet: 0x0aae
+packetLen(0x0aae, 2)
+
+// Packet: 0x0aaf
+packetLen(0x0aaf, 6)
+
+// Packet: 0x0ab0
+packetLen(0x0ab0, 6)
+
+// Packet: 0x0ab1
+packetLen(0x0ab1, 14)
+
+// Packet: 0x0ab2
+packetLen(0x0ab2, 7)
+
+// Packet: 0x0ab3
+#if PACKETVER >= 20170118
+packetLen(0x0ab3, 19)
+#elif PACKETVER >= 20170104
+packetLen(0x0ab3, 15)
+#endif
+
+// Packet: 0x0ab4
+#if PACKETVER >= 20170111
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+#if PACKETVER >= 20170111
+packetLen(0x0ab5, 2)
+#endif
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20170111
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+#if PACKETVER >= 20170111
+packetLen(0x0ab7, 4)
+#endif
+
+// Packet: 0x0ab8
+#if PACKETVER >= 20170111
+packetLen(0x0ab8, 2)
+#endif
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20170111
+packetLen(0x0ab9, 39)
+#endif
+
+// Packet: 0x0aba
+#if PACKETVER >= 20170118
+packetLen(0x0aba, 2)
+#endif
+
+// Packet: 0x0abb
+#if PACKETVER >= 20170118
+packetLen(0x0abb, 2)
+#endif
+
+// Packet: 0x0abc
+#if PACKETVER >= 20170201
+packetLen(0x0abc, -1)
+#endif
+
+// Packet: 0x0abd
+#if PACKETVER >= 20170215
+packetLen(0x0abd, 10)
+#endif
+
+// Packet: 0x0abe
+#if PACKETVER >= 20170228
+packetLen(0x0abe, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0abe, 116)
+#endif
+
+// Packet: 0x0abf
+#if PACKETVER >= 20170228
+packetLen(0x0abf, -1)
+#elif PACKETVER >= 20170222
+packetLen(0x0abf, 114)
+#endif
+
+// Packet: 0x0ac0
+#if PACKETVER >= 20170228
+packetLen(0x0ac0, 26)
+#endif
+
+// Packet: 0x0ac1
+#if PACKETVER >= 20170228
+packetLen(0x0ac1, 26)
+#endif
+
+// Packet: 0x0ac2
+#if PACKETVER >= 20170228
+packetLen(0x0ac2, -1)
+#endif
+
+// Packet: 0x0ac3
+#if PACKETVER >= 20170228
+packetLen(0x0ac3, 2)
+#endif
+
+// Packet: 0x0ac4
+#if PACKETVER >= 20170228
+packetLen(0x0ac4, -1)
+#endif
+
+// Packet: 0x0ac5
+#if PACKETVER >= 20170228
+packetLen(0x0ac5, 156)
+#endif
+
+// Packet: 0x0ac6
+#if PACKETVER >= 20170228
+packetLen(0x0ac6, 156)
+#endif
+
+// Packet: 0x0ac7
+#if PACKETVER >= 20170228
+packetLen(0x0ac7, 156)
+#endif
+
+// Packet: 0x0ac8
+#if PACKETVER >= 20170308
+packetLen(0x0ac8, 2)
+#endif
+
+// Packet: 0x0ac9
+#if PACKETVER >= 20170308
+packetLen(0x0ac9, -1)
+#endif
+
+// Packet: 0x0aca
+#if PACKETVER >= 20170322
+packetLen(0x0aca, 3)
+#endif
+
+// Packet: 0x0acb
+#if PACKETVER >= 20170405
+packetLen(0x0acb, 12)
+#endif
+
+// Packet: 0x0acc
+#if PACKETVER >= 20170405
+packetLen(0x0acc, 18)
+#endif
+
+// Packet: 0x0acd
+#if PACKETVER >= 20170419
+packetLen(0x0acd, 23)
+#endif
+
+// Packet: 0x0ace
+#if PACKETVER >= 20170502
+packetLen(0x0ace, 4)
+#endif
+
+// Packet: 0x0acf
+#if PACKETVER >= 20171115
+packetLen(0x0acf, 68)
+#elif PACKETVER >= 20170705
+packetLen(0x0acf, 64)
+#elif PACKETVER >= 20170621
+packetLen(0x0acf, 57)
+#elif PACKETVER >= 20170614
+packetLen(0x0acf, 52)
+#endif
+
+// Packet: 0x0ad0
+#if PACKETVER >= 20170614
+packetLen(0x0ad0, 11)
+#endif
+
+// Packet: 0x0ad1
+#if PACKETVER >= 20170614
+packetLen(0x0ad1, -1)
+#endif
+
+// Packet: 0x0ad2
+#if PACKETVER >= 20170719
+packetLen(0x0ad2, 30)
+#endif
+
+// Packet: 0x0ad3
+#if PACKETVER >= 20170719
+packetLen(0x0ad3, -1)
+#endif
+
+// Packet: 0x0ad4
+#if PACKETVER >= 20170719
+packetLen(0x0ad4, -1)
+#endif
+
+// Packet: 0x0ad5
+#if PACKETVER >= 20170719
+packetLen(0x0ad5, 2)
+#endif
+
+// Packet: 0x0ad6
+#if PACKETVER >= 20170719
+packetLen(0x0ad6, 2)
+#endif
+
+// Packet: 0x0ad7
+#if PACKETVER >= 20170719
+packetLen(0x0ad7, 8)
+#endif
+
+// Packet: 0x0ad8
+#if PACKETVER >= 20170719
+packetLen(0x0ad8, 8)
+#endif
+
+// Packet: 0x0ad9
+#if PACKETVER >= 20170719
+packetLen(0x0ad9, -1)
+#endif
+
+// Packet: 0x0ada
+#if PACKETVER >= 20170726
+packetLen(0x0ada, 30)
+#endif
+
+// Packet: 0x0adb
+#if PACKETVER >= 20170830
+packetLen(0x0adb, -1)
+#endif
+
+// Packet: 0x0adc
+#if PACKETVER >= 20170906
+packetLen(0x0adc, 6)
+#endif
+
+// Packet: 0x0add
+#if PACKETVER >= 20170913
+packetLen(0x0add, 22)
+#endif
+
+// Packet: 0x0ade
+#if PACKETVER >= 20170920
+packetLen(0x0ade, 6)
+#endif
+
+// Packet: 0x0adf
+#if PACKETVER >= 20170920
+packetLen(0x0adf, 58)
+#endif
+
+// Packet: 0x0ae0
+#if PACKETVER >= 20170927
+packetLen(0x0ae0, 30)
+#endif
+
+// Packet: 0x0ae1
+#if PACKETVER >= 20171101
+packetLen(0x0ae1, 28)
+#endif
+
+// Packet: 0x0ae2
+#if PACKETVER >= 20171115
+packetLen(0x0ae2, 7)
+#endif
+
+// Packet: 0x0ae3
+#if PACKETVER >= 20171213
+packetLen(0x0ae3, -1)
+#endif
+
+// Packet: 0x0ae4
+#if PACKETVER >= 20171206
+packetLen(0x0ae4, 89)
+#endif
+
+// Packet: 0x0ae5
+#if PACKETVER >= 20171206
+packetLen(0x0ae5, -1)
+#endif
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20171213
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20171213
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+#if PACKETVER >= 20171220
+packetLen(0x0ae8, 2)
+#endif
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20171220
+packetLen(0x0ae9, 64)
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20171227
+packetLen(0x0aea, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0aea, 11)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20171227
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+#if PACKETVER >= 20171227
+packetLen(0x0aec, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2017_LEN_RE_H */
diff --git a/src/common/packets/packets2017_len_zero.h b/src/common/packets/packets2017_len_zero.h
new file mode 100644
index 000000000..2d4befaaa
--- /dev/null
+++ b/src/common/packets/packets2017_len_zero.h
@@ -0,0 +1,5375 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2017_LEN_ZERO_H
+#define COMMON_PACKETS2017_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 105)
+
+// 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, 17)
+
+// Packet: 0x009e
+packetLen(0x009e, 17)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 23)
+
+// 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, 19)
+
+// 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, 21)
+
+// 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, 4)
+
+// 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, 10)
+
+// 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, 21)
+
+// 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, 10)
+
+// Packet: 0x018f
+packetLen(0x018f, 6)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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, 5)
+
+// 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, 4)
+
+// 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, 22)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 22)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 13)
+
+// 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, 11)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 54)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 53)
+
+// Packet: 0x01da
+packetLen(0x01da, 60)
+
+// 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, 15)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20171130
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20171123
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0202, 36)
+#elif PACKETVER >= 20171115
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0202, 26)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 11)
+
+// 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, 8)
+
+// 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, 58)
+
+// Packet: 0x022b
+packetLen(0x022b, 57)
+
+// Packet: 0x022c
+packetLen(0x022c, 65)
+
+// Packet: 0x022d
+#if PACKETVER >= 20171130
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20171123
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x022d, -1)
+#elif PACKETVER >= 20171115
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x022d, 5)
+#endif
+
+// Packet: 0x022e
+packetLen(0x022e, 71)
+
+// Packet: 0x022f
+packetLen(0x022f, 5)
+
+// 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
+#if PACKETVER >= 20171130
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20171115
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x023b, 36)
+#endif
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0281, 10)
+#elif PACKETVER >= 20171214
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0281, 10)
+#elif PACKETVER >= 20171204
+packetLen(0x0281, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20171121
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0281, 4)
+#endif
+
+// 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, 8)
+
+// Packet: 0x0299
+packetLen(0x0299, 6)
+
+// Packet: 0x029a
+packetLen(0x029a, 27)
+
+// 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, 22)
+
+// 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
+#if PACKETVER >= 20171220
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x02c4, 26)
+#endif
+
+// 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, 29)
+
+// 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, 67)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 59)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 60)
+
+// 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
+#if PACKETVER >= 20171206
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x035f, 5)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20171206
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0360, 6)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20171204
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0361, 18)
+#elif PACKETVER >= 20171127
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0361, 5)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20171130
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20171123
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0362, 6)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20171130
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171123
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0363, -1)
+#elif PACKETVER >= 20171115
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0363, 6)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20171130
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20171121
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0364, 8)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20171130
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20171121
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x0365, 8)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20171214
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0366, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20171018
+packetLen(0x0366, 10)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20171127
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0367, 5)
+#elif PACKETVER >= 20171115
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0367, 90)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20171206
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0368, 6)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20171206
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20171130
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20171018
+packetLen(0x0369, 6)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20171214
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20171115
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0436, 19)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20171206
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171130
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0437, 7)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20171227
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0438, 6)
+#elif PACKETVER >= 20171206
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20171130
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0438, 10)
+#endif
+
+// 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, 10)
+
+// 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
+#if PACKETVER >= 20171130
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171121
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x07e4, -1)
+#endif
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x07ec, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20171121
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x07ec, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20171130
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171121
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0802, 18)
+#endif
+
+// 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, 20)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20171206
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171130
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20171121
+packetLen(0x0811, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0811, -1)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20171206
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171130
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0815, 2)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20171115
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0817, 6)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20171227
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0819, 90)
+#elif PACKETVER >= 20171206
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20171130
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0819, -1)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 10)
+
+// 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, 6)
+
+// 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
+#if PACKETVER >= 20171227
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20171214
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0835, 6)
+#elif PACKETVER >= 20171115
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20171018
+packetLen(0x0835, -1)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20171227
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0838, 6)
+#elif PACKETVER >= 20171206
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171130
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20171018
+packetLen(0x0838, 2)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20171214
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x083c, 8)
+#elif PACKETVER >= 20171204
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171130
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20171018
+packetLen(0x083c, 12)
+#endif
+
+// 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, 19)
+
+// 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
+#if PACKETVER >= 20171220
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x085b, 36)
+#elif PACKETVER >= 20171206
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x085b, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+packetLen(0x085d, 2)
+
+// Packet: 0x085e
+#if PACKETVER >= 20171220
+packetLen(0x085e, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x085e, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x085e, 2)
+#endif
+
+// Packet: 0x085f
+#if PACKETVER >= 20171227
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x085f, -1)
+#elif PACKETVER >= 20171127
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20171227
+packetLen(0x0860, 5)
+#elif PACKETVER >= 20171214
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0860, 4)
+#elif PACKETVER >= 20171127
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0860, 19)
+#elif PACKETVER >= 20171121
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0860, 4)
+#elif PACKETVER >= 20171018
+packetLen(0x0860, 2)
+#endif
+
+// Packet: 0x0861
+packetLen(0x0861, 2)
+
+// Packet: 0x0862
+#if PACKETVER >= 20171220
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20171206
+packetLen(0x0862, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+packetLen(0x0863, 2)
+
+// Packet: 0x0864
+#if PACKETVER >= 20171220
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0864, 8)
+#elif PACKETVER >= 20171206
+packetLen(0x0864, 5)
+#elif PACKETVER >= 20171204
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0864, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+packetLen(0x0865, 2)
+
+// Packet: 0x0866
+#if PACKETVER >= 20171123
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0866, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0866, 2)
+#endif
+
+// Packet: 0x0867
+#if PACKETVER >= 20171227
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0867, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+packetLen(0x0868, 2)
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+#if PACKETVER >= 20171220
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x086a, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+packetLen(0x086b, 2)
+
+// Packet: 0x086c
+#if PACKETVER >= 20171227
+packetLen(0x086c, 7)
+#elif PACKETVER >= 20171220
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+packetLen(0x086d, 2)
+
+// Packet: 0x086e
+packetLen(0x086e, 2)
+
+// Packet: 0x086f
+#if PACKETVER >= 20171206
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x086f, 19)
+#elif PACKETVER >= 20171130
+packetLen(0x086f, 12)
+#elif PACKETVER >= 20171018
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20171214
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0870, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20171227
+packetLen(0x0871, 6)
+#elif PACKETVER >= 20171220
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0871, 19)
+#elif PACKETVER >= 20171018
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20171227
+packetLen(0x0872, 90)
+#elif PACKETVER >= 20171220
+packetLen(0x0872, 8)
+#elif PACKETVER >= 20171204
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0872, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0872, 2)
+#endif
+
+// Packet: 0x0873
+#if PACKETVER >= 20171220
+packetLen(0x0873, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0873, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0873, 2)
+#endif
+
+// Packet: 0x0874
+#if PACKETVER >= 20171227
+packetLen(0x0874, 19)
+#elif PACKETVER >= 20171018
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20171204
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0875, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20171227
+packetLen(0x0876, 10)
+#elif PACKETVER >= 20171127
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0876, 4)
+#elif PACKETVER >= 20171018
+packetLen(0x0876, 2)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20171227
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20171227
+packetLen(0x0878, 6)
+#elif PACKETVER >= 20171214
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0878, 10)
+#elif PACKETVER >= 20171204
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0878, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+packetLen(0x0879, 2)
+
+// Packet: 0x087a
+#if PACKETVER >= 20171227
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x087a, 12)
+#elif PACKETVER >= 20171214
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x087a, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20171227
+packetLen(0x087b, 8)
+#elif PACKETVER >= 20171214
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x087b, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+#if PACKETVER >= 20171206
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x087d, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20171227
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x087e, 4)
+#elif PACKETVER >= 20171018
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+packetLen(0x0880, 2)
+
+// Packet: 0x0881
+#if PACKETVER >= 20171204
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0881, 10)
+#elif PACKETVER >= 20171121
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0881, 19)
+#elif PACKETVER >= 20171018
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20171127
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0882, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+packetLen(0x0883, 2)
+
+// Packet: 0x0884
+#if PACKETVER >= 20171204
+packetLen(0x0884, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0884, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0884, 2)
+#endif
+
+// Packet: 0x0885
+#if PACKETVER >= 20171227
+packetLen(0x0885, 8)
+#elif PACKETVER >= 20171214
+packetLen(0x0885, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0885, 6)
+#elif PACKETVER >= 20171204
+packetLen(0x0885, 90)
+#elif PACKETVER >= 20171018
+packetLen(0x0885, 2)
+#endif
+
+// Packet: 0x0886
+#if PACKETVER >= 20171220
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20171206
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0887, 5)
+#elif PACKETVER >= 20171130
+packetLen(0x0887, 36)
+#elif PACKETVER >= 20171018
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+packetLen(0x0888, 2)
+
+// Packet: 0x0889
+#if PACKETVER >= 20171227
+packetLen(0x0889, -1)
+#elif PACKETVER >= 20171123
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+packetLen(0x088a, 2)
+
+// Packet: 0x088b
+#if PACKETVER >= 20171220
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x088b, 4)
+#elif PACKETVER >= 20171204
+packetLen(0x088b, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x088b, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x088b, 2)
+#endif
+
+// Packet: 0x088c
+#if PACKETVER >= 20171220
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x088c, 8)
+#elif PACKETVER >= 20171127
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x088c, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20171214
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x088d, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+packetLen(0x088e, 2)
+
+// Packet: 0x088f
+packetLen(0x088f, 2)
+
+// Packet: 0x0890
+packetLen(0x0890, 2)
+
+// Packet: 0x0891
+packetLen(0x0891, 2)
+
+// Packet: 0x0892
+#if PACKETVER >= 20171220
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0892, 10)
+#elif PACKETVER >= 20171206
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0892, 4)
+#elif PACKETVER >= 20171123
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0892, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20171214
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0893, 26)
+#elif PACKETVER >= 20171130
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20171127
+packetLen(0x0893, 36)
+#elif PACKETVER >= 20171018
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+#if PACKETVER >= 20171227
+packetLen(0x0894, 18)
+#elif PACKETVER >= 20171220
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0894, 6)
+#elif PACKETVER >= 20171204
+packetLen(0x0894, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0894, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0894, 2)
+#endif
+
+// Packet: 0x0895
+packetLen(0x0895, 2)
+
+// Packet: 0x0896
+#if PACKETVER >= 20171206
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0896, 36)
+#elif PACKETVER >= 20171127
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0896, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0896, 2)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20171220
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0897, -1)
+#elif PACKETVER >= 20171206
+packetLen(0x0897, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+packetLen(0x0898, 2)
+
+// Packet: 0x0899
+#if PACKETVER >= 20171227
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0899, 5)
+#elif PACKETVER >= 20171204
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+#if PACKETVER >= 20171227
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x089b, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+packetLen(0x089c, 2)
+
+// Packet: 0x089d
+packetLen(0x089d, 2)
+
+// Packet: 0x089e
+#if PACKETVER >= 20171214
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x089e, 12)
+#elif PACKETVER >= 20171127
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x089e, 18)
+#elif PACKETVER >= 20171121
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+#if PACKETVER >= 20171227
+packetLen(0x089f, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x089f, 2)
+#endif
+
+// Packet: 0x08a0
+#if PACKETVER >= 20171204
+packetLen(0x08a0, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x08a0, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x08a0, 2)
+#endif
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2)
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2)
+
+// Packet: 0x08a3
+#if PACKETVER >= 20171227
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x08a3, -1)
+#elif PACKETVER >= 20171214
+packetLen(0x08a3, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+#if PACKETVER >= 20171214
+packetLen(0x08a4, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x08a4, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x08a4, 2)
+#endif
+
+// Packet: 0x08a5
+#if PACKETVER >= 20171227
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20171214
+packetLen(0x08a5, 90)
+#elif PACKETVER >= 20171018
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2)
+
+// Packet: 0x08a7
+#if PACKETVER >= 20171204
+packetLen(0x08a7, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x08a7, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x08a7, 2)
+#endif
+
+// Packet: 0x08a8
+#if PACKETVER >= 20171127
+packetLen(0x08a8, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x08a8, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x08a8, 2)
+#endif
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2)
+
+// Packet: 0x08aa
+#if PACKETVER >= 20171206
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2)
+
+// Packet: 0x08ac
+#if PACKETVER >= 20171214
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x08ac, 7)
+#elif PACKETVER >= 20171018
+packetLen(0x08ac, 2)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20171227
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x08ad, 19)
+#elif PACKETVER >= 20171123
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x08ad, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20171206
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0917, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20171123
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0918, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+packetLen(0x0919, 2)
+
+// Packet: 0x091a
+packetLen(0x091a, 2)
+
+// Packet: 0x091b
+#if PACKETVER >= 20171206
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x091b, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20171227
+packetLen(0x091c, 6)
+#elif PACKETVER >= 20171121
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x091c, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+packetLen(0x091d, 2)
+
+// Packet: 0x091e
+packetLen(0x091e, 2)
+
+// Packet: 0x091f
+#if PACKETVER >= 20171227
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x091f, -1)
+#elif PACKETVER >= 20171123
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x091f, 19)
+#elif PACKETVER >= 20171018
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20171227
+packetLen(0x0920, -1)
+#elif PACKETVER >= 20171214
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0920, 19)
+#elif PACKETVER >= 20171018
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20171227
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0921, 5)
+#elif PACKETVER >= 20171206
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0921, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20171121
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0922, 36)
+#elif PACKETVER >= 20171018
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+#if PACKETVER >= 20171206
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0924, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+#if PACKETVER >= 20171227
+packetLen(0x0925, 4)
+#elif PACKETVER >= 20171204
+packetLen(0x0925, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0925, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0925, 2)
+#endif
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+packetLen(0x0927, 2)
+
+// Packet: 0x0928
+#if PACKETVER >= 20171204
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0928, 4)
+#elif PACKETVER >= 20171123
+packetLen(0x0928, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0928, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0928, 2)
+#endif
+
+// Packet: 0x0929
+packetLen(0x0929, 2)
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+#if PACKETVER >= 20171127
+packetLen(0x092b, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x092b, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x092b, 2)
+#endif
+
+// Packet: 0x092c
+packetLen(0x092c, 2)
+
+// Packet: 0x092d
+#if PACKETVER >= 20171227
+packetLen(0x092d, 12)
+#elif PACKETVER >= 20171220
+packetLen(0x092d, 18)
+#elif PACKETVER >= 20171018
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20171227
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x092e, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+packetLen(0x092f, 2)
+
+// Packet: 0x0930
+#if PACKETVER >= 20171227
+packetLen(0x0930, 36)
+#elif PACKETVER >= 20171204
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0930, 19)
+#elif PACKETVER >= 20171127
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20171204
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0931, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20171227
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0932, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20171220
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0933, 7)
+#elif PACKETVER >= 20171018
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+#if PACKETVER >= 20171227
+packetLen(0x0934, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0934, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0934, 2)
+#endif
+
+// Packet: 0x0935
+#if PACKETVER >= 20171204
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0935, 8)
+#elif PACKETVER >= 20171127
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0935, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0935, 2)
+#endif
+
+// Packet: 0x0936
+#if PACKETVER >= 20171214
+packetLen(0x0936, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0936, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0936, 2)
+#endif
+
+// Packet: 0x0937
+#if PACKETVER >= 20171227
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0937, 7)
+#elif PACKETVER >= 20171206
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x0937, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+packetLen(0x0938, 2)
+
+// Packet: 0x0939
+#if PACKETVER >= 20171227
+packetLen(0x0939, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+#if PACKETVER >= 20171214
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x093a, -1)
+#elif PACKETVER >= 20171204
+packetLen(0x093a, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x093a, 7)
+#elif PACKETVER >= 20171018
+packetLen(0x093a, 2)
+#endif
+
+// Packet: 0x093b
+packetLen(0x093b, 2)
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+packetLen(0x093d, 2)
+
+// Packet: 0x093e
+#if PACKETVER >= 20171227
+packetLen(0x093e, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+packetLen(0x093f, 2)
+
+// Packet: 0x0940
+#if PACKETVER >= 20171214
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0940, 90)
+#elif PACKETVER >= 20171018
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20171227
+packetLen(0x0941, 26)
+#elif PACKETVER >= 20171214
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+packetLen(0x0942, 2)
+
+// Packet: 0x0943
+#if PACKETVER >= 20171123
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0943, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+packetLen(0x0944, 2)
+
+// Packet: 0x0945
+#if PACKETVER >= 20171227
+packetLen(0x0945, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20171227
+packetLen(0x0946, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20171204
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0947, -1)
+#elif PACKETVER >= 20171127
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0947, 36)
+#elif PACKETVER >= 20171018
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+packetLen(0x0948, 2)
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+#if PACKETVER >= 20171220
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x094a, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+#if PACKETVER >= 20171227
+packetLen(0x094b, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+#if PACKETVER >= 20171204
+packetLen(0x094c, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x094c, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x094c, 2)
+#endif
+
+// Packet: 0x094d
+#if PACKETVER >= 20171227
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x094d, 10)
+#elif PACKETVER >= 20171214
+packetLen(0x094d, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+packetLen(0x094e, 2)
+
+// Packet: 0x094f
+#if PACKETVER >= 20171220
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x094f, -1)
+#elif PACKETVER >= 20171204
+packetLen(0x094f, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x094f, 90)
+#elif PACKETVER >= 20171018
+packetLen(0x094f, 2)
+#endif
+
+// Packet: 0x0950
+#if PACKETVER >= 20171123
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20171121
+packetLen(0x0950, 4)
+#elif PACKETVER >= 20171018
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20171220
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0951, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0951, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20171214
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x0959, 36)
+#elif PACKETVER >= 20171121
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0959, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20171220
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x095a, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+#if PACKETVER >= 20171227
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x095b, 36)
+#elif PACKETVER >= 20171214
+packetLen(0x095b, 12)
+#elif PACKETVER >= 20171204
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x095b, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x095b, 2)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20171214
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+packetLen(0x095d, 2)
+
+// Packet: 0x095e
+#if PACKETVER >= 20171227
+packetLen(0x095e, 5)
+#elif PACKETVER >= 20171018
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+#if PACKETVER >= 20171214
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20171206
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20171204
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x095f, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x095f, 2)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20171220
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20171206
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0960, 6)
+#elif PACKETVER >= 20171127
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20171123
+packetLen(0x0960, 8)
+#elif PACKETVER >= 20171018
+packetLen(0x0960, 2)
+#endif
+
+// Packet: 0x0961
+packetLen(0x0961, 2)
+
+// Packet: 0x0962
+packetLen(0x0962, 2)
+
+// Packet: 0x0963
+packetLen(0x0963, 2)
+
+// Packet: 0x0964
+packetLen(0x0964, 2)
+
+// Packet: 0x0965
+#if PACKETVER >= 20171204
+packetLen(0x0965, 2)
+#elif PACKETVER >= 20171130
+packetLen(0x0965, 10)
+#elif PACKETVER >= 20171018
+packetLen(0x0965, 2)
+#endif
+
+// Packet: 0x0966
+#if PACKETVER >= 20171121
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x0966, 26)
+#elif PACKETVER >= 20171018
+packetLen(0x0966, 2)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20171227
+packetLen(0x0967, 10)
+#elif PACKETVER >= 20171018
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20171227
+packetLen(0x0968, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+#if PACKETVER >= 20171220
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20171214
+packetLen(0x0969, -1)
+#elif PACKETVER >= 20171018
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20171227
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x096a, 5)
+#elif PACKETVER >= 20171214
+packetLen(0x096a, 10)
+#elif PACKETVER >= 20171206
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171204
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20171130
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20171115
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20171018
+packetLen(0x096a, 2)
+#endif
+
+// 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, 31)
+
+// 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, 10)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 17)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 8)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 8)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 4)
+
+// 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, 8)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 8)
+
+// 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, 22)
+
+// 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, 75)
+
+// 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, 53)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 45)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 47)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 47)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 56)
+
+// 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, 23)
+
+// 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, 21)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 5)
+
+// 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, 59)
+
+// 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, 18)
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+packetLen(0x0a3f, 9)
+
+// 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, 20)
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+packetLen(0x0a4e, 4)
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34)
+
+// 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, 57)
+
+// 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, 51)
+
+// 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, 7)
+
+// 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, 4)
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+packetLen(0x0ab6, 6)
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+packetLen(0x0ab9, 39)
+
+// 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
+#if PACKETVER >= 20171113
+packetLen(0x0acf, 68)
+#elif PACKETVER >= 20171018
+packetLen(0x0acf, 64)
+#endif
+
+// 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, 30)
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+packetLen(0x0add, 22)
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6)
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58)
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+#if PACKETVER >= 20171025
+packetLen(0x0ae1, 28)
+#endif
+
+// Packet: 0x0ae2
+#if PACKETVER >= 20171109
+packetLen(0x0ae2, 7)
+#endif
+
+// Packet: 0x0ae3
+#if PACKETVER >= 20171123
+packetLen(0x0ae3, -1)
+#endif
+
+// Packet: 0x0ae4
+#if PACKETVER >= 20171130
+packetLen(0x0ae4, 89)
+#endif
+
+// Packet: 0x0ae5
+#if PACKETVER >= 20171130
+packetLen(0x0ae5, -1)
+#endif
+
+// Packet: 0x0ae6
+#if PACKETVER >= 20171214
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20171214
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+#if PACKETVER >= 20171214
+packetLen(0x0ae8, 2)
+#endif
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20171220
+packetLen(0x0ae9, 64)
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20171227
+packetLen(0x0aea, 2)
+#elif PACKETVER >= 20171220
+packetLen(0x0aea, 11)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20171227
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+#if PACKETVER >= 20171227
+packetLen(0x0aec, 2)
+#endif
+
+
+#endif /* COMMON_PACKETS2017_LEN_ZERO_H */
diff --git a/src/common/packets/packets2018_len_main.h b/src/common/packets/packets2018_len_main.h
new file mode 100644
index 000000000..42e34e731
--- /dev/null
+++ b/src/common/packets/packets2018_len_main.h
@@ -0,0 +1,5786 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2018_LEN_MAIN_H
+#define COMMON_PACKETS2018_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 105)
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x009d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x009d, 17)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20181121
+packetLen(0x009e, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x009e, 17)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20181121
+packetLen(0x00a0, 33)
+#elif PACKETVER >= 20180103
+packetLen(0x00a0, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x00e9, 29)
+#elif PACKETVER >= 20180103
+packetLen(0x00e9, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x00f4, 31)
+#elif PACKETVER >= 20180103
+packetLen(0x00f4, 21)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x010a, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0110, 14)
+#elif PACKETVER >= 20180103
+packetLen(0x0110, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0124, 31)
+#elif PACKETVER >= 20180103
+packetLen(0x0124, 21)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x018e, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x018e, 10)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20181121
+packetLen(0x018f, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x018f, 6)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x01a3, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x01a3, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x01ae, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x01c4, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20181121
+packetLen(0x01c5, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20181121
+packetLen(0x01c8, 15)
+#elif PACKETVER >= 20180103
+packetLen(0x01c8, 13)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x01d7, 15)
+#elif PACKETVER >= 20180103
+packetLen(0x01d7, 11)
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20181121
+packetLen(0x01d8, 58)
+#elif PACKETVER >= 20180103
+packetLen(0x01d8, 54)
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20181121
+packetLen(0x01d9, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x01d9, 53)
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20181121
+packetLen(0x01da, 64)
+#elif PACKETVER >= 20180103
+packetLen(0x01da, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x01fd, 25)
+#elif PACKETVER >= 20180103
+packetLen(0x01fd, 15)
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20180315
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20180307
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20180124
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20180307
+packetLen(0x0206, 35)
+#elif PACKETVER >= 20180103
+packetLen(0x0206, 11)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0223, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0223, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x022a, 62)
+#elif PACKETVER >= 20180103
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20181121
+packetLen(0x022b, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20181121
+packetLen(0x022c, 69)
+#elif PACKETVER >= 20180103
+packetLen(0x022c, 65)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20180315
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20180124
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20181121
+packetLen(0x022e, 73)
+#elif PACKETVER >= 20180103
+packetLen(0x022e, 71)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20181121
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x022f, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x023b, 36)
+#elif PACKETVER >= 20180124
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x023b, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x025b, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x025b, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20180314
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20180213
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20180124
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0281, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0298, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0298, 8)
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20181121
+packetLen(0x0299, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0299, 6)
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20181121
+packetLen(0x029a, 37)
+#elif PACKETVER >= 20180103
+packetLen(0x029a, 27)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x02b8, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x02b8, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20180117
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x02c4, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x02d4, 39)
+#elif PACKETVER >= 20180103
+packetLen(0x02d4, 29)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x02ec, 71)
+#elif PACKETVER >= 20180103
+packetLen(0x02ec, 67)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20181121
+packetLen(0x02ed, 63)
+#elif PACKETVER >= 20180103
+packetLen(0x02ed, 59)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20181121
+packetLen(0x02ee, 64)
+#elif PACKETVER >= 20180103
+packetLen(0x02ee, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20180314
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x035f, 2)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20180315
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20180117
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0360, 2)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20180315
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180314
+packetLen(0x0361, 12)
+#elif PACKETVER >= 20180124
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20180315
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180124
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0362, 2)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20180315
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0363, 26)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20180315
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0364, 2)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20180315
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20180124
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0365, 2)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20180314
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20180307
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0366, 2)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20180315
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20180315
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0368, 2)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20180315
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20180314
+packetLen(0x0369, 5)
+#elif PACKETVER >= 20180221
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0369, 36)
+#elif PACKETVER >= 20180117
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0369, 2)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20180315
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20180314
+packetLen(0x0436, 6)
+#elif PACKETVER >= 20180307
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20180207
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0436, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0436, 2)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20180315
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20180314
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0437, 2)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20180315
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180213
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0438, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0445, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0445, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20180314
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20180213
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20180124
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x07e4, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x07ec, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20180221
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20180207
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20180124
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0802, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x080f, 30)
+#elif PACKETVER >= 20180103
+packetLen(0x080f, 20)
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20180315
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0811, 19)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20180213
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0815, 2)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20180315
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20180221
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0817, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20180315
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180124
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0819, 2)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+#if PACKETVER >= 20181121
+packetLen(0x081b, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x081b, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0824, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0824, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20180307
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20180213
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0838, 2)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20181121
+packetLen(0x083c, 14)
+#elif PACKETVER >= 20180315
+packetLen(0x083c, 12)
+#elif PACKETVER >= 20180213
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x083c, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x084b, 21)
+#elif PACKETVER >= 20180103
+packetLen(0x084b, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x085a, 6)
+#elif PACKETVER >= 20180221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x085a, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+packetLen(0x085b, 2)
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+packetLen(0x085d, 2)
+
+// Packet: 0x085e
+packetLen(0x085e, 2)
+
+// Packet: 0x085f
+#if PACKETVER >= 20180207
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x085f, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+packetLen(0x0860, 2)
+
+// Packet: 0x0861
+#if PACKETVER >= 20180314
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0861, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20180315
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+#if PACKETVER >= 20180315
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0863, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+#if PACKETVER >= 20180314
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20180117
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0865, 4)
+#endif
+
+// Packet: 0x0866
+packetLen(0x0866, 2)
+
+// Packet: 0x0867
+#if PACKETVER >= 20180307
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20180315
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0868, 8)
+#elif PACKETVER >= 20180207
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0868, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+#if PACKETVER >= 20180207
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x086a, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20180117
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x086b, -1)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20180314
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20180117
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x086d, 12)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20180315
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x086e, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20180307
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20180207
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20180314
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0870, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20180307
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0871, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20180314
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20180117
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0872, 6)
+#endif
+
+// Packet: 0x0873
+packetLen(0x0873, 2)
+
+// Packet: 0x0874
+#if PACKETVER >= 20180315
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0874, -1)
+#elif PACKETVER >= 20180221
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20180221
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0875, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20180307
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0876, 6)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20180314
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0877, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20180221
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20180307
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0879, -1)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20180315
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x087a, 19)
+#elif PACKETVER >= 20180207
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x087a, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20180221
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+#if PACKETVER >= 20180307
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+packetLen(0x087e, 2)
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+#if PACKETVER >= 20180307
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0880, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20180307
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0881, 18)
+#elif PACKETVER >= 20180213
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0881, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20180221
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0882, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20180307
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+packetLen(0x0884, 2)
+
+// Packet: 0x0885
+packetLen(0x0885, 2)
+
+// Packet: 0x0886
+packetLen(0x0886, 2)
+
+// Packet: 0x0887
+packetLen(0x0887, 2)
+
+// Packet: 0x0888
+#if PACKETVER >= 20180315
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0888, 5)
+#elif PACKETVER >= 20180207
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+packetLen(0x0889, 2)
+
+// Packet: 0x088a
+#if PACKETVER >= 20180315
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x088a, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+packetLen(0x088b, 2)
+
+// Packet: 0x088c
+#if PACKETVER >= 20180221
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20180315
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x088d, 36)
+#elif PACKETVER >= 20180307
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+packetLen(0x088e, 2)
+
+// Packet: 0x088f
+#if PACKETVER >= 20180307
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20180207
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20180307
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0891, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20180221
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20180314
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0893, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+packetLen(0x0894, 2)
+
+// Packet: 0x0895
+packetLen(0x0895, 2)
+
+// Packet: 0x0896
+packetLen(0x0896, 2)
+
+// Packet: 0x0897
+#if PACKETVER >= 20180307
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0897, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20180221
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20180117
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0899, 26)
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+#if PACKETVER >= 20180315
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x089b, 90)
+#elif PACKETVER >= 20180307
+packetLen(0x089b, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20180221
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x089c, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20180307
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+packetLen(0x089e, 2)
+
+// Packet: 0x089f
+#if PACKETVER >= 20180117
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x089f, 6)
+#endif
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2)
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2)
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2)
+
+// Packet: 0x08a3
+#if PACKETVER >= 20180221
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x08a3, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2)
+
+// Packet: 0x08a5
+#if PACKETVER >= 20180221
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2)
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2)
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2)
+
+// Packet: 0x08a9
+#if PACKETVER >= 20180117
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08a9, 5)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20180314
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20180314
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08ab, 6)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20180117
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08ac, -1)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20180221
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180314
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0917, 10)
+#elif PACKETVER >= 20180221
+packetLen(0x0917, 36)
+#elif PACKETVER >= 20180213
+packetLen(0x0917, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+packetLen(0x0918, 2)
+
+// Packet: 0x0919
+#if PACKETVER >= 20180207
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0919, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+packetLen(0x091a, 2)
+
+// Packet: 0x091b
+packetLen(0x091b, 2)
+
+// Packet: 0x091c
+packetLen(0x091c, 2)
+
+// Packet: 0x091d
+#if PACKETVER >= 20180117
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x091d, 7)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20180307
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+#if PACKETVER >= 20180314
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0920, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20180315
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0921, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20180221
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+#if PACKETVER >= 20180221
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0924, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+packetLen(0x0925, 2)
+
+// Packet: 0x0926
+#if PACKETVER >= 20180221
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0926, 8)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20180117
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0927, 18)
+#endif
+
+// Packet: 0x0928
+packetLen(0x0928, 2)
+
+// Packet: 0x0929
+packetLen(0x0929, 2)
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+packetLen(0x092b, 2)
+
+// Packet: 0x092c
+#if PACKETVER >= 20180213
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x092c, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x092c, 8)
+#endif
+
+// Packet: 0x092d
+packetLen(0x092d, 2)
+
+// Packet: 0x092e
+#if PACKETVER >= 20180213
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+#if PACKETVER >= 20180315
+packetLen(0x092f, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x092f, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x092f, 2)
+#endif
+
+// Packet: 0x0930
+packetLen(0x0930, 2)
+
+// Packet: 0x0931
+packetLen(0x0931, 2)
+
+// Packet: 0x0932
+packetLen(0x0932, 2)
+
+// Packet: 0x0933
+#if PACKETVER >= 20180315
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0933, 8)
+#elif PACKETVER >= 20180221
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0933, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+packetLen(0x0934, 2)
+
+// Packet: 0x0935
+#if PACKETVER >= 20180315
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0935, 26)
+#elif PACKETVER >= 20180117
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0935, 6)
+#endif
+
+// Packet: 0x0936
+packetLen(0x0936, 2)
+
+// Packet: 0x0937
+#if PACKETVER >= 20180314
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20180117
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0938, 10)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20180314
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0939, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+packetLen(0x093a, 2)
+
+// Packet: 0x093b
+packetLen(0x093b, 2)
+
+// Packet: 0x093c
+#if PACKETVER >= 20180221
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20180307
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+packetLen(0x093e, 2)
+
+// Packet: 0x093f
+packetLen(0x093f, 2)
+
+// Packet: 0x0940
+#if PACKETVER >= 20180213
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20180124
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20180314
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0941, 5)
+#endif
+
+// Packet: 0x0942
+packetLen(0x0942, 2)
+
+// Packet: 0x0943
+#if PACKETVER >= 20180221
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0943, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20180314
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+#if PACKETVER >= 20180315
+packetLen(0x0945, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0945, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0945, 2)
+#endif
+
+// Packet: 0x0946
+#if PACKETVER >= 20180207
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20180117
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0946, 36)
+#endif
+
+// Packet: 0x0947
+packetLen(0x0947, 2)
+
+// Packet: 0x0948
+#if PACKETVER >= 20180314
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0948, 26)
+#elif PACKETVER >= 20180117
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0948, 5)
+#endif
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+packetLen(0x094a, 2)
+
+// Packet: 0x094b
+#if PACKETVER >= 20180307
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x094b, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+packetLen(0x094c, 2)
+
+// Packet: 0x094d
+#if PACKETVER >= 20180315
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x094d, -1)
+#elif PACKETVER >= 20180307
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x094d, 10)
+#elif PACKETVER >= 20180207
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20180315
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x094e, 26)
+#elif PACKETVER >= 20180307
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x094e, -1)
+#endif
+
+// Packet: 0x094f
+packetLen(0x094f, 2)
+
+// Packet: 0x0950
+#if PACKETVER >= 20180213
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0950, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20180314
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0951, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+packetLen(0x0952, 2)
+
+// Packet: 0x0953
+packetLen(0x0953, 2)
+
+// Packet: 0x0954
+#if PACKETVER >= 20180314
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20180221
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20180315
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0956, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0956, 2)
+#endif
+
+// Packet: 0x0957
+#if PACKETVER >= 20180314
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20180207
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20180315
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0959, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+#if PACKETVER >= 20180221
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x095a, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+packetLen(0x095b, 2)
+
+// Packet: 0x095c
+packetLen(0x095c, 2)
+
+// Packet: 0x095d
+#if PACKETVER >= 20180117
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x095d, 10)
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+#if PACKETVER >= 20180315
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x095f, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x095f, 6)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20180117
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0960, 90)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20180207
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20180315
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0962, -1)
+#elif PACKETVER >= 20180221
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+packetLen(0x0963, 2)
+
+// Packet: 0x0964
+#if PACKETVER >= 20180307
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0964, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+packetLen(0x0965, 2)
+
+// Packet: 0x0966
+packetLen(0x0966, 2)
+
+// Packet: 0x0967
+#if PACKETVER >= 20180315
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0967, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+packetLen(0x0968, 2)
+
+// Packet: 0x0969
+#if PACKETVER >= 20180314
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0969, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20180307
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x096a, 7)
+#elif PACKETVER >= 20180213
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x096a, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0990, 41)
+#elif PACKETVER >= 20180103
+packetLen(0x0990, 31)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x09ad, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x09ad, 10)
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20181121
+packetLen(0x09ae, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x09ae, 17)
+#endif
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+#if PACKETVER >= 20181121
+packetLen(0x09b0, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09b0, 8)
+#endif
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+#if PACKETVER >= 20181121
+packetLen(0x09b2, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09b2, 8)
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20181121
+packetLen(0x09b3, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x09b3, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x09c3, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09c3, 8)
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20181121
+packetLen(0x09c4, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09c4, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x09e6, 24)
+#elif PACKETVER >= 20180103
+packetLen(0x09e6, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x09f7, 77)
+#elif PACKETVER >= 20180103
+packetLen(0x09f7, 75)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a05, 63)
+#elif PACKETVER >= 20180103
+packetLen(0x0a05, 53)
+#endif
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+#if PACKETVER >= 20181121
+packetLen(0x0a09, 55)
+#elif PACKETVER >= 20180103
+packetLen(0x0a09, 45)
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20181121
+packetLen(0x0a0a, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0a, 47)
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20181121
+packetLen(0x0a0b, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0b, 47)
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20181121
+packetLen(0x0a0c, 66)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0c, 56)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a1a, 25)
+#elif PACKETVER >= 20180103
+packetLen(0x0a1a, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a20, 23)
+#elif PACKETVER >= 20180103
+packetLen(0x0a20, 21)
+#endif
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+#if PACKETVER >= 20181121
+packetLen(0x0a22, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0a22, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a37, 69)
+#elif PACKETVER >= 20180103
+packetLen(0x0a37, 59)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a3d, 20)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20181121
+packetLen(0x0a3f, 11)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18)
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a49, 22)
+#elif PACKETVER >= 20180103
+packetLen(0x0a49, 20)
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20181121
+packetLen(0x0a4e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34)
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a89, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x0a89, 57)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0a96, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x0a96, 51)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0aa3, 9)
+#elif PACKETVER >= 20180103
+packetLen(0x0aa3, 7)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0ab4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20181121
+packetLen(0x0ab6, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20181121
+packetLen(0x0ab9, 47)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab9, 39)
+#endif
+
+// 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
+#if PACKETVER >= 20181121
+packetLen(0x0ada, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x0ada, 30)
+#endif
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+#if PACKETVER >= 20181121
+packetLen(0x0add, 24)
+#elif PACKETVER >= 20180103
+packetLen(0x0add, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180207
+packetLen(0x0ae6, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20180404
+packetLen(0x0ae7, 38)
+#elif PACKETVER >= 20180321
+packetLen(0x0ae7, 34)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20180117
+packetLen(0x0ae9, 13)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae9, 64)
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aea, 2)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+#if PACKETVER >= 20180117
+packetLen(0x0aef, 2)
+#endif
+
+// Packet: 0x0af0
+#if PACKETVER >= 20180117
+packetLen(0x0af0, 10)
+#endif
+
+// Packet: 0x0af2
+#if PACKETVER >= 20180124
+packetLen(0x0af2, 40)
+#endif
+
+// Packet: 0x0af3
+#if PACKETVER >= 20180124
+packetLen(0x0af3, -1)
+#endif
+
+// Packet: 0x0af4
+#if PACKETVER >= 20180207
+packetLen(0x0af4, 11)
+#endif
+
+// Packet: 0x0af5
+#if PACKETVER >= 20180207
+packetLen(0x0af5, 3)
+#endif
+
+// Packet: 0x0af6
+#if PACKETVER >= 20180207
+packetLen(0x0af6, 88)
+#endif
+
+// Packet: 0x0af7
+#if PACKETVER >= 20180207
+packetLen(0x0af7, 32)
+#endif
+
+// Packet: 0x0af8
+#if PACKETVER >= 20180321
+packetLen(0x0af8, 11)
+#endif
+
+// Packet: 0x0af9
+#if PACKETVER >= 20180404
+packetLen(0x0af9, 6)
+#endif
+
+// Packet: 0x0afa
+#if PACKETVER >= 20180404
+packetLen(0x0afa, 54)
+#endif
+
+// Packet: 0x0afb
+#if PACKETVER >= 20180418
+packetLen(0x0afb, -1)
+#endif
+
+// Packet: 0x0afc
+#if PACKETVER >= 20180516
+packetLen(0x0afc, 16)
+#endif
+
+// Packet: 0x0afd
+#if PACKETVER >= 20180605
+packetLen(0x0afd, -1)
+#endif
+
+// Packet: 0x0afe
+#if PACKETVER >= 20180605
+packetLen(0x0afe, -1)
+#endif
+
+// Packet: 0x0aff
+#if PACKETVER >= 20180605
+packetLen(0x0aff, -1)
+#endif
+
+// Packet: 0x0b00
+#if PACKETVER >= 20180620
+packetLen(0x0b00, 8)
+#endif
+
+// Packet: 0x0b01
+#if PACKETVER >= 20180704
+packetLen(0x0b01, 56)
+#elif PACKETVER >= 20180620
+packetLen(0x0b01, 40)
+#endif
+
+// Packet: 0x0b02
+#if PACKETVER >= 20180704
+packetLen(0x0b02, 26)
+#endif
+
+// Packet: 0x0b03
+#if PACKETVER >= 20180801
+packetLen(0x0b03, -1)
+#endif
+
+// Packet: 0x0b04
+#if PACKETVER >= 20180801
+packetLen(0x0b04, 80)
+#endif
+
+// Packet: 0x0b05
+#if PACKETVER >= 20181121
+packetLen(0x0b05, 63)
+#elif PACKETVER >= 20180829
+packetLen(0x0b05, 59)
+#endif
+
+// Packet: 0x0b06
+#if PACKETVER >= 20181002
+// removed
+#elif PACKETVER >= 20180829
+packetLen(0x0b06, 53)
+#endif
+
+// Packet: 0x0b07
+#if PACKETVER >= 20180829
+packetLen(0x0b07, -1)
+#endif
+
+// Packet: 0x0b08
+#if PACKETVER >= 20181002
+packetLen(0x0b08, -1)
+#elif PACKETVER >= 20180912
+packetLen(0x0b08, 27)
+#elif PACKETVER >= 20180829
+packetLen(0x0b08, 26)
+#endif
+
+// Packet: 0x0b09
+#if PACKETVER >= 20180829
+packetLen(0x0b09, -1)
+#endif
+
+// Packet: 0x0b0a
+#if PACKETVER >= 20180829
+packetLen(0x0b0a, -1)
+#endif
+
+// Packet: 0x0b0b
+#if PACKETVER >= 20180912
+packetLen(0x0b0b, 4)
+#elif PACKETVER >= 20180829
+packetLen(0x0b0b, 3)
+#endif
+
+// Packet: 0x0b0c
+#if PACKETVER >= 20180829
+packetLen(0x0b0c, 155)
+#endif
+
+// Packet: 0x0b0d
+#if PACKETVER >= 20180912
+packetLen(0x0b0d, 10)
+#endif
+
+// Packet: 0x0b0e
+#if PACKETVER >= 20180912
+packetLen(0x0b0e, -1)
+#endif
+
+// Packet: 0x0b0f
+#if PACKETVER >= 20180912
+packetLen(0x0b0f, -1)
+#endif
+
+// Packet: 0x0b10
+#if PACKETVER >= 20181002
+packetLen(0x0b10, 10)
+#endif
+
+// Packet: 0x0b11
+#if PACKETVER >= 20181002
+packetLen(0x0b11, 4)
+#endif
+
+// Packet: 0x0b12
+#if PACKETVER >= 20181017
+packetLen(0x0b12, 2)
+#endif
+
+// Packet: 0x0b13
+#if PACKETVER >= 20181121
+packetLen(0x0b13, 48)
+#elif PACKETVER >= 20181017
+packetLen(0x0b13, 40)
+#endif
+
+// Packet: 0x0b14
+#if PACKETVER >= 20181031
+packetLen(0x0b14, 2)
+#endif
+
+// Packet: 0x0b15
+#if PACKETVER >= 20181031
+packetLen(0x0b15, 7)
+#endif
+
+// Packet: 0x0b16
+#if PACKETVER >= 20181031
+packetLen(0x0b16, 2)
+#endif
+
+// Packet: 0x0b17
+#if PACKETVER >= 20181031
+packetLen(0x0b17, 3)
+#endif
+
+// Packet: 0x0b18
+#if PACKETVER >= 20181031
+packetLen(0x0b18, 4)
+#endif
+
+// Packet: 0x0b19
+#if PACKETVER >= 20181031
+packetLen(0x0b19, 2)
+#endif
+
+// Packet: 0x0b1a
+#if PACKETVER >= 20181212
+packetLen(0x0b1a, 29)
+#endif
+
+
+#endif /* COMMON_PACKETS2018_LEN_MAIN_H */
diff --git a/src/common/packets/packets2018_len_re.h b/src/common/packets/packets2018_len_re.h
new file mode 100644
index 000000000..3cd8e662b
--- /dev/null
+++ b/src/common/packets/packets2018_len_re.h
@@ -0,0 +1,5670 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2018_LEN_RE_H
+#define COMMON_PACKETS2018_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 105)
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x009d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x009d, 17)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20180704
+packetLen(0x009e, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x009e, 17)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20180704
+packetLen(0x00a0, 33)
+#elif PACKETVER >= 20180103
+packetLen(0x00a0, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x00e9, 29)
+#elif PACKETVER >= 20180103
+packetLen(0x00e9, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x00f4, 31)
+#elif PACKETVER >= 20180103
+packetLen(0x00f4, 21)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x010a, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0110, 14)
+#elif PACKETVER >= 20180103
+packetLen(0x0110, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0124, 31)
+#elif PACKETVER >= 20180103
+packetLen(0x0124, 21)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x018e, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x018e, 10)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20180704
+packetLen(0x018f, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x018f, 6)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x01a3, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x01a3, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x01ae, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x01c4, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20180704
+packetLen(0x01c5, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20180704
+packetLen(0x01c8, 15)
+#elif PACKETVER >= 20180103
+packetLen(0x01c8, 13)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x01d7, 15)
+#elif PACKETVER >= 20180103
+packetLen(0x01d7, 11)
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20180704
+packetLen(0x01d8, 58)
+#elif PACKETVER >= 20180103
+packetLen(0x01d8, 54)
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20180704
+packetLen(0x01d9, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x01d9, 53)
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20180704
+packetLen(0x01da, 64)
+#elif PACKETVER >= 20180103
+packetLen(0x01da, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x01fd, 25)
+#elif PACKETVER >= 20180103
+packetLen(0x01fd, 15)
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20180321
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20180307
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0202, 90)
+#elif PACKETVER >= 20180124
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20180221
+packetLen(0x0206, 35)
+#elif PACKETVER >= 20180103
+packetLen(0x0206, 11)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0223, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0223, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x022a, 62)
+#elif PACKETVER >= 20180103
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20180704
+packetLen(0x022b, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20180704
+packetLen(0x022c, 69)
+#elif PACKETVER >= 20180103
+packetLen(0x022c, 65)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20180321
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20180124
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20180704
+packetLen(0x022e, 73)
+#elif PACKETVER >= 20180103
+packetLen(0x022e, 71)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20180704
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x022f, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x023b, 36)
+#elif PACKETVER >= 20180124
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x023b, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x025b, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x025b, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180307
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20180213
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20180124
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0281, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0298, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0298, 8)
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20180704
+packetLen(0x0299, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0299, 6)
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20180704
+packetLen(0x029a, 37)
+#elif PACKETVER >= 20180103
+packetLen(0x029a, 27)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x02b8, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x02b8, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20180117
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x02c4, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x02d4, 39)
+#elif PACKETVER >= 20180103
+packetLen(0x02d4, 29)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x02ec, 71)
+#elif PACKETVER >= 20180103
+packetLen(0x02ec, 67)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20180704
+packetLen(0x02ed, 63)
+#elif PACKETVER >= 20180103
+packetLen(0x02ed, 59)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20180704
+packetLen(0x02ee, 64)
+#elif PACKETVER >= 20180103
+packetLen(0x02ee, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20180307
+packetLen(0x035f, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x035f, 2)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20180321
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0360, 4)
+#elif PACKETVER >= 20180117
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0360, 2)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20180321
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180124
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20180321
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180124
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0362, 2)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20180321
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0363, 26)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20180321
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0364, 2)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20180321
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20180124
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0365, 2)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20180321
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20180307
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0366, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0366, 2)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20180321
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20180321
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0368, 2)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20180321
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20180221
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0369, 36)
+#elif PACKETVER >= 20180117
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0369, 2)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20180321
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20180307
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0436, 26)
+#elif PACKETVER >= 20180207
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0436, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0436, 2)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20180321
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20180307
+packetLen(0x0437, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0437, 2)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20180321
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180213
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0438, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0445, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0445, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20180307
+packetLen(0x07e4, 19)
+#elif PACKETVER >= 20180213
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20180124
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x07e4, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x07ec, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20180221
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20180207
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20180124
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0802, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x080f, 30)
+#elif PACKETVER >= 20180103
+packetLen(0x080f, 20)
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20180321
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0811, 19)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20180213
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0815, 2)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20180321
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20180221
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0817, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20180321
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180124
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0819, 2)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+#if PACKETVER >= 20180704
+packetLen(0x081b, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x081b, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0824, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0824, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20180307
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0838, 5)
+#elif PACKETVER >= 20180213
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0838, 2)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20180704
+packetLen(0x083c, 14)
+#elif PACKETVER >= 20180321
+packetLen(0x083c, 12)
+#elif PACKETVER >= 20180213
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x083c, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x084b, 21)
+#elif PACKETVER >= 20180103
+packetLen(0x084b, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20180221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x085a, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+packetLen(0x085b, 2)
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+packetLen(0x085d, 2)
+
+// Packet: 0x085e
+packetLen(0x085e, 2)
+
+// Packet: 0x085f
+#if PACKETVER >= 20180207
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x085f, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+packetLen(0x0860, 2)
+
+// Packet: 0x0861
+#if PACKETVER >= 20180321
+packetLen(0x0861, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0861, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0861, 2)
+#endif
+
+// Packet: 0x0862
+#if PACKETVER >= 20180321
+packetLen(0x0862, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0862, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0862, 2)
+#endif
+
+// Packet: 0x0863
+packetLen(0x0863, 2)
+
+// Packet: 0x0864
+#if PACKETVER >= 20180321
+packetLen(0x0864, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0864, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0864, 2)
+#endif
+
+// Packet: 0x0865
+#if PACKETVER >= 20180117
+packetLen(0x0865, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0865, 4)
+#endif
+
+// Packet: 0x0866
+packetLen(0x0866, 2)
+
+// Packet: 0x0867
+#if PACKETVER >= 20180307
+packetLen(0x0867, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0867, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0867, 2)
+#endif
+
+// Packet: 0x0868
+#if PACKETVER >= 20180207
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0868, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+#if PACKETVER >= 20180207
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x086a, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+#if PACKETVER >= 20180117
+packetLen(0x086b, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x086b, -1)
+#endif
+
+// Packet: 0x086c
+#if PACKETVER >= 20180321
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x086c, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20180117
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x086d, 12)
+#endif
+
+// Packet: 0x086e
+packetLen(0x086e, 2)
+
+// Packet: 0x086f
+#if PACKETVER >= 20180307
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x086f, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x086f, 26)
+#elif PACKETVER >= 20180207
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x086f, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+#if PACKETVER >= 20180321
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0870, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0870, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0870, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0870, 2)
+#endif
+
+// Packet: 0x0871
+#if PACKETVER >= 20180307
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0871, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0871, 2)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20180321
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0872, 18)
+#elif PACKETVER >= 20180117
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0872, 6)
+#endif
+
+// Packet: 0x0873
+packetLen(0x0873, 2)
+
+// Packet: 0x0874
+#if PACKETVER >= 20180221
+packetLen(0x0874, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0874, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0874, 2)
+#endif
+
+// Packet: 0x0875
+#if PACKETVER >= 20180221
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0875, 8)
+#elif PACKETVER >= 20180124
+packetLen(0x0875, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0875, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0875, 2)
+#endif
+
+// Packet: 0x0876
+#if PACKETVER >= 20180307
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0876, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x0876, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0876, 6)
+#endif
+
+// Packet: 0x0877
+#if PACKETVER >= 20180321
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0877, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20180221
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0878, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+#if PACKETVER >= 20180307
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0879, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0879, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0879, -1)
+#endif
+
+// Packet: 0x087a
+#if PACKETVER >= 20180207
+packetLen(0x087a, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x087a, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x087a, 2)
+#endif
+
+// Packet: 0x087b
+#if PACKETVER >= 20180221
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x087b, 2)
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+#if PACKETVER >= 20180307
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x087d, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+packetLen(0x087e, 2)
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+#if PACKETVER >= 20180307
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0880, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20180307
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0881, 18)
+#elif PACKETVER >= 20180213
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0881, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20180221
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0882, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+#if PACKETVER >= 20180307
+packetLen(0x0883, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0883, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0883, 2)
+#endif
+
+// Packet: 0x0884
+packetLen(0x0884, 2)
+
+// Packet: 0x0885
+packetLen(0x0885, 2)
+
+// Packet: 0x0886
+packetLen(0x0886, 2)
+
+// Packet: 0x0887
+packetLen(0x0887, 2)
+
+// Packet: 0x0888
+#if PACKETVER >= 20180207
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0888, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0888, 2)
+#endif
+
+// Packet: 0x0889
+packetLen(0x0889, 2)
+
+// Packet: 0x088a
+packetLen(0x088a, 2)
+
+// Packet: 0x088b
+packetLen(0x088b, 2)
+
+// Packet: 0x088c
+#if PACKETVER >= 20180221
+packetLen(0x088c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x088c, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x088c, 2)
+#endif
+
+// Packet: 0x088d
+#if PACKETVER >= 20180321
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x088d, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+packetLen(0x088e, 2)
+
+// Packet: 0x088f
+#if PACKETVER >= 20180307
+packetLen(0x088f, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x088f, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x088f, 2)
+#endif
+
+// Packet: 0x0890
+#if PACKETVER >= 20180207
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0890, 2)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20180307
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0891, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20180221
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20180321
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0893, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+packetLen(0x0894, 2)
+
+// Packet: 0x0895
+packetLen(0x0895, 2)
+
+// Packet: 0x0896
+packetLen(0x0896, 2)
+
+// Packet: 0x0897
+#if PACKETVER >= 20180307
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0897, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+#if PACKETVER >= 20180221
+packetLen(0x0898, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0898, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0898, 2)
+#endif
+
+// Packet: 0x0899
+#if PACKETVER >= 20180117
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0899, 26)
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+#if PACKETVER >= 20180321
+packetLen(0x089b, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x089b, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x089b, 2)
+#endif
+
+// Packet: 0x089c
+#if PACKETVER >= 20180221
+packetLen(0x089c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x089c, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x089c, 2)
+#endif
+
+// Packet: 0x089d
+#if PACKETVER >= 20180307
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x089d, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x089d, 2)
+#endif
+
+// Packet: 0x089e
+packetLen(0x089e, 2)
+
+// Packet: 0x089f
+#if PACKETVER >= 20180117
+packetLen(0x089f, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x089f, 6)
+#endif
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2)
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2)
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2)
+
+// Packet: 0x08a3
+#if PACKETVER >= 20180221
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x08a3, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2)
+
+// Packet: 0x08a5
+#if PACKETVER >= 20180221
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x08a5, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2)
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2)
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2)
+
+// Packet: 0x08a9
+#if PACKETVER >= 20180117
+packetLen(0x08a9, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08a9, 5)
+#endif
+
+// Packet: 0x08aa
+#if PACKETVER >= 20180321
+packetLen(0x08aa, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x08aa, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x08aa, 2)
+#endif
+
+// Packet: 0x08ab
+#if PACKETVER >= 20180321
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x08ab, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x08ab, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08ab, 6)
+#endif
+
+// Packet: 0x08ac
+#if PACKETVER >= 20180117
+packetLen(0x08ac, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08ac, -1)
+#endif
+
+// Packet: 0x08ad
+#if PACKETVER >= 20180221
+packetLen(0x08ad, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x08ad, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x08ad, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180321
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0917, 10)
+#elif PACKETVER >= 20180221
+packetLen(0x0917, 36)
+#elif PACKETVER >= 20180213
+packetLen(0x0917, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+packetLen(0x0918, 2)
+
+// Packet: 0x0919
+#if PACKETVER >= 20180207
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0919, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+packetLen(0x091a, 2)
+
+// Packet: 0x091b
+packetLen(0x091b, 2)
+
+// Packet: 0x091c
+packetLen(0x091c, 2)
+
+// Packet: 0x091d
+#if PACKETVER >= 20180117
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x091d, 7)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20180307
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x091e, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x091e, 2)
+#endif
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+#if PACKETVER >= 20180321
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0920, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+packetLen(0x0921, 2)
+
+// Packet: 0x0922
+#if PACKETVER >= 20180221
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0922, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+#if PACKETVER >= 20180221
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0924, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0924, 2)
+#endif
+
+// Packet: 0x0925
+packetLen(0x0925, 2)
+
+// Packet: 0x0926
+#if PACKETVER >= 20180221
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0926, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0926, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0926, 8)
+#endif
+
+// Packet: 0x0927
+#if PACKETVER >= 20180117
+packetLen(0x0927, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0927, 18)
+#endif
+
+// Packet: 0x0928
+packetLen(0x0928, 2)
+
+// Packet: 0x0929
+packetLen(0x0929, 2)
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+packetLen(0x092b, 2)
+
+// Packet: 0x092c
+#if PACKETVER >= 20180213
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x092c, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x092c, 8)
+#endif
+
+// Packet: 0x092d
+packetLen(0x092d, 2)
+
+// Packet: 0x092e
+#if PACKETVER >= 20180213
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x092e, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+packetLen(0x092f, 2)
+
+// Packet: 0x0930
+packetLen(0x0930, 2)
+
+// Packet: 0x0931
+packetLen(0x0931, 2)
+
+// Packet: 0x0932
+packetLen(0x0932, 2)
+
+// Packet: 0x0933
+#if PACKETVER >= 20180221
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0933, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+packetLen(0x0934, 2)
+
+// Packet: 0x0935
+#if PACKETVER >= 20180117
+packetLen(0x0935, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0935, 6)
+#endif
+
+// Packet: 0x0936
+packetLen(0x0936, 2)
+
+// Packet: 0x0937
+#if PACKETVER >= 20180321
+packetLen(0x0937, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0937, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0937, 2)
+#endif
+
+// Packet: 0x0938
+#if PACKETVER >= 20180117
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0938, 10)
+#endif
+
+// Packet: 0x0939
+#if PACKETVER >= 20180321
+packetLen(0x0939, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0939, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0939, 2)
+#endif
+
+// Packet: 0x093a
+packetLen(0x093a, 2)
+
+// Packet: 0x093b
+packetLen(0x093b, 2)
+
+// Packet: 0x093c
+#if PACKETVER >= 20180221
+packetLen(0x093c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x093c, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x093c, 2)
+#endif
+
+// Packet: 0x093d
+#if PACKETVER >= 20180307
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+packetLen(0x093e, 2)
+
+// Packet: 0x093f
+packetLen(0x093f, 2)
+
+// Packet: 0x0940
+#if PACKETVER >= 20180213
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0940, 6)
+#elif PACKETVER >= 20180124
+packetLen(0x0940, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20180321
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0941, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0941, 5)
+#endif
+
+// Packet: 0x0942
+packetLen(0x0942, 2)
+
+// Packet: 0x0943
+#if PACKETVER >= 20180221
+packetLen(0x0943, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0943, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0943, 2)
+#endif
+
+// Packet: 0x0944
+#if PACKETVER >= 20180321
+packetLen(0x0944, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0944, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0944, 2)
+#endif
+
+// Packet: 0x0945
+packetLen(0x0945, 2)
+
+// Packet: 0x0946
+#if PACKETVER >= 20180207
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0946, -1)
+#elif PACKETVER >= 20180117
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0946, 36)
+#endif
+
+// Packet: 0x0947
+packetLen(0x0947, 2)
+
+// Packet: 0x0948
+#if PACKETVER >= 20180321
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0948, 26)
+#elif PACKETVER >= 20180117
+packetLen(0x0948, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0948, 5)
+#endif
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+packetLen(0x094a, 2)
+
+// Packet: 0x094b
+#if PACKETVER >= 20180307
+packetLen(0x094b, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x094b, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x094b, 2)
+#endif
+
+// Packet: 0x094c
+packetLen(0x094c, 2)
+
+// Packet: 0x094d
+#if PACKETVER >= 20180307
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x094d, 10)
+#elif PACKETVER >= 20180207
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x094d, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20180307
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x094e, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x094e, -1)
+#endif
+
+// Packet: 0x094f
+packetLen(0x094f, 2)
+
+// Packet: 0x0950
+#if PACKETVER >= 20180213
+packetLen(0x0950, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0950, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0950, 2)
+#endif
+
+// Packet: 0x0951
+#if PACKETVER >= 20180321
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0951, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+packetLen(0x0952, 2)
+
+// Packet: 0x0953
+packetLen(0x0953, 2)
+
+// Packet: 0x0954
+#if PACKETVER >= 20180321
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0954, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20180221
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0955, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+packetLen(0x0956, 2)
+
+// Packet: 0x0957
+#if PACKETVER >= 20180321
+packetLen(0x0957, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0957, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0957, 2)
+#endif
+
+// Packet: 0x0958
+#if PACKETVER >= 20180207
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0958, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0958, 2)
+#endif
+
+// Packet: 0x0959
+packetLen(0x0959, 2)
+
+// Packet: 0x095a
+#if PACKETVER >= 20180221
+packetLen(0x095a, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x095a, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x095a, 2)
+#endif
+
+// Packet: 0x095b
+packetLen(0x095b, 2)
+
+// Packet: 0x095c
+packetLen(0x095c, 2)
+
+// Packet: 0x095d
+#if PACKETVER >= 20180117
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x095d, 10)
+#endif
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+#if PACKETVER >= 20180117
+packetLen(0x095f, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x095f, 6)
+#endif
+
+// Packet: 0x0960
+#if PACKETVER >= 20180117
+packetLen(0x0960, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0960, 90)
+#endif
+
+// Packet: 0x0961
+#if PACKETVER >= 20180207
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20180124
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+#if PACKETVER >= 20180221
+packetLen(0x0962, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0962, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0962, 2)
+#endif
+
+// Packet: 0x0963
+packetLen(0x0963, 2)
+
+// Packet: 0x0964
+#if PACKETVER >= 20180307
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0964, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0964, 2)
+#endif
+
+// Packet: 0x0965
+packetLen(0x0965, 2)
+
+// Packet: 0x0966
+packetLen(0x0966, 2)
+
+// Packet: 0x0967
+packetLen(0x0967, 2)
+
+// Packet: 0x0968
+packetLen(0x0968, 2)
+
+// Packet: 0x0969
+#if PACKETVER >= 20180321
+packetLen(0x0969, 2)
+#elif PACKETVER >= 20180307
+packetLen(0x0969, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0969, 2)
+#endif
+
+// Packet: 0x096a
+#if PACKETVER >= 20180307
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x096a, 7)
+#elif PACKETVER >= 20180213
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x096a, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0990, 41)
+#elif PACKETVER >= 20180103
+packetLen(0x0990, 31)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x09ad, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x09ad, 10)
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20180704
+packetLen(0x09ae, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x09ae, 17)
+#endif
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+#if PACKETVER >= 20180704
+packetLen(0x09b0, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09b0, 8)
+#endif
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+#if PACKETVER >= 20180704
+packetLen(0x09b2, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09b2, 8)
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20180704
+packetLen(0x09b3, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x09b3, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x09c3, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09c3, 8)
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20180704
+packetLen(0x09c4, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09c4, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x09e6, 24)
+#elif PACKETVER >= 20180103
+packetLen(0x09e6, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x09f7, 77)
+#elif PACKETVER >= 20180103
+packetLen(0x09f7, 75)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a05, 63)
+#elif PACKETVER >= 20180103
+packetLen(0x0a05, 53)
+#endif
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+#if PACKETVER >= 20180704
+packetLen(0x0a09, 55)
+#elif PACKETVER >= 20180103
+packetLen(0x0a09, 45)
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20180704
+packetLen(0x0a0a, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0a, 47)
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20180704
+packetLen(0x0a0b, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0b, 47)
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20180704
+packetLen(0x0a0c, 66)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0c, 56)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a1a, 25)
+#elif PACKETVER >= 20180103
+packetLen(0x0a1a, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a20, 23)
+#elif PACKETVER >= 20180103
+packetLen(0x0a20, 21)
+#endif
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+#if PACKETVER >= 20180704
+packetLen(0x0a22, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0a22, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a37, 69)
+#elif PACKETVER >= 20180103
+packetLen(0x0a37, 59)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a3d, 20)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20180704
+packetLen(0x0a3f, 11)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18)
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a49, 22)
+#elif PACKETVER >= 20180103
+packetLen(0x0a49, 20)
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20180704
+packetLen(0x0a4e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34)
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a89, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x0a89, 57)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0a96, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x0a96, 51)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0aa3, 9)
+#elif PACKETVER >= 20180103
+packetLen(0x0aa3, 7)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0ab4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20180704
+packetLen(0x0ab6, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20180704
+packetLen(0x0ab9, 47)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab9, 39)
+#endif
+
+// 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
+#if PACKETVER >= 20180704
+packetLen(0x0ada, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x0ada, 30)
+#endif
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+#if PACKETVER >= 20180704
+packetLen(0x0add, 24)
+#elif PACKETVER >= 20180103
+packetLen(0x0add, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180207
+packetLen(0x0ae6, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20180404
+packetLen(0x0ae7, 38)
+#elif PACKETVER >= 20180321
+packetLen(0x0ae7, 34)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20180117
+packetLen(0x0ae9, 13)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae9, 64)
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aea, 2)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+#if PACKETVER >= 20180117
+packetLen(0x0aef, 2)
+#endif
+
+// Packet: 0x0af0
+#if PACKETVER >= 20180117
+packetLen(0x0af0, 10)
+#endif
+
+// Packet: 0x0af2
+#if PACKETVER >= 20180124
+packetLen(0x0af2, 40)
+#endif
+
+// Packet: 0x0af3
+#if PACKETVER >= 20180124
+packetLen(0x0af3, -1)
+#endif
+
+// Packet: 0x0af4
+#if PACKETVER >= 20180207
+packetLen(0x0af4, 11)
+#endif
+
+// Packet: 0x0af5
+#if PACKETVER >= 20180207
+packetLen(0x0af5, 3)
+#endif
+
+// Packet: 0x0af6
+#if PACKETVER >= 20180207
+packetLen(0x0af6, 88)
+#endif
+
+// Packet: 0x0af7
+#if PACKETVER >= 20180207
+packetLen(0x0af7, 32)
+#endif
+
+// Packet: 0x0af8
+#if PACKETVER >= 20180321
+packetLen(0x0af8, 11)
+#endif
+
+// Packet: 0x0af9
+#if PACKETVER >= 20180404
+packetLen(0x0af9, 6)
+#endif
+
+// Packet: 0x0afa
+#if PACKETVER >= 20180404
+packetLen(0x0afa, 54)
+#endif
+
+// Packet: 0x0afb
+#if PACKETVER >= 20180418
+packetLen(0x0afb, -1)
+#endif
+
+// Packet: 0x0afc
+#if PACKETVER >= 20180516
+packetLen(0x0afc, 16)
+#endif
+
+// Packet: 0x0afd
+#if PACKETVER >= 20180605
+packetLen(0x0afd, -1)
+#endif
+
+// Packet: 0x0afe
+#if PACKETVER >= 20180605
+packetLen(0x0afe, -1)
+#endif
+
+// Packet: 0x0aff
+#if PACKETVER >= 20180605
+packetLen(0x0aff, -1)
+#endif
+
+// Packet: 0x0b00
+#if PACKETVER >= 20180620
+packetLen(0x0b00, 8)
+#endif
+
+// Packet: 0x0b01
+#if PACKETVER >= 20180704
+packetLen(0x0b01, 56)
+#elif PACKETVER >= 20180620
+packetLen(0x0b01, 40)
+#endif
+
+// Packet: 0x0b02
+#if PACKETVER >= 20180704
+packetLen(0x0b02, 26)
+#endif
+
+// Packet: 0x0b03
+#if PACKETVER >= 20180801
+packetLen(0x0b03, -1)
+#endif
+
+// Packet: 0x0b04
+#if PACKETVER >= 20180801
+packetLen(0x0b04, 80)
+#endif
+
+// Packet: 0x0b05
+#if PACKETVER >= 20180829
+packetLen(0x0b05, 63)
+#endif
+
+// Packet: 0x0b06
+#if PACKETVER >= 20181002
+// removed
+#elif PACKETVER >= 20180829
+packetLen(0x0b06, 53)
+#endif
+
+// Packet: 0x0b07
+#if PACKETVER >= 20180829
+packetLen(0x0b07, -1)
+#endif
+
+// Packet: 0x0b08
+#if PACKETVER >= 20180919
+packetLen(0x0b08, -1)
+#elif PACKETVER >= 20180912
+packetLen(0x0b08, 27)
+#elif PACKETVER >= 20180829
+packetLen(0x0b08, 26)
+#endif
+
+// Packet: 0x0b09
+#if PACKETVER >= 20180829
+packetLen(0x0b09, -1)
+#endif
+
+// Packet: 0x0b0a
+#if PACKETVER >= 20180829
+packetLen(0x0b0a, -1)
+#endif
+
+// Packet: 0x0b0b
+#if PACKETVER >= 20180912
+packetLen(0x0b0b, 4)
+#elif PACKETVER >= 20180829
+packetLen(0x0b0b, 3)
+#endif
+
+// Packet: 0x0b0c
+#if PACKETVER >= 20180829
+packetLen(0x0b0c, 155)
+#endif
+
+// Packet: 0x0b0d
+#if PACKETVER >= 20180912
+packetLen(0x0b0d, 10)
+#endif
+
+// Packet: 0x0b0e
+#if PACKETVER >= 20180912
+packetLen(0x0b0e, -1)
+#endif
+
+// Packet: 0x0b0f
+#if PACKETVER >= 20180912
+packetLen(0x0b0f, -1)
+#endif
+
+// Packet: 0x0b10
+#if PACKETVER >= 20181002
+packetLen(0x0b10, 10)
+#endif
+
+// Packet: 0x0b11
+#if PACKETVER >= 20181002
+packetLen(0x0b11, 4)
+#endif
+
+// Packet: 0x0b12
+#if PACKETVER >= 20181017
+packetLen(0x0b12, 2)
+#endif
+
+// Packet: 0x0b13
+#if PACKETVER >= 20181017
+packetLen(0x0b13, 48)
+#endif
+
+// Packet: 0x0b14
+#if PACKETVER >= 20181031
+packetLen(0x0b14, 2)
+#endif
+
+// Packet: 0x0b15
+#if PACKETVER >= 20181031
+packetLen(0x0b15, 7)
+#endif
+
+// Packet: 0x0b16
+#if PACKETVER >= 20181031
+packetLen(0x0b16, 2)
+#endif
+
+// Packet: 0x0b17
+#if PACKETVER >= 20181031
+packetLen(0x0b17, 3)
+#endif
+
+// Packet: 0x0b18
+#if PACKETVER >= 20181031
+packetLen(0x0b18, 4)
+#endif
+
+// Packet: 0x0b19
+#if PACKETVER >= 20181031
+packetLen(0x0b19, 2)
+#endif
+
+// Packet: 0x0b1a
+#if PACKETVER >= 20181212
+packetLen(0x0b1a, 29)
+#endif
+
+
+#endif /* COMMON_PACKETS2018_LEN_RE_H */
diff --git a/src/common/packets/packets2018_len_zero.h b/src/common/packets/packets2018_len_zero.h
new file mode 100644
index 000000000..3f4ec4b60
--- /dev/null
+++ b/src/common/packets/packets2018_len_zero.h
@@ -0,0 +1,5958 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 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_PACKETS2018_LEN_ZERO_H
+#define COMMON_PACKETS2018_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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, 105)
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x009d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x009d, 17)
+#endif
+
+// Packet: 0x009e
+#if PACKETVER >= 20181114
+packetLen(0x009e, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x009e, 17)
+#endif
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+#if PACKETVER >= 20181114
+packetLen(0x00a0, 33)
+#elif PACKETVER >= 20180103
+packetLen(0x00a0, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x00e9, 29)
+#elif PACKETVER >= 20180103
+packetLen(0x00e9, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x00f4, 31)
+#elif PACKETVER >= 20180103
+packetLen(0x00f4, 21)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x010a, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x010a, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0110, 14)
+#elif PACKETVER >= 20180103
+packetLen(0x0110, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0124, 31)
+#elif PACKETVER >= 20180103
+packetLen(0x0124, 21)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x018e, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x018e, 10)
+#endif
+
+// Packet: 0x018f
+#if PACKETVER >= 20181114
+packetLen(0x018f, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x018f, 6)
+#endif
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 86)
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x01a3, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x01a3, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x01ae, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x01ae, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x01c4, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x01c4, 22)
+#endif
+
+// Packet: 0x01c5
+#if PACKETVER >= 20181114
+packetLen(0x01c5, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x01c5, 22)
+#endif
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+#if PACKETVER >= 20181114
+packetLen(0x01c8, 15)
+#elif PACKETVER >= 20180103
+packetLen(0x01c8, 13)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x01d7, 15)
+#elif PACKETVER >= 20180103
+packetLen(0x01d7, 11)
+#endif
+
+// Packet: 0x01d8
+#if PACKETVER >= 20181114
+packetLen(0x01d8, 58)
+#elif PACKETVER >= 20180103
+packetLen(0x01d8, 54)
+#endif
+
+// Packet: 0x01d9
+#if PACKETVER >= 20181114
+packetLen(0x01d9, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x01d9, 53)
+#endif
+
+// Packet: 0x01da
+#if PACKETVER >= 20181114
+packetLen(0x01da, 64)
+#elif PACKETVER >= 20180103
+packetLen(0x01da, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x01fd, 25)
+#elif PACKETVER >= 20180103
+packetLen(0x01fd, 15)
+#endif
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+#if PACKETVER >= 20180523
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20180511
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0202, 26)
+#elif PACKETVER >= 20180314
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20180213
+packetLen(0x0202, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0202, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0202, 2)
+#endif
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+#if PACKETVER >= 20180328
+packetLen(0x0206, 35)
+#elif PACKETVER >= 20180103
+packetLen(0x0206, 11)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0223, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0223, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x022a, 62)
+#elif PACKETVER >= 20180103
+packetLen(0x022a, 58)
+#endif
+
+// Packet: 0x022b
+#if PACKETVER >= 20181114
+packetLen(0x022b, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x022b, 57)
+#endif
+
+// Packet: 0x022c
+#if PACKETVER >= 20181114
+packetLen(0x022c, 69)
+#elif PACKETVER >= 20180103
+packetLen(0x022c, 65)
+#endif
+
+// Packet: 0x022d
+#if PACKETVER >= 20180523
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20180511
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20180314
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20180221
+packetLen(0x022d, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x022d, 5)
+#elif PACKETVER >= 20180131
+packetLen(0x022d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x022d, 2)
+#endif
+
+// Packet: 0x022e
+#if PACKETVER >= 20181114
+packetLen(0x022e, 73)
+#elif PACKETVER >= 20180103
+packetLen(0x022e, 71)
+#endif
+
+// Packet: 0x022f
+#if PACKETVER >= 20181114
+packetLen(0x022f, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x022f, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x023b, 36)
+#elif PACKETVER >= 20180511
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x023b, 36)
+#elif PACKETVER >= 20180228
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20180213
+packetLen(0x023b, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x023b, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x023b, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x025b, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x025b, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20180511
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0281, 4)
+#elif PACKETVER >= 20180314
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0281, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0281, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0281, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0298, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0298, 8)
+#endif
+
+// Packet: 0x0299
+#if PACKETVER >= 20181114
+packetLen(0x0299, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0299, 6)
+#endif
+
+// Packet: 0x029a
+#if PACKETVER >= 20181114
+packetLen(0x029a, 37)
+#elif PACKETVER >= 20180103
+packetLen(0x029a, 27)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x02b8, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x02b8, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20180511
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x02c4, 26)
+#elif PACKETVER >= 20180228
+packetLen(0x02c4, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x02c4, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x02c4, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x02c4, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x02d4, 39)
+#elif PACKETVER >= 20180103
+packetLen(0x02d4, 29)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x02ec, 71)
+#elif PACKETVER >= 20180103
+packetLen(0x02ec, 67)
+#endif
+
+// Packet: 0x02ed
+#if PACKETVER >= 20181114
+packetLen(0x02ed, 63)
+#elif PACKETVER >= 20180103
+packetLen(0x02ed, 59)
+#endif
+
+// Packet: 0x02ee
+#if PACKETVER >= 20181114
+packetLen(0x02ee, 64)
+#elif PACKETVER >= 20180103
+packetLen(0x02ee, 60)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20180511
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x035f, 5)
+#elif PACKETVER >= 20180314
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20180221
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x035f, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x035f, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x035f, 5)
+#endif
+
+// Packet: 0x0360
+#if PACKETVER >= 20180523
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180511
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180314
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0360, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0360, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0360, 18)
+#endif
+
+// Packet: 0x0361
+#if PACKETVER >= 20180523
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180511
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180314
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180221
+packetLen(0x0361, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0361, 90)
+#elif PACKETVER >= 20180131
+packetLen(0x0361, 5)
+#elif PACKETVER >= 20180117
+packetLen(0x0361, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0361, 2)
+#endif
+
+// Packet: 0x0362
+#if PACKETVER >= 20180523
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180511
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180314
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0362, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0362, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0362, 2)
+#endif
+
+// Packet: 0x0363
+#if PACKETVER >= 20180523
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20180511
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0363, 6)
+#elif PACKETVER >= 20180314
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x0363, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0363, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0363, 2)
+#endif
+
+// Packet: 0x0364
+#if PACKETVER >= 20180523
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180511
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180314
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180221
+packetLen(0x0364, 5)
+#elif PACKETVER >= 20180213
+packetLen(0x0364, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0364, 8)
+#elif PACKETVER >= 20180117
+packetLen(0x0364, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0364, 2)
+#endif
+
+// Packet: 0x0365
+#if PACKETVER >= 20180523
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20180511
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0365, 8)
+#elif PACKETVER >= 20180314
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20180213
+packetLen(0x0365, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0365, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0365, 2)
+#endif
+
+// Packet: 0x0366
+#if PACKETVER >= 20180523
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20180511
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0366, 10)
+#elif PACKETVER >= 20180314
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20180213
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0366, 90)
+#elif PACKETVER >= 20180117
+packetLen(0x0366, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0366, -1)
+#endif
+
+// Packet: 0x0367
+#if PACKETVER >= 20180523
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20180511
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0367, 90)
+#elif PACKETVER >= 20180207
+packetLen(0x0367, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0367, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0367, 2)
+#endif
+
+// Packet: 0x0368
+#if PACKETVER >= 20180523
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180511
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180314
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x0368, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0368, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0368, 2)
+#endif
+
+// Packet: 0x0369
+#if PACKETVER >= 20180523
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20180511
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0369, 6)
+#elif PACKETVER >= 20180314
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20180213
+packetLen(0x0369, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0369, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0369, 2)
+#endif
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+#if PACKETVER >= 20180523
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20180511
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0436, 19)
+#elif PACKETVER >= 20180314
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20180213
+packetLen(0x0436, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0436, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0436, 2)
+#endif
+
+// Packet: 0x0437
+#if PACKETVER >= 20180523
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20180511
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0437, 7)
+#elif PACKETVER >= 20180314
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20180213
+packetLen(0x0437, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0437, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0437, 2)
+#endif
+
+// Packet: 0x0438
+#if PACKETVER >= 20180523
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180511
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180314
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180221
+packetLen(0x0438, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0438, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0438, 10)
+#elif PACKETVER >= 20180117
+packetLen(0x0438, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0438, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0445, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0445, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20180511
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x07e4, -1)
+#elif PACKETVER >= 20180314
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x07e4, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x07e4, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x07e4, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x07e4, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180511
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180314
+packetLen(0x07ec, 19)
+#elif PACKETVER >= 20180228
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180213
+packetLen(0x07ec, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x07ec, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x07ec, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20180511
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0802, 18)
+#elif PACKETVER >= 20180314
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20180221
+packetLen(0x0802, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0802, 6)
+#elif PACKETVER >= 20180131
+packetLen(0x0802, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0802, 2)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x080f, 30)
+#elif PACKETVER >= 20180103
+packetLen(0x080f, 20)
+#endif
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+#if PACKETVER >= 20180523
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180511
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180314
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0811, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0811, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0811, 2)
+#endif
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+#if PACKETVER >= 20180314
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20180221
+packetLen(0x0815, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0815, 10)
+#elif PACKETVER >= 20180131
+packetLen(0x0815, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0815, 2)
+#endif
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+#if PACKETVER >= 20180315
+packetLen(0x0817, 6)
+#elif PACKETVER >= 20180228
+packetLen(0x0817, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0817, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0817, 2)
+#endif
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+#if PACKETVER >= 20180523
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180511
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180314
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180213
+packetLen(0x0819, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0819, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0819, 2)
+#endif
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+#if PACKETVER >= 20181114
+packetLen(0x081b, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x081b, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0824, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0824, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180523
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20180511
+packetLen(0x0835, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x0835, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0835, 2)
+#endif
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+#if PACKETVER >= 20180314
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20180213
+packetLen(0x0838, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0838, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0838, 2)
+#endif
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+#if PACKETVER >= 20181114
+packetLen(0x083c, 14)
+#elif PACKETVER >= 20180523
+packetLen(0x083c, 12)
+#elif PACKETVER >= 20180511
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20180315
+packetLen(0x083c, 12)
+#elif PACKETVER >= 20180314
+packetLen(0x083c, 5)
+#elif PACKETVER >= 20180228
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20180213
+packetLen(0x083c, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x083c, 10)
+#elif PACKETVER >= 20180117
+packetLen(0x083c, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x083c, 10)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x084b, 21)
+#elif PACKETVER >= 20180103
+packetLen(0x084b, 19)
+#endif
+
+// 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
+#if PACKETVER >= 20180221
+packetLen(0x085a, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x085a, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x085a, 2)
+#endif
+
+// Packet: 0x085b
+#if PACKETVER >= 20180228
+packetLen(0x085b, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x085b, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x085b, 2)
+#endif
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+#if PACKETVER >= 20180315
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x085d, 26)
+#elif PACKETVER >= 20180221
+packetLen(0x085d, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x085d, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x085d, 2)
+#endif
+
+// Packet: 0x085e
+packetLen(0x085e, 2)
+
+// Packet: 0x085f
+#if PACKETVER >= 20180523
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x085f, 6)
+#elif PACKETVER >= 20180315
+packetLen(0x085f, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x085f, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x085f, 2)
+#endif
+
+// Packet: 0x0860
+#if PACKETVER >= 20180117
+packetLen(0x0860, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0860, 5)
+#endif
+
+// Packet: 0x0861
+packetLen(0x0861, 2)
+
+// Packet: 0x0862
+packetLen(0x0862, 2)
+
+// Packet: 0x0863
+#if PACKETVER >= 20180523
+packetLen(0x0863, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0863, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0863, 2)
+#endif
+
+// Packet: 0x0864
+packetLen(0x0864, 2)
+
+// Packet: 0x0865
+packetLen(0x0865, 2)
+
+// Packet: 0x0866
+#if PACKETVER >= 20180315
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0866, 5)
+#elif PACKETVER >= 20180131
+packetLen(0x0866, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0866, -1)
+#endif
+
+// Packet: 0x0867
+packetLen(0x0867, 2)
+
+// Packet: 0x0868
+#if PACKETVER >= 20180221
+packetLen(0x0868, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0868, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0868, 2)
+#endif
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+#if PACKETVER >= 20180228
+packetLen(0x086a, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x086a, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x086a, 2)
+#endif
+
+// Packet: 0x086b
+packetLen(0x086b, 2)
+
+// Packet: 0x086c
+#if PACKETVER >= 20180523
+packetLen(0x086c, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x086c, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x086c, 2)
+#endif
+
+// Packet: 0x086d
+#if PACKETVER >= 20180117
+packetLen(0x086d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x086d, 26)
+#endif
+
+// Packet: 0x086e
+#if PACKETVER >= 20180131
+packetLen(0x086e, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x086e, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x086e, 2)
+#endif
+
+// Packet: 0x086f
+#if PACKETVER >= 20180131
+packetLen(0x086f, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x086f, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x086f, 2)
+#endif
+
+// Packet: 0x0870
+packetLen(0x0870, 2)
+
+// Packet: 0x0871
+#if PACKETVER >= 20180117
+packetLen(0x0871, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0871, 6)
+#endif
+
+// Packet: 0x0872
+#if PACKETVER >= 20180117
+packetLen(0x0872, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0872, -1)
+#endif
+
+// Packet: 0x0873
+packetLen(0x0873, 2)
+
+// Packet: 0x0874
+packetLen(0x0874, 2)
+
+// Packet: 0x0875
+packetLen(0x0875, 2)
+
+// Packet: 0x0876
+packetLen(0x0876, 2)
+
+// Packet: 0x0877
+#if PACKETVER >= 20180523
+packetLen(0x0877, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0877, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0877, 2)
+#endif
+
+// Packet: 0x0878
+#if PACKETVER >= 20180315
+packetLen(0x0878, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0878, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0878, 2)
+#endif
+
+// Packet: 0x0879
+packetLen(0x0879, 2)
+
+// Packet: 0x087a
+packetLen(0x087a, 2)
+
+// Packet: 0x087b
+#if PACKETVER >= 20180221
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x087b, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x087b, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x087b, 8)
+#endif
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+#if PACKETVER >= 20180131
+packetLen(0x087d, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x087d, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x087d, 2)
+#endif
+
+// Packet: 0x087e
+#if PACKETVER >= 20180523
+packetLen(0x087e, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x087e, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x087e, 2)
+#endif
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+#if PACKETVER >= 20180523
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0880, 6)
+#elif PACKETVER >= 20180228
+packetLen(0x0880, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0880, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0880, 2)
+#endif
+
+// Packet: 0x0881
+#if PACKETVER >= 20180131
+packetLen(0x0881, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0881, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0881, 2)
+#endif
+
+// Packet: 0x0882
+#if PACKETVER >= 20180221
+packetLen(0x0882, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0882, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0882, 2)
+#endif
+
+// Packet: 0x0883
+packetLen(0x0883, 2)
+
+// Packet: 0x0884
+packetLen(0x0884, 2)
+
+// Packet: 0x0885
+packetLen(0x0885, 2)
+
+// Packet: 0x0886
+#if PACKETVER >= 20180131
+packetLen(0x0886, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0886, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0886, 2)
+#endif
+
+// Packet: 0x0887
+#if PACKETVER >= 20180221
+packetLen(0x0887, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0887, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0887, 2)
+#endif
+
+// Packet: 0x0888
+#if PACKETVER >= 20180221
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0888, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0888, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0888, 7)
+#endif
+
+// Packet: 0x0889
+#if PACKETVER >= 20180523
+packetLen(0x0889, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0889, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0889, 2)
+#endif
+
+// Packet: 0x088a
+#if PACKETVER >= 20180221
+packetLen(0x088a, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x088a, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x088a, 2)
+#endif
+
+// Packet: 0x088b
+packetLen(0x088b, 2)
+
+// Packet: 0x088c
+packetLen(0x088c, 2)
+
+// Packet: 0x088d
+#if PACKETVER >= 20180315
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x088d, 36)
+#elif PACKETVER >= 20180228
+packetLen(0x088d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x088d, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x088d, 2)
+#endif
+
+// Packet: 0x088e
+#if PACKETVER >= 20180221
+packetLen(0x088e, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x088e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x088e, 2)
+#endif
+
+// Packet: 0x088f
+packetLen(0x088f, 2)
+
+// Packet: 0x0890
+#if PACKETVER >= 20180131
+packetLen(0x0890, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0890, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0890, 6)
+#endif
+
+// Packet: 0x0891
+#if PACKETVER >= 20180315
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0891, 8)
+#elif PACKETVER >= 20180131
+packetLen(0x0891, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0891, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0891, 2)
+#endif
+
+// Packet: 0x0892
+#if PACKETVER >= 20180228
+packetLen(0x0892, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0892, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0892, 2)
+#endif
+
+// Packet: 0x0893
+#if PACKETVER >= 20180523
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0893, 18)
+#elif PACKETVER >= 20180131
+packetLen(0x0893, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0893, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0893, 2)
+#endif
+
+// Packet: 0x0894
+packetLen(0x0894, 2)
+
+// Packet: 0x0895
+#if PACKETVER >= 20180228
+packetLen(0x0895, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0895, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0895, 2)
+#endif
+
+// Packet: 0x0896
+#if PACKETVER >= 20180523
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0896, 19)
+#elif PACKETVER >= 20180117
+packetLen(0x0896, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0896, 10)
+#endif
+
+// Packet: 0x0897
+#if PACKETVER >= 20180315
+packetLen(0x0897, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0897, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0897, 2)
+#endif
+
+// Packet: 0x0898
+packetLen(0x0898, 2)
+
+// Packet: 0x0899
+#if PACKETVER >= 20180523
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0899, 12)
+#elif PACKETVER >= 20180315
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0899, 8)
+#elif PACKETVER >= 20180221
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0899, 26)
+#elif PACKETVER >= 20180131
+packetLen(0x0899, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0899, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0899, 2)
+#endif
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+packetLen(0x089b, 2)
+
+// Packet: 0x089c
+packetLen(0x089c, 2)
+
+// Packet: 0x089d
+#if PACKETVER >= 20180131
+packetLen(0x089d, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x089d, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x089d, 8)
+#endif
+
+// Packet: 0x089e
+#if PACKETVER >= 20180315
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x089e, -1)
+#elif PACKETVER >= 20180131
+packetLen(0x089e, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x089e, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x089e, 2)
+#endif
+
+// Packet: 0x089f
+packetLen(0x089f, 2)
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2)
+
+// Packet: 0x08a1
+#if PACKETVER >= 20180315
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x08a1, 4)
+#elif PACKETVER >= 20180228
+packetLen(0x08a1, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x08a1, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x08a1, 2)
+#endif
+
+// Packet: 0x08a2
+#if PACKETVER >= 20180523
+packetLen(0x08a2, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x08a2, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x08a2, 2)
+#endif
+
+// Packet: 0x08a3
+#if PACKETVER >= 20180228
+packetLen(0x08a3, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x08a3, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x08a3, 2)
+#endif
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2)
+
+// Packet: 0x08a5
+#if PACKETVER >= 20180523
+packetLen(0x08a5, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x08a5, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x08a5, 2)
+#endif
+
+// Packet: 0x08a6
+#if PACKETVER >= 20180117
+packetLen(0x08a6, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x08a6, 6)
+#endif
+
+// 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
+#if PACKETVER >= 20180315
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0917, -1)
+#elif PACKETVER >= 20180221
+packetLen(0x0917, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0917, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0917, 2)
+#endif
+
+// Packet: 0x0918
+#if PACKETVER >= 20180315
+packetLen(0x0918, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0918, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0918, 2)
+#endif
+
+// Packet: 0x0919
+#if PACKETVER >= 20180523
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0919, 5)
+#elif PACKETVER >= 20180131
+packetLen(0x0919, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0919, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0919, 2)
+#endif
+
+// Packet: 0x091a
+#if PACKETVER >= 20180523
+packetLen(0x091a, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x091a, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x091a, 2)
+#endif
+
+// Packet: 0x091b
+#if PACKETVER >= 20180228
+packetLen(0x091b, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x091b, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x091b, 2)
+#endif
+
+// Packet: 0x091c
+#if PACKETVER >= 20180131
+packetLen(0x091c, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x091c, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x091c, 2)
+#endif
+
+// Packet: 0x091d
+#if PACKETVER >= 20180523
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x091d, -1)
+#elif PACKETVER >= 20180221
+packetLen(0x091d, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x091d, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x091d, 2)
+#endif
+
+// Packet: 0x091e
+#if PACKETVER >= 20180117
+packetLen(0x091e, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x091e, 6)
+#endif
+
+// Packet: 0x091f
+#if PACKETVER >= 20180315
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x091f, 10)
+#elif PACKETVER >= 20180131
+packetLen(0x091f, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x091f, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x091f, 2)
+#endif
+
+// Packet: 0x0920
+#if PACKETVER >= 20180523
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0920, 4)
+#elif PACKETVER >= 20180315
+packetLen(0x0920, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0920, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0920, 2)
+#endif
+
+// Packet: 0x0921
+#if PACKETVER >= 20180228
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0921, -1)
+#elif PACKETVER >= 20180131
+packetLen(0x0921, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0921, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0921, 2)
+#endif
+
+// Packet: 0x0922
+#if PACKETVER >= 20180221
+packetLen(0x0922, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0922, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0922, 2)
+#endif
+
+// Packet: 0x0923
+#if PACKETVER >= 20180315
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0923, 12)
+#elif PACKETVER >= 20180228
+packetLen(0x0923, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0923, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0923, 2)
+#endif
+
+// Packet: 0x0924
+#if PACKETVER >= 20180117
+packetLen(0x0924, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0924, 4)
+#endif
+
+// Packet: 0x0925
+packetLen(0x0925, 2)
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+packetLen(0x0927, 2)
+
+// Packet: 0x0928
+packetLen(0x0928, 2)
+
+// Packet: 0x0929
+#if PACKETVER >= 20180131
+packetLen(0x0929, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0929, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0929, 2)
+#endif
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+packetLen(0x092b, 2)
+
+// Packet: 0x092c
+#if PACKETVER >= 20180523
+packetLen(0x092c, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x092c, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x092c, 2)
+#endif
+
+// Packet: 0x092d
+#if PACKETVER >= 20180523
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x092d, 26)
+#elif PACKETVER >= 20180228
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x092d, 26)
+#elif PACKETVER >= 20180131
+packetLen(0x092d, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x092d, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x092d, 2)
+#endif
+
+// Packet: 0x092e
+#if PACKETVER >= 20180523
+packetLen(0x092e, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x092e, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x092e, 2)
+#endif
+
+// Packet: 0x092f
+packetLen(0x092f, 2)
+
+// Packet: 0x0930
+#if PACKETVER >= 20180315
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0930, 6)
+#elif PACKETVER >= 20180228
+packetLen(0x0930, 36)
+#elif PACKETVER >= 20180221
+packetLen(0x0930, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0930, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0930, 2)
+#endif
+
+// Packet: 0x0931
+#if PACKETVER >= 20180315
+packetLen(0x0931, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0931, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0931, 2)
+#endif
+
+// Packet: 0x0932
+#if PACKETVER >= 20180228
+packetLen(0x0932, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0932, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x0932, 2)
+#endif
+
+// Packet: 0x0933
+#if PACKETVER >= 20180131
+packetLen(0x0933, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0933, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x0933, 2)
+#endif
+
+// Packet: 0x0934
+packetLen(0x0934, 2)
+
+// Packet: 0x0935
+packetLen(0x0935, 2)
+
+// Packet: 0x0936
+packetLen(0x0936, 2)
+
+// Packet: 0x0937
+packetLen(0x0937, 2)
+
+// Packet: 0x0938
+#if PACKETVER >= 20180117
+packetLen(0x0938, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0938, 90)
+#endif
+
+// Packet: 0x0939
+packetLen(0x0939, 2)
+
+// Packet: 0x093a
+packetLen(0x093a, 2)
+
+// Packet: 0x093b
+#if PACKETVER >= 20180228
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x093b, 12)
+#elif PACKETVER >= 20180117
+packetLen(0x093b, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x093b, 26)
+#endif
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+#if PACKETVER >= 20180228
+packetLen(0x093d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x093d, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x093d, 2)
+#endif
+
+// Packet: 0x093e
+#if PACKETVER >= 20180228
+packetLen(0x093e, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x093e, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x093e, 2)
+#endif
+
+// Packet: 0x093f
+#if PACKETVER >= 20180315
+packetLen(0x093f, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x093f, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x093f, 2)
+#endif
+
+// Packet: 0x0940
+#if PACKETVER >= 20180207
+packetLen(0x0940, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x0940, 90)
+#elif PACKETVER >= 20180103
+packetLen(0x0940, 2)
+#endif
+
+// Packet: 0x0941
+#if PACKETVER >= 20180221
+packetLen(0x0941, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0941, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x0941, 2)
+#endif
+
+// Packet: 0x0942
+#if PACKETVER >= 20180523
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0942, 5)
+#elif PACKETVER >= 20180228
+packetLen(0x0942, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0942, 36)
+#elif PACKETVER >= 20180213
+packetLen(0x0942, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0942, 2)
+#endif
+
+// Packet: 0x0943
+packetLen(0x0943, 2)
+
+// Packet: 0x0944
+packetLen(0x0944, 2)
+
+// Packet: 0x0945
+packetLen(0x0945, 2)
+
+// Packet: 0x0946
+#if PACKETVER >= 20180315
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0946, 90)
+#elif PACKETVER >= 20180131
+packetLen(0x0946, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0946, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0946, 2)
+#endif
+
+// Packet: 0x0947
+#if PACKETVER >= 20180221
+packetLen(0x0947, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x0947, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0947, 2)
+#endif
+
+// Packet: 0x0948
+packetLen(0x0948, 2)
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+#if PACKETVER >= 20180523
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x094a, 90)
+#elif PACKETVER >= 20180315
+packetLen(0x094a, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x094a, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x094a, 2)
+#endif
+
+// Packet: 0x094b
+packetLen(0x094b, 2)
+
+// Packet: 0x094c
+packetLen(0x094c, 2)
+
+// Packet: 0x094d
+#if PACKETVER >= 20180221
+packetLen(0x094d, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x094d, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x094d, 2)
+#endif
+
+// Packet: 0x094e
+#if PACKETVER >= 20180315
+packetLen(0x094e, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x094e, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x094e, 2)
+#endif
+
+// Packet: 0x094f
+packetLen(0x094f, 2)
+
+// Packet: 0x0950
+packetLen(0x0950, 2)
+
+// Packet: 0x0951
+#if PACKETVER >= 20180228
+packetLen(0x0951, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0951, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0951, 2)
+#endif
+
+// Packet: 0x0952
+#if PACKETVER >= 20180228
+packetLen(0x0952, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0952, 4)
+#elif PACKETVER >= 20180103
+packetLen(0x0952, 2)
+#endif
+
+// Packet: 0x0953
+packetLen(0x0953, 2)
+
+// Packet: 0x0954
+#if PACKETVER >= 20180315
+packetLen(0x0954, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0954, 18)
+#elif PACKETVER >= 20180103
+packetLen(0x0954, 2)
+#endif
+
+// Packet: 0x0955
+#if PACKETVER >= 20180523
+packetLen(0x0955, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0955, 26)
+#elif PACKETVER >= 20180103
+packetLen(0x0955, 2)
+#endif
+
+// Packet: 0x0956
+#if PACKETVER >= 20180523
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0956, 8)
+#elif PACKETVER >= 20180315
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0956, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x0956, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0956, -1)
+#endif
+
+// Packet: 0x0957
+packetLen(0x0957, 2)
+
+// Packet: 0x0958
+#if PACKETVER >= 20180315
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20180314
+packetLen(0x0958, -1)
+#elif PACKETVER >= 20180228
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0958, 7)
+#elif PACKETVER >= 20180213
+packetLen(0x0958, 26)
+#elif PACKETVER >= 20180117
+packetLen(0x0958, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0958, 19)
+#endif
+
+// Packet: 0x0959
+#if PACKETVER >= 20180228
+packetLen(0x0959, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x0959, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0959, 2)
+#endif
+
+// Packet: 0x095a
+packetLen(0x095a, 2)
+
+// Packet: 0x095b
+#if PACKETVER >= 20180117
+packetLen(0x095b, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x095b, 36)
+#endif
+
+// Packet: 0x095c
+#if PACKETVER >= 20180523
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x095c, 10)
+#elif PACKETVER >= 20180221
+packetLen(0x095c, 2)
+#elif PACKETVER >= 20180213
+packetLen(0x095c, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x095c, 2)
+#endif
+
+// Packet: 0x095d
+#if PACKETVER >= 20180228
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20180221
+packetLen(0x095d, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x095d, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x095d, 6)
+#endif
+
+// Packet: 0x095e
+#if PACKETVER >= 20180131
+packetLen(0x095e, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x095e, -1)
+#elif PACKETVER >= 20180103
+packetLen(0x095e, 2)
+#endif
+
+// Packet: 0x095f
+packetLen(0x095f, 2)
+
+// Packet: 0x0960
+packetLen(0x0960, 2)
+
+// Packet: 0x0961
+#if PACKETVER >= 20180523
+packetLen(0x0961, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0961, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0961, 2)
+#endif
+
+// Packet: 0x0962
+packetLen(0x0962, 2)
+
+// Packet: 0x0963
+#if PACKETVER >= 20180131
+packetLen(0x0963, 2)
+#elif PACKETVER >= 20180117
+packetLen(0x0963, 5)
+#elif PACKETVER >= 20180103
+packetLen(0x0963, 2)
+#endif
+
+// Packet: 0x0964
+#if PACKETVER >= 20180117
+packetLen(0x0964, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0964, 6)
+#endif
+
+// Packet: 0x0965
+packetLen(0x0965, 2)
+
+// Packet: 0x0966
+#if PACKETVER >= 20180117
+packetLen(0x0966, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x0966, 8)
+#endif
+
+// Packet: 0x0967
+#if PACKETVER >= 20180221
+packetLen(0x0967, 2)
+#elif PACKETVER >= 20180207
+packetLen(0x0967, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0967, 2)
+#endif
+
+// Packet: 0x0968
+#if PACKETVER >= 20180523
+packetLen(0x0968, 2)
+#elif PACKETVER >= 20180511
+packetLen(0x0968, 36)
+#elif PACKETVER >= 20180103
+packetLen(0x0968, 2)
+#endif
+
+// Packet: 0x0969
+packetLen(0x0969, 2)
+
+// Packet: 0x096a
+#if PACKETVER >= 20180314
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180228
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20180213
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180131
+packetLen(0x096a, 6)
+#elif PACKETVER >= 20180117
+packetLen(0x096a, 2)
+#elif PACKETVER >= 20180103
+packetLen(0x096a, 12)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0990, 41)
+#elif PACKETVER >= 20180103
+packetLen(0x0990, 31)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x09ad, 12)
+#elif PACKETVER >= 20180103
+packetLen(0x09ad, 10)
+#endif
+
+// Packet: 0x09ae
+#if PACKETVER >= 20181114
+packetLen(0x09ae, 19)
+#elif PACKETVER >= 20180103
+packetLen(0x09ae, 17)
+#endif
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+#if PACKETVER >= 20181114
+packetLen(0x09b0, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09b0, 8)
+#endif
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+#if PACKETVER >= 20181114
+packetLen(0x09b2, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09b2, 8)
+#endif
+
+// Packet: 0x09b3
+#if PACKETVER >= 20181114
+packetLen(0x09b3, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x09b3, 4)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x09c3, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09c3, 8)
+#endif
+
+// Packet: 0x09c4
+#if PACKETVER >= 20181114
+packetLen(0x09c4, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x09c4, 8)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x09e6, 24)
+#elif PACKETVER >= 20180103
+packetLen(0x09e6, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x09f7, 77)
+#elif PACKETVER >= 20180103
+packetLen(0x09f7, 75)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a05, 63)
+#elif PACKETVER >= 20180103
+packetLen(0x0a05, 53)
+#endif
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+#if PACKETVER >= 20181114
+packetLen(0x0a09, 55)
+#elif PACKETVER >= 20180103
+packetLen(0x0a09, 45)
+#endif
+
+// Packet: 0x0a0a
+#if PACKETVER >= 20181114
+packetLen(0x0a0a, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0a, 47)
+#endif
+
+// Packet: 0x0a0b
+#if PACKETVER >= 20181114
+packetLen(0x0a0b, 57)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0b, 47)
+#endif
+
+// Packet: 0x0a0c
+#if PACKETVER >= 20181114
+packetLen(0x0a0c, 66)
+#elif PACKETVER >= 20180103
+packetLen(0x0a0c, 56)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a1a, 25)
+#elif PACKETVER >= 20180103
+packetLen(0x0a1a, 23)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a20, 23)
+#elif PACKETVER >= 20180103
+packetLen(0x0a20, 21)
+#endif
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+#if PACKETVER >= 20181114
+packetLen(0x0a22, 7)
+#elif PACKETVER >= 20180103
+packetLen(0x0a22, 5)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a37, 69)
+#elif PACKETVER >= 20180103
+packetLen(0x0a37, 59)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a3d, 20)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3d, 18)
+#endif
+
+// Packet: 0x0a3e
+packetLen(0x0a3e, -1)
+
+// Packet: 0x0a3f
+#if PACKETVER >= 20181114
+packetLen(0x0a3f, 11)
+#elif PACKETVER >= 20180103
+packetLen(0x0a3f, 9)
+#endif
+
+// Packet: 0x0a40
+packetLen(0x0a40, 11)
+
+// Packet: 0x0a41
+packetLen(0x0a41, 18)
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a49, 22)
+#elif PACKETVER >= 20180103
+packetLen(0x0a49, 20)
+#endif
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// Packet: 0x0a4d
+packetLen(0x0a4d, -1)
+
+// Packet: 0x0a4e
+#if PACKETVER >= 20181114
+packetLen(0x0a4e, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0a4e, 4)
+#endif
+
+// Packet: 0x0a4f
+packetLen(0x0a4f, -1)
+
+// Packet: 0x0a50
+packetLen(0x0a50, 4)
+
+// Packet: 0x0a51
+packetLen(0x0a51, 34)
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a89, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x0a89, 57)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0a96, 61)
+#elif PACKETVER >= 20180103
+packetLen(0x0a96, 51)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0aa3, 9)
+#elif PACKETVER >= 20180103
+packetLen(0x0aa3, 7)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0ab4, 6)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab4, 4)
+#endif
+
+// Packet: 0x0ab5
+packetLen(0x0ab5, 2)
+
+// Packet: 0x0ab6
+#if PACKETVER >= 20181114
+packetLen(0x0ab6, 8)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab6, 6)
+#endif
+
+// Packet: 0x0ab7
+packetLen(0x0ab7, 4)
+
+// Packet: 0x0ab8
+packetLen(0x0ab8, 2)
+
+// Packet: 0x0ab9
+#if PACKETVER >= 20181114
+packetLen(0x0ab9, 47)
+#elif PACKETVER >= 20180103
+packetLen(0x0ab9, 39)
+#endif
+
+// 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
+#if PACKETVER >= 20181114
+packetLen(0x0ada, 32)
+#elif PACKETVER >= 20180103
+packetLen(0x0ada, 30)
+#endif
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+#if PACKETVER >= 20181114
+packetLen(0x0add, 24)
+#elif PACKETVER >= 20180103
+packetLen(0x0add, 22)
+#endif
+
+// 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
+#if PACKETVER >= 20180131
+packetLen(0x0ae6, 10)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae6, 30)
+#endif
+
+// Packet: 0x0ae7
+#if PACKETVER >= 20180328
+packetLen(0x0ae7, 38)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae7, 30)
+#endif
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+#if PACKETVER >= 20180117
+packetLen(0x0ae9, 13)
+#elif PACKETVER >= 20180103
+packetLen(0x0ae9, 64)
+#endif
+
+// Packet: 0x0aea
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aea, 2)
+#endif
+
+// Packet: 0x0aeb
+#if PACKETVER >= 20180117
+// removed
+#elif PACKETVER >= 20180103
+packetLen(0x0aeb, 11)
+#endif
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+#if PACKETVER >= 20180117
+packetLen(0x0aef, 2)
+#endif
+
+// Packet: 0x0af0
+#if PACKETVER >= 20180117
+packetLen(0x0af0, 10)
+#endif
+
+// Packet: 0x0af2
+#if PACKETVER >= 20180131
+packetLen(0x0af2, 40)
+#endif
+
+// Packet: 0x0af3
+#if PACKETVER >= 20180131
+packetLen(0x0af3, -1)
+#endif
+
+// Packet: 0x0af4
+#if PACKETVER >= 20180131
+packetLen(0x0af4, 11)
+#endif
+
+// Packet: 0x0af5
+#if PACKETVER >= 20180207
+packetLen(0x0af5, 3)
+#endif
+
+// Packet: 0x0af6
+#if PACKETVER >= 20180207
+packetLen(0x0af6, 88)
+#endif
+
+// Packet: 0x0af7
+#if PACKETVER >= 20180207
+packetLen(0x0af7, 32)
+#endif
+
+// Packet: 0x0af8
+#if PACKETVER >= 20180328
+packetLen(0x0af8, 11)
+#endif
+
+// Packet: 0x0af9
+#if PACKETVER >= 20180328
+packetLen(0x0af9, 6)
+#endif
+
+// Packet: 0x0afa
+#if PACKETVER >= 20180328
+packetLen(0x0afa, 54)
+#endif
+
+// Packet: 0x0afb
+#if PACKETVER >= 20180425
+packetLen(0x0afb, -1)
+#endif
+
+// Packet: 0x0afc
+#if PACKETVER >= 20180523
+packetLen(0x0afc, 16)
+#endif
+
+// Packet: 0x0afd
+#if PACKETVER >= 20180605
+packetLen(0x0afd, -1)
+#endif
+
+// Packet: 0x0afe
+#if PACKETVER >= 20180605
+packetLen(0x0afe, -1)
+#endif
+
+// Packet: 0x0aff
+#if PACKETVER >= 20180605
+packetLen(0x0aff, -1)
+#endif
+
+// Packet: 0x0b00
+#if PACKETVER >= 20180627
+packetLen(0x0b00, 8)
+#endif
+
+// Packet: 0x0b01
+#if PACKETVER >= 20180627
+packetLen(0x0b01, 56)
+#endif
+
+// Packet: 0x0b02
+#if PACKETVER >= 20180627
+packetLen(0x0b02, 26)
+#endif
+
+// Packet: 0x0b03
+#if PACKETVER >= 20180725
+packetLen(0x0b03, -1)
+#endif
+
+// Packet: 0x0b04
+#if PACKETVER >= 20180808
+packetLen(0x0b04, 80)
+#endif
+
+// Packet: 0x0b05
+#if PACKETVER >= 20181114
+packetLen(0x0b05, 63)
+#elif PACKETVER >= 20180822
+packetLen(0x0b05, 59)
+#endif
+
+// Packet: 0x0b06
+#if PACKETVER >= 20181010
+// removed
+#elif PACKETVER >= 20180822
+packetLen(0x0b06, 53)
+#endif
+
+// Packet: 0x0b07
+#if PACKETVER >= 20180822
+packetLen(0x0b07, -1)
+#endif
+
+// Packet: 0x0b08
+#if PACKETVER >= 20180919
+packetLen(0x0b08, -1)
+#elif PACKETVER >= 20180905
+packetLen(0x0b08, 27)
+#elif PACKETVER >= 20180822
+packetLen(0x0b08, 26)
+#endif
+
+// Packet: 0x0b09
+#if PACKETVER >= 20180822
+packetLen(0x0b09, -1)
+#endif
+
+// Packet: 0x0b0a
+#if PACKETVER >= 20180822
+packetLen(0x0b0a, -1)
+#endif
+
+// Packet: 0x0b0b
+#if PACKETVER >= 20180905
+packetLen(0x0b0b, 4)
+#elif PACKETVER >= 20180822
+packetLen(0x0b0b, 3)
+#endif
+
+// Packet: 0x0b0c
+#if PACKETVER >= 20180822
+packetLen(0x0b0c, 155)
+#endif
+
+// Packet: 0x0b0d
+#if PACKETVER >= 20180919
+packetLen(0x0b0d, 10)
+#elif PACKETVER >= 20180905
+packetLen(0x0b0d, 6)
+#endif
+
+// Packet: 0x0b0e
+#if PACKETVER >= 20180919
+packetLen(0x0b0e, -1)
+#endif
+
+// Packet: 0x0b0f
+#if PACKETVER >= 20180919
+packetLen(0x0b0f, -1)
+#endif
+
+// Packet: 0x0b10
+#if PACKETVER >= 20181010
+packetLen(0x0b10, 10)
+#endif
+
+// Packet: 0x0b11
+#if PACKETVER >= 20181010
+packetLen(0x0b11, 4)
+#endif
+
+// Packet: 0x0b12
+#if PACKETVER >= 20181024
+packetLen(0x0b12, 2)
+#endif
+
+// Packet: 0x0b13
+#if PACKETVER >= 20181114
+packetLen(0x0b13, 48)
+#elif PACKETVER >= 20181024
+packetLen(0x0b13, 40)
+#endif
+
+// Packet: 0x0b14
+#if PACKETVER >= 20181114
+packetLen(0x0b14, 2)
+#endif
+
+// Packet: 0x0b15
+#if PACKETVER >= 20181114
+packetLen(0x0b15, 7)
+#endif
+
+// Packet: 0x0b16
+#if PACKETVER >= 20181114
+packetLen(0x0b16, 2)
+#endif
+
+// Packet: 0x0b17
+#if PACKETVER >= 20181114
+packetLen(0x0b17, 3)
+#endif
+
+// Packet: 0x0b18
+#if PACKETVER >= 20181114
+packetLen(0x0b18, 4)
+#endif
+
+// Packet: 0x0b19
+#if PACKETVER >= 20181114
+packetLen(0x0b19, 2)
+#endif
+
+// Packet: 0x0b1a
+#if PACKETVER >= 20181212
+packetLen(0x0b1a, 29)
+#endif
+
+
+#endif /* COMMON_PACKETS2018_LEN_ZERO_H */
diff --git a/src/common/packets/packets2019_len_main.h b/src/common/packets/packets2019_len_main.h
new file mode 100644
index 000000000..f3e025c85
--- /dev/null
+++ b/src/common/packets/packets2019_len_main.h
@@ -0,0 +1,4905 @@
+/**
+ * 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_PACKETS2019_LEN_MAIN_H
+#define COMMON_PACKETS2019_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20190904
+packetLen(0x007e, 46)
+#elif PACKETVER >= 20190109
+packetLen(0x007e, 105)
+#endif
+
+// 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
+#if PACKETVER >= 20190904
+packetLen(0x0191, 27)
+#elif PACKETVER >= 20190109
+packetLen(0x0191, 86)
+#endif
+
+// 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
+#if PACKETVER >= 20190904
+packetLen(0x0367, 31)
+#elif PACKETVER >= 20190109
+packetLen(0x0367, 90)
+#endif
+
+// 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
+#if PACKETVER >= 20191204
+packetLen(0x0afa, 58)
+#elif PACKETVER >= 20190109
+packetLen(0x0afa, 54)
+#endif
+
+// 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
+#if PACKETVER >= 20190807
+packetLen(0x0b04, 90)
+#elif PACKETVER >= 20190605
+packetLen(0x0b04, 72)
+#elif PACKETVER >= 20190109
+packetLen(0x0b04, 80)
+#endif
+
+// 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
+#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
new file mode 100644
index 000000000..713f15a61
--- /dev/null
+++ b/src/common/packets/packets2019_len_re.h
@@ -0,0 +1,4917 @@
+/**
+ * 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_PACKETS2019_LEN_RE_H
+#define COMMON_PACKETS2019_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20190904
+packetLen(0x007e, 46)
+#elif PACKETVER >= 20190109
+packetLen(0x007e, 105)
+#endif
+
+// 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
+#if PACKETVER >= 20190904
+packetLen(0x0191, 27)
+#elif PACKETVER >= 20190109
+packetLen(0x0191, 86)
+#endif
+
+// 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
+#if PACKETVER >= 20190904
+packetLen(0x0367, 31)
+#elif PACKETVER >= 20190109
+packetLen(0x0367, 90)
+#endif
+
+// 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
+#if PACKETVER >= 20191204
+packetLen(0x0afa, 58)
+#elif PACKETVER >= 20190109
+packetLen(0x0afa, 54)
+#endif
+
+// 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
+#if PACKETVER >= 20190807
+packetLen(0x0b04, 90)
+#elif PACKETVER >= 20190605
+packetLen(0x0b04, 72)
+#elif PACKETVER >= 20190109
+packetLen(0x0b04, 80)
+#endif
+
+// 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
+#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
new file mode 100644
index 000000000..3c1f393ac
--- /dev/null
+++ b/src/common/packets/packets2019_len_zero.h
@@ -0,0 +1,4889 @@
+/**
+ * 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_PACKETS2019_LEN_ZERO_H
+#define COMMON_PACKETS2019_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// 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
+#if PACKETVER >= 20190828
+packetLen(0x007e, 46)
+#elif PACKETVER >= 20190116
+packetLen(0x007e, 105)
+#endif
+
+// 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
+#if PACKETVER >= 20190828
+packetLen(0x0191, 27)
+#elif PACKETVER >= 20190116
+packetLen(0x0191, 86)
+#endif
+
+// 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
+#if PACKETVER >= 20190828
+packetLen(0x0367, 31)
+#elif PACKETVER >= 20190116
+packetLen(0x0367, 90)
+#endif
+
+// 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
+#if PACKETVER >= 20191204
+packetLen(0x0afa, 58)
+#elif PACKETVER >= 20190116
+packetLen(0x0afa, 54)
+#endif
+
+// 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
+#if PACKETVER >= 20190814
+packetLen(0x0b04, 90)
+#elif PACKETVER >= 20190605
+packetLen(0x0b04, 72)
+#elif PACKETVER >= 20190116
+packetLen(0x0b04, 80)
+#endif
+
+// 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
+#if PACKETVER >= 20190130
+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..fe06bb7d1
--- /dev/null
+++ b/src/common/packets/packets2020_len_main.h
@@ -0,0 +1,4615 @@
+/**
+ * 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)
+
+
+#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..a77dce7be
--- /dev/null
+++ b/src/common/packets/packets2020_len_re.h
@@ -0,0 +1,4621 @@
+/**
+ * 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)
+
+
+#endif /* COMMON_PACKETS2020_LEN_RE_H */
diff --git a/src/common/packets/packets_len_ad.h b/src/common/packets/packets_len_ad.h
new file mode 100644
index 000000000..2c5341f3c
--- /dev/null
+++ b/src/common/packets/packets_len_ad.h
@@ -0,0 +1,39 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019-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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_AD_H
+#define COMMON_PACKETS_LEN_AD_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20080000
+#include "common/packets/packets2008_len_ad.h"
+#elif PACKETVER >= 20070000
+#include "common/packets/packets2007_len_ad.h"
+#elif PACKETVER >= 20060000
+#include "common/packets/packets2006_len_ad.h"
+#elif PACKETVER >= 20050000
+#include "common/packets/packets2005_len_ad.h"
+#elif PACKETVER >= 20040000
+#include "common/packets/packets2004_len_ad.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_AD_H */
diff --git a/src/common/packets/packets_len_main.h b/src/common/packets/packets_len_main.h
new file mode 100644
index 000000000..7b93b35b0
--- /dev/null
+++ b/src/common/packets/packets_len_main.h
@@ -0,0 +1,65 @@
+/**
+ * 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_PACKETS_LEN_MAIN_H
+#define COMMON_PACKETS_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#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"
+#elif PACKETVER >= 20170000
+#include "common/packets/packets2017_len_main.h"
+#elif PACKETVER >= 20160000
+#include "common/packets/packets2016_len_main.h"
+#elif PACKETVER >= 20150000
+#include "common/packets/packets2015_len_main.h"
+#elif PACKETVER >= 20140000
+#include "common/packets/packets2014_len_main.h"
+#elif PACKETVER >= 20130000
+#include "common/packets/packets2013_len_main.h"
+#elif PACKETVER >= 20120000
+#include "common/packets/packets2012_len_main.h"
+#elif PACKETVER >= 20110000
+#include "common/packets/packets2011_len_main.h"
+#elif PACKETVER >= 20100000
+#include "common/packets/packets2010_len_main.h"
+#elif PACKETVER >= 20090000
+#include "common/packets/packets2009_len_main.h"
+#elif PACKETVER >= 20080000
+#include "common/packets/packets2008_len_main.h"
+#elif PACKETVER >= 20070000
+#include "common/packets/packets2007_len_main.h"
+#elif PACKETVER >= 20060000
+#include "common/packets/packets2006_len_main.h"
+#elif PACKETVER >= 20050000
+#include "common/packets/packets2005_len_main.h"
+#elif PACKETVER >= 20040000
+#include "common/packets/packets2004_len_main.h"
+#elif PACKETVER >= 20030000
+#include "common/packets/packets2003_len_main.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_MAIN_H */
diff --git a/src/common/packets/packets_len_re.h b/src/common/packets/packets_len_re.h
new file mode 100644
index 000000000..23a507886
--- /dev/null
+++ b/src/common/packets/packets_len_re.h
@@ -0,0 +1,55 @@
+/**
+ * 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_PACKETS_LEN_RE_H
+#define COMMON_PACKETS_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#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"
+#elif PACKETVER >= 20170000
+#include "common/packets/packets2017_len_re.h"
+#elif PACKETVER >= 20160000
+#include "common/packets/packets2016_len_re.h"
+#elif PACKETVER >= 20150000
+#include "common/packets/packets2015_len_re.h"
+#elif PACKETVER >= 20140000
+#include "common/packets/packets2014_len_re.h"
+#elif PACKETVER >= 20130000
+#include "common/packets/packets2013_len_re.h"
+#elif PACKETVER >= 20120000
+#include "common/packets/packets2012_len_re.h"
+#elif PACKETVER >= 20110000
+#include "common/packets/packets2011_len_re.h"
+#elif PACKETVER >= 20100000
+#include "common/packets/packets2010_len_re.h"
+#elif PACKETVER >= 20090000
+#include "common/packets/packets2009_len_re.h"
+#elif PACKETVER >= 20080000
+#include "common/packets/packets2008_len_re.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_RE_H */
diff --git a/src/common/packets/packets_len_sak.h b/src/common/packets/packets_len_sak.h
new file mode 100644
index 000000000..324445cfe
--- /dev/null
+++ b/src/common/packets/packets_len_sak.h
@@ -0,0 +1,43 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2019-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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COMMON_PACKETS_LEN_SAK_H
+#define COMMON_PACKETS_LEN_SAK_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20090000
+#include "common/packets/packets2009_len_sak.h"
+#elif PACKETVER >= 20080000
+#include "common/packets/packets2008_len_sak.h"
+#elif PACKETVER >= 20070000
+#include "common/packets/packets2007_len_sak.h"
+#elif PACKETVER >= 20060000
+#include "common/packets/packets2006_len_sak.h"
+#elif PACKETVER >= 20050000
+#include "common/packets/packets2005_len_sak.h"
+#elif PACKETVER >= 20040000
+#include "common/packets/packets2004_len_sak.h"
+#elif PACKETVER >= 20030000
+#include "common/packets/packets2003_len_sak.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_SAK_H */
diff --git a/src/common/packets/packets_len_zero.h b/src/common/packets/packets_len_zero.h
new file mode 100644
index 000000000..8e933e3d3
--- /dev/null
+++ b/src/common/packets/packets_len_zero.h
@@ -0,0 +1,35 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-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_PACKETS_LEN_ZERO_H
+#define COMMON_PACKETS_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+#if PACKETVER >= 20190000
+#include "common/packets/packets2019_len_zero.h"
+#elif PACKETVER >= 20180000
+#include "common/packets/packets2018_len_zero.h"
+#elif PACKETVER >= 20170000
+#include "common/packets/packets2017_len_zero.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_ZERO_H */
diff --git a/src/common/packets_len.h b/src/common/packets_len.h
new file mode 100644
index 000000000..02f63ae0d
--- /dev/null
+++ b/src/common/packets_len.h
@@ -0,0 +1,35 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETS_LEN_H
+#define COMMON_PACKETS_LEN_H
+
+#if defined(PACKETVER_ZERO)
+#include "common/packets/packets_len_zero.h"
+#elif defined(PACKETVER_RE)
+#include "common/packets/packets_len_re.h"
+#elif defined(PACKETVER_SAK)
+#include "common/packets/packets_len_sak.h"
+#elif defined(PACKETVER_AD)
+#include "common/packets/packets_len_ad.h"
+#else
+#include "common/packets/packets_len_main.h"
+#endif
+
+#endif /* COMMON_PACKETS_LEN_H */
diff --git a/src/common/packetsstatic_len.h b/src/common/packetsstatic_len.h
new file mode 100644
index 000000000..f721ab882
--- /dev/null
+++ b/src/common/packetsstatic_len.h
@@ -0,0 +1,45 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2013-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETSSTATIC_LEN_H
+#define COMMON_PACKETSSTATIC_LEN_H
+
+#ifdef packetLen
+#error packetLen already defined
+#endif
+
+#define DEFINE_PACKET_HEADER(name, id) \
+ STATIC_ASSERT((int32)(PACKET_LEN_##id) == -1 || sizeof(struct PACKET_##name) == \
+ (size_t)PACKET_LEN_##id, "Wrong size PACKET_"#name); \
+ enum { HEADER_##name = id };
+
+#define DEFINE_PACKET_ID(name, id) \
+ enum { HEADER_##name = id };
+
+#define 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"
+};
+#undef packetLen
+
+#endif /* COMMON_PACKETSSTATIC_LEN_H */
diff --git a/src/common/socket.c b/src/common/socket.c
index 290c7a1b3..8ee4f06e2 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -30,6 +30,7 @@
#include "common/memmgr.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/showmsg.h"
#include "common/strlib.h"
#include "common/timer.h"
@@ -78,8 +79,6 @@
static struct socket_interface sockt_s;
struct socket_interface *sockt;
-static const char *SOCKET_CONF_FILENAME = "conf/common/socket.conf";
-
#ifdef SEND_SHORTLIST
// Add a fd to the shortlist so that it'll be recognized as a fd that needs
// sending done on it.
@@ -301,10 +300,8 @@ static uint32 send_shortlist_set[(FD_SETSIZE+31)/32];// to know if specific fd's
static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseFunc func_parse);
-#ifndef MINICORE
- static int ip_rules = 1;
- static int connect_check(uint32 ip);
-#endif // MINICORE
+static int ip_rules = 1;
+static int connect_check(uint32 ip);
static const char *error_msg(void)
{
@@ -463,7 +460,7 @@ static int recv_to_fifo(int fd)
socket_data_ci += len;
}
#endif // SHOW_SERVER_STATS
- return 0;
+ return (int)len;
}
static int send_from_fifo(int fd)
@@ -491,11 +488,12 @@ static int send_from_fifo(int fd)
return 0;
}
- if( len > 0 )
+ if (len > 0)
{
+ sockt->session[fd]->wdata_tick = sockt->last_tick;
// some data could not be transferred?
// shift unsent data to the beginning of the queue
- if( (size_t)len < sockt->session[fd]->wdata_size )
+ if ((size_t)len < sockt->session[fd]->wdata_size)
memmove(sockt->session[fd]->wdata, sockt->session[fd]->wdata + len, sockt->session[fd]->wdata_size - len);
sockt->session[fd]->wdata_size -= len;
@@ -556,12 +554,10 @@ static int connect_client(int listen_fd)
setsocketopts(fd,NULL);
sockt->set_nonblocking(fd, 1);
-#ifndef MINICORE
if( ip_rules && !connect_check(ntohl(client_address.sin_addr.s_addr)) ) {
sockt->close(fd);
return -1;
}
-#endif // MINICORE
#ifndef SOCKET_EPOLL
// Select Based Event Dispatcher
@@ -584,6 +580,7 @@ static int connect_client(int listen_fd)
create_session(fd, recv_to_fifo, send_from_fifo, default_func_parse);
sockt->session[fd]->client_addr = ntohl(client_address.sin_addr.s_addr);
+ sockt->session[fd]->flag.validate = sockt->validate;
return fd;
}
@@ -650,10 +647,10 @@ static int make_listen_bind(uint32 ip, uint16 port)
if(sockt->fd_max <= fd) sockt->fd_max = fd + 1;
- create_session(fd, connect_client, null_send, null_parse);
+ create_session(fd, sockt->connect_client, null_send, null_parse);
sockt->session[fd]->client_addr = 0; // just listens
sockt->session[fd]->rdata_tick = 0; // disable timeouts on this socket
-
+ sockt->session[fd]->wdata_tick = 0;
return fd;
}
@@ -736,6 +733,7 @@ static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseF
sockt->session[fd]->func_send = func_send;
sockt->session[fd]->func_parse = func_parse;
sockt->session[fd]->rdata_tick = sockt->last_tick;
+ sockt->session[fd]->wdata_tick = sockt->last_tick;
sockt->session[fd]->session_data = NULL;
sockt->session[fd]->hdata = NULL;
return 0;
@@ -814,7 +812,36 @@ static int rfifoskip(int fd, size_t len)
if (s->rdata_size < s->rdata_pos + len) {
ShowError("RFIFOSKIP: skipped past end of read buffer! Adjusting from %"PRIuS" to %"PRIuS" (session #%d)\n", len, RFIFOREST(fd), fd);
+ Assert_report(0);
len = RFIFOREST(fd);
+ } else {
+ const size_t lenRest = RFIFOREST(fd);
+ if (s->flag.validate == 1 && len == lenRest) {
+ if (lenRest >= 2) {
+ const uint32 cmd = (uint32)RFIFOW(fd, 0);
+ if (cmd < MIN_PACKET_DB || cmd > MAX_PACKET_DB) {
+ ShowError("Skip wrong packet id: 0x%04X\n", cmd);
+ Assert_report(0);
+ } else {
+ int packet_len = packets->db[cmd];
+ if (packet_len == -1) {
+ if (lenRest < 4) {
+ ShowError("Skip packet with size smaller than 4\n");
+ Assert_report(0);
+ } else {
+ packet_len = RFIFOW(fd, 2);
+ if (packet_len != lenRest) {
+ ShowError("Skip packet 0x%04X with dynamic size %"PRIuS", but must be size %d\n", cmd, lenRest, packet_len);
+ Assert_report(0);
+ }
+ }
+ } else if (packet_len != lenRest) {
+ ShowError("Skip packet 0x%04X with size %"PRIuS", but must be size %d\n", cmd, lenRest, packet_len);
+ Assert_report(0);
+ }
+ }
+ }
+ }
}
s->rdata_pos = s->rdata_pos + len;
@@ -825,14 +852,12 @@ static int rfifoskip(int fd, size_t len)
}
/// advance the WFIFO cursor (marking 'len' bytes for sending)
-static int wfifoset(int fd, size_t len)
+static int wfifoset(int fd, size_t len, bool validate)
{
- size_t newreserve;
- struct socket_data* s;
-
if (!sockt->session_is_valid(fd))
return 0;
- s = sockt->session[fd];
+
+ struct socket_data* s = sockt->session[fd];
if (s == NULL || s->wdata == NULL)
return 0;
@@ -871,6 +896,10 @@ static int wfifoset(int fd, size_t len)
}
}
+
+ if (validate && s->flag.validate == 1)
+ sockt->validateWfifo(fd, len);
+
s->wdata_size += len;
#ifdef SHOW_SERVER_STATS
socket_data_qo += len;
@@ -881,7 +910,7 @@ static int wfifoset(int fd, size_t len)
// always keep a WFIFO_SIZE reserve in the buffer
// For inter-server connections, let the reserve be 1/4th of the link size.
- newreserve = s->flag.server ? FIFOSIZE_SERVERLINK / 4 : WFIFO_SIZE;
+ size_t newreserve = s->flag.server ? FIFOSIZE_SERVERLINK / 4 : WFIFO_SIZE;
// readjust the buffer to include the chosen reserve
sockt->realloc_writefifo(fd, newreserve);
@@ -893,6 +922,15 @@ static int wfifoset(int fd, size_t len)
return 0;
}
+static void wfifohead(int fd, size_t len)
+{
+ Assert_retv(fd >= 0);
+
+ sockt->session[fd]->last_head_size = (uint32)len;
+ if (sockt->session[fd]->wdata_size + len > sockt->session[fd]->max_wdata)
+ sockt->realloc_writefifo(fd, len);
+}
+
static int do_sockets(int next)
{
#ifndef SOCKET_EPOLL
@@ -1065,9 +1103,6 @@ static int do_sockets(int next)
return 0;
}
-//////////////////////////////
-#ifndef MINICORE
-//////////////////////////////
// IP rules and DDoS protection
struct connect_history {
@@ -1326,11 +1361,6 @@ static bool access_list_add(struct config_setting_t *setting, const char *list_n
return true;
}
-//////////////////////////////
-#endif // MINICORE
-//////////////////////////////
-
-#ifndef MINICORE
/**
* Reads 'socket_configuration/ip_rules' and initializes required variables.
*
@@ -1387,9 +1417,7 @@ static bool socket_config_read_iprules(const char *filename, struct config_t *co
return true;
}
-#endif // ! MINICORE
-#ifndef MINICORE
/**
* Reads 'socket_configuration/ddos' and initializes required variables.
*
@@ -1419,7 +1447,6 @@ static bool socket_config_read_ddos(const char *filename, struct config_t *confi
return true;
}
-#endif // ! MINICORE
/**
* Reads 'socket_configuration' and initializes required variables.
@@ -1464,7 +1491,6 @@ static bool socket_config_read(const char *filename, bool imported)
}
#endif // SOCKET_EPOLL
-#ifndef MINICORE
{
uint32 ui32 = 0;
libconfig->setting_lookup_bool(setting, "debug", &access_debug);
@@ -1477,11 +1503,10 @@ static bool socket_config_read(const char *filename, bool imported)
retval = false;
if (!socket_config_read_ddos(filename, &config, imported))
retval = false;
-#endif // MINICORE
// import should overwrite any previous configuration, so it should be called last
if (libconfig->lookup_string(&config, "import", &import) == CONFIG_TRUE) {
- if (strcmp(import, filename) == 0 || strcmp(import, SOCKET_CONF_FILENAME) == 0) {
+ if (strcmp(import, filename) == 0 || strcmp(import, sockt->SOCKET_CONF_FILENAME) == 0) {
ShowWarning("socket_config_read: Loop detected! Skipping 'import'...\n");
} else {
if (!socket_config_read(import, true))
@@ -1496,12 +1521,10 @@ static bool socket_config_read(const char *filename, bool imported)
static void socket_final(void)
{
int i;
-#ifndef MINICORE
if( connect_history )
db_destroy(connect_history);
VECTOR_CLEAR(access_allow);
VECTOR_CLEAR(access_deny);
-#endif // MINICORE
for( i = 1; i < sockt->fd_max; i++ )
if(sockt->session[i])
@@ -1686,15 +1709,13 @@ static void socket_init(void)
}
#endif // defined(HAVE_SETRLIMIT) && !defined(CYGWIN)
-#ifndef MINICORE
VECTOR_INIT(access_allow);
VECTOR_INIT(access_deny);
-#endif // ! MINICORE
// Get initial local ips
sockt->naddr_ = sockt->getips(sockt->addr_,16);
- socket_config_read(SOCKET_CONF_FILENAME, false);
+ socket_config_read(sockt->SOCKET_CONF_FILENAME, false);
#ifndef SOCKET_EPOLL
// Select based Event Dispatcher:
@@ -1729,12 +1750,10 @@ static void socket_init(void)
// should hold enough buffer (it is a vacuum so to speak) as it is never flushed. [Skotlex]
create_session(0, null_recv, null_send, null_parse);
-#ifndef MINICORE
// Delete old connection history every 5 minutes
connect_history = uidb_alloc(DB_OPT_RELEASE_DATA);
timer->add_func_list(connect_check_clear, "connect_check_clear");
timer->add_interval(timer->gettick()+1000, connect_check_clear, 0, 0, 5*60*1000);
-#endif // MINICORE
ShowInfo("Server supports up to '"CL_WHITE"%"PRIu64""CL_RESET"' concurrent connections.\n", rlim_cur);
}
@@ -1818,6 +1837,11 @@ static void socket_datasync(int fd, bool send)
{ sizeof(struct guild_castle) },
{ sizeof(struct fame_list) },
{ PACKETVER },
+ { PACKETVER_MAIN_NUM },
+ { PACKETVER_RE_NUM },
+ { PACKETVER_ZERO_NUM },
+ { PACKETVER_AD_NUM },
+ { PACKETVER_SAK_NUM },
};
unsigned short i;
unsigned int alen = ARRAYLENGTH(data_list);
@@ -1832,7 +1856,7 @@ static void socket_datasync(int fd, bool send)
WFIFOL(fd, 4 + ( i * 4 ) ) = data_list[i].length;
}
- WFIFOSET(fd, p_len);
+ WFIFOSET2(fd, p_len);
} else {
for( i = 0; i < alen; i++ ) {
if( RFIFOL(fd, 4 + (i * 4) ) != data_list[i].length ) {
@@ -1841,7 +1865,7 @@ static void socket_datasync(int fd, bool send)
WFIFOW(fd, 0) = 0x2b0a;
WFIFOW(fd, 2) = 8;
WFIFOL(fd, 4) = 0;
- WFIFOSET(fd, 8);
+ WFIFOSET2(fd, 8);
sockt->flush(fd);
/* shut down */
ShowFatalError("Servers are out of sync! recompile from scratch (%d)\n",i);
@@ -2072,10 +2096,56 @@ static void socket_net_config_read(const char *filename)
return;
}
+static void socket_validateWfifo(int fd, size_t len)
+{
+ if (len < 2) {
+ ShowError("Sent packet with size smaller than 2\n");
+ Assert_retv(0);
+ return;
+ }
+ const uint32 cmd = (uint32)WFIFOW(fd, 0);
+ const uint32 last_head_size = sockt->session[fd]->last_head_size;
+ sockt->session[fd]->last_head_size = 0;
+
+ if (cmd < MIN_PACKET_DB || cmd > MAX_PACKET_DB) {
+ ShowError("Sent wrong packet id: 0x%04X\n", cmd);
+ Assert_retv(0);
+ return;
+ }
+ if (len > 65535) {
+ ShowError("Sent packet with size bigger than 65535\n");
+ Assert_retv(0);
+ return;
+ }
+ int packet_len = packets->db[cmd];
+ const int len2 = (int)len;
+ if (packet_len == -1) {
+ if (len2 < 4) {
+ ShowError("Sent packet with size smaller than 4\n");
+ Assert_retv(0);
+ return;
+ }
+ packet_len = WFIFOW(fd, 2);
+ if (packet_len != len2) {
+ ShowError("Sent packet 0x%04X with dynamic size %d, but must be size %d\n", cmd, len2, packet_len);
+ Assert_retv(0);
+ }
+ } else if (packet_len != len2) {
+ ShowError("Sent packet 0x%04X with size %d, but must be size %d\n", cmd, len2, packet_len);
+ Assert_retv(0);
+ }
+ if (last_head_size < (uint32)packet_len) {
+ ShowError("Reserved too small packet buffer for packet 0x%04X with size %u, but must be size %d\n", cmd, last_head_size, packet_len);
+ Assert_retv(0);
+ }
+}
+
void socket_defaults(void)
{
sockt = &sockt_s;
+ sockt->SOCKET_CONF_FILENAME = "conf/common/socket.conf";
+
sockt->fd_max = 0;
/* */
sockt->stall_time = 60;
@@ -2083,6 +2153,7 @@ void socket_defaults(void)
/* */
memset(&sockt->addr_, 0, sizeof(sockt->addr_));
sockt->naddr_ = 0;
+ sockt->validate = false;
/* */
VECTOR_INIT(sockt->lan_subnets);
VECTOR_INIT(sockt->allowed_ips);
@@ -2100,6 +2171,7 @@ void socket_defaults(void)
sockt->realloc_fifo = realloc_fifo;
sockt->realloc_writefifo = realloc_writefifo;
sockt->wfifoset = wfifoset;
+ sockt->wfifohead = wfifohead;
sockt->rfifoskip = rfifoskip;
sockt->close = socket_close;
/* */
@@ -2108,6 +2180,7 @@ void socket_defaults(void)
/* */
sockt->flush = flush_fifo;
sockt->flush_fifos = flush_fifos;
+ sockt->connect_client = connect_client;
sockt->set_nonblocking = set_nonblocking;
sockt->set_defaultparse = set_defaultparse;
sockt->host2ip = host2ip;
@@ -2122,4 +2195,5 @@ void socket_defaults(void)
sockt->trusted_ip_check = socket_trusted_ip_check;
sockt->net_config_read_sub = socket_net_config_read_sub;
sockt->net_config_read = socket_net_config_read;
+ sockt->validateWfifo = socket_validateWfifo;
}
diff --git a/src/common/socket.h b/src/common/socket.h
index 3c082e718..b20b0b07e 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -41,11 +41,7 @@ struct config_setting_t;
// socket I/O macros
#define RFIFOHEAD(fd)
-#define WFIFOHEAD(fd, size) \
- do{ \
- if ((fd) && sockt->session[fd]->wdata_size + (size) > sockt->session[fd]->max_wdata) \
- sockt->realloc_writefifo((fd), (size)); \
- } while(0)
+#define WFIFOHEAD(fd, size) sockt->wfifohead(fd, size)
#define RFIFOP(fd,pos) ((const void *)(sockt->session[fd]->rdata + sockt->session[fd]->rdata_pos + (pos)))
#define WFIFOP(fd,pos) ((void *)(sockt->session[fd]->wdata + sockt->session[fd]->wdata_size + (pos)))
@@ -73,7 +69,8 @@ struct config_setting_t;
} \
} while(0)
-#define WFIFOSET(fd, len) (sockt->wfifoset(fd, len))
+#define WFIFOSET(fd, len) (sockt->wfifoset(fd, len, true))
+#define WFIFOSET2(fd, len) (sockt->wfifoset(fd, len, false))
#define RFIFOSKIP(fd, len) (sockt->rfifoskip(fd, len))
/* [Ind/Hercules] */
@@ -122,6 +119,7 @@ struct socket_data {
unsigned char eof : 1;
unsigned char server : 1;
unsigned char ping : 2;
+ unsigned char validate : 1;
} flag;
uint32 client_addr; // remote client address
@@ -130,7 +128,9 @@ struct socket_data {
size_t max_rdata, max_wdata;
size_t rdata_size, wdata_size;
size_t rdata_pos;
+ uint32 last_head_size;
time_t rdata_tick; // time of last recv (for detecting timeouts); zero when timeout is disabled
+ time_t wdata_tick; // time of last send (for detecting timeouts);
RecvFunc func_recv;
SendFunc func_send;
@@ -178,9 +178,12 @@ struct socket_interface {
/* */
time_t stall_time;
time_t last_tick;
+
+ const char *SOCKET_CONF_FILENAME;
/* */
uint32 addr_[16]; // ip addresses of local host (host byte order)
int naddr_; // # of ip addresses
+ bool validate;
struct socket_data **session;
@@ -200,15 +203,18 @@ struct socket_interface {
int (*make_connection) (uint32 ip, uint16 port, struct hSockOpt *opt);
int (*realloc_fifo) (int fd, unsigned int rfifo_size, unsigned int wfifo_size);
int (*realloc_writefifo) (int fd, size_t addition);
- int (*wfifoset) (int fd, size_t len);
+ int (*wfifoset) (int fd, size_t len, bool validate);
+ void (*wfifohead) (int fd, size_t len);
int (*rfifoskip) (int fd, size_t len);
void (*close) (int fd);
+ void (*validateWfifo) (int fd, size_t len);
/* */
bool (*session_is_valid) (int fd);
bool (*session_is_active) (int fd);
/* */
void (*flush) (int fd);
void (*flush_fifos) (void);
+ int (*connect_client) (int listen_fd);
void (*set_nonblocking) (int fd, unsigned long yes);
void (*set_defaultparse) (ParseFunc defaultparse);
/* hostname/ip conversion functions */
diff --git a/src/common/sql.c b/src/common/sql.c
index 0b5b7fa07..0efc54564 100644
--- a/src/common/sql.c
+++ b/src/common/sql.c
@@ -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/sysinfo.c b/src/common/sysinfo.c
index b8cb2a90a..e3977f440 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2015 Hercules Dev Team
+ * Copyright (C) 2013-2019 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -221,8 +221,12 @@ enum windows_ver_suite {
#define SYSINFO_COMPILER "Microsoft Visual C++ 2012 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
#elif _MSC_VER >= 1800 && _MSC_VER < 1900
#define SYSINFO_COMPILER "Microsoft Visual C++ 2013 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
-#elif _MSC_VER >= 1900 && _MSC_VER < 2000
+#elif _MSC_VER >= 1900 && _MSC_VER < 1910
#define SYSINFO_COMPILER "Microsoft Visual C++ 2015 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
+#elif _MSC_VER >= 1910 && _MSC_VER < 1920
+#define SYSINFO_COMPILER "Microsoft Visual C++ 2017 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
+#elif _MSC_VER >= 1920 && _MSC_VER < 2000
+#define SYSINFO_COMPILER "Microsoft Visual C++ 2019 (v" EXPAND_AND_QUOTE(_MSC_VER) ")"
#else // < 1300 || >= 2000
#define SYSINFO_COMPILER "Microsoft Visual C++ v" EXPAND_AND_QUOTE(_MSC_VER)
#endif
diff --git a/src/common/utils.c b/src/common/utils.c
index d4c838b56..238ebe65d 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -128,7 +128,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)
{
WIN32_FIND_DATAA FindFileData;
HANDLE hFind;
@@ -155,12 +155,11 @@ 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);
@@ -190,7 +189,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 +219,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,7 +229,7 @@ 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
diff --git a/src/common/utils.h b/src/common/utils.h
index f564dcf29..81234c843 100644
--- a/src/common/utils.h
+++ b/src/common/utils.h
@@ -39,7 +39,7 @@
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 exists(const char* filename);
/// calculates the value of A / B, in percent (rounded down)
diff --git a/src/config/const.h b/src/config/const.h
index 3b35e354e..df8c07b67 100644
--- a/src/config/const.h
+++ b/src/config/const.h
@@ -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
/**
@@ -114,11 +117,6 @@
} while(0)
#endif
-/* console_input doesn't go well with minicore */
-#ifdef MINICORE
- #undef CONSOLE_INPUT
-#endif
-
/**
* End of File
**/
diff --git a/src/login/HPMlogin.c b/src/login/HPMlogin.c
index c13bd96a3..304db5501 100644
--- a/src/login/HPMlogin.c
+++ b/src/login/HPMlogin.c
@@ -30,6 +30,8 @@
#include "login/lclif.p.h"
#include "login/login.h"
#include "login/loginlog.h"
+#include "login/packets_ac_struct.h"
+#include "login/packets_ca_struct.h"
#include "common/HPMi.h"
#include "common/conf.h"
#include "common/console.h"
@@ -41,6 +43,7 @@
#include "common/memmgr.h"
#include "common/mutex.h"
#include "common/mmo.h"
+#include "common/packets.h"
#include "common/nullpo.h"
#include "common/random.h"
#include "common/showmsg.h"
diff --git a/src/login/lclif.c b/src/login/lclif.c
index 48a9c6b94..97871922d 100644
--- a/src/login/lclif.c
+++ b/src/login/lclif.c
@@ -24,6 +24,8 @@
#include "login/ipban.h"
#include "login/login.h"
#include "login/loginlog.h"
+#include "login/packets_ac_struct.h"
+#include "login/packets_ca_struct.h"
#include "common/HPM.h"
#include "common/cbasetypes.h"
#include "common/db.h"
@@ -49,10 +51,10 @@ struct lclif_interface *lclif;
/// @copydoc lclif_interface::connection_error()
static void lclif_connection_error(int fd, uint8 error)
{
- struct packet_SC_NOTIFY_BAN *packet = NULL;
+ struct PACKET_SC_NOTIFY_BAN *packet = NULL;
WFIFOHEAD(fd, sizeof(*packet));
packet = WP2PTR(fd);
- packet->packet_id = PACKET_ID_SC_NOTIFY_BAN;
+ packet->packet_id = HEADER_SC_NOTIFY_BAN;
packet->error_code = error;
WFIFOSET(fd, sizeof(*packet));
}
@@ -68,7 +70,7 @@ static enum parsefunc_rcode lclif_parse_CA_CONNECT_INFO_CHANGED(int fd, struct l
static enum parsefunc_rcode lclif_parse_CA_EXE_HASHCHECK(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_EXE_HASHCHECK(int fd, struct login_session_data *sd)
{
- const struct packet_CA_EXE_HASHCHECK *packet = RP2PTR(fd);
+ const struct PACKET_CA_EXE_HASHCHECK *packet = RP2PTR(fd);
sd->has_client_hash = 1;
memcpy(sd->client_hash, packet->hash_value, 16);
return PACKET_VALID;
@@ -78,7 +80,7 @@ static enum parsefunc_rcode lclif_parse_CA_EXE_HASHCHECK(int fd, struct login_se
static enum parsefunc_rcode lclif_parse_CA_LOGIN(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -97,7 +99,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN(int fd, struct login_session_da
static enum parsefunc_rcode lclif_parse_CA_LOGIN2(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN2(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN2 *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN2 *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -113,7 +115,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN2(int fd, struct login_session_d
static enum parsefunc_rcode lclif_parse_CA_LOGIN3(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN3(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN3 *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN3 *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -131,7 +133,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN3(int fd, struct login_session_d
static enum parsefunc_rcode lclif_parse_CA_LOGIN4(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN4(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN4 *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN4 *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -149,7 +151,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN4(int fd, struct login_session_d
static enum parsefunc_rcode lclif_parse_CA_LOGIN_PCBANG(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN_PCBANG(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN_PCBANG *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN_PCBANG *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -171,7 +173,7 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN_PCBANG(int fd, struct login_ses
static enum parsefunc_rcode lclif_parse_CA_LOGIN_HAN(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN_HAN(int fd, struct login_session_data *sd)
{
- const struct packet_CA_LOGIN_HAN *packet = RP2PTR(fd);
+ const struct PACKET_CA_LOGIN_HAN *packet = RP2PTR(fd);
sd->version = packet->version;
sd->clienttype = packet->clienttype;
@@ -194,11 +196,11 @@ static enum parsefunc_rcode lclif_parse_CA_LOGIN_HAN(int fd, struct login_sessio
static enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_session_data *sd)
{
- const struct packet_CA_SSO_LOGIN_REQ *packet = RP2PTR(fd);
+ const struct PACKET_CA_SSO_LOGIN_REQ *packet = RP2PTR(fd);
int tokenlen = (int)RFIFOREST(fd) - (int)sizeof(*packet);
if (tokenlen > PASSWD_LEN || tokenlen < 1) {
- ShowError("packet_CA_SSO_LOGIN_REQ: Token length is not between allowed password length, kicking player ('%s')", packet->id);
+ ShowError("PACKET_CA_SSO_LOGIN_REQ: Token length is not between allowed password length, kicking player ('%s')", packet->id);
sockt->eof(fd);
return PACKET_VALID;
}
@@ -220,11 +222,27 @@ static enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_se
static enum parsefunc_rcode lclif_parse_CA_LOGIN_OTP(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_LOGIN_OTP(int fd, struct login_session_data *sd)
{
- //const struct packet_CA_LOGIN_OTP *packet = RP2PTR(fd);
+ //const struct PACKET_CA_LOGIN_OTP *packet = RP2PTR(fd);
login->client_login_otp(fd, sd);
return PACKET_VALID;
}
+/// @copydoc lclif_interface_private::parse_CA_ACK_MOBILE_OTP()
+static enum parsefunc_rcode lclif_parse_CA_ACK_MOBILE_OTP(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
+static enum parsefunc_rcode lclif_parse_CA_ACK_MOBILE_OTP(int fd, struct login_session_data *sd)
+{
+ // TODO: parsing packet data
+ return PACKET_VALID;
+}
+
+/// @copydoc lclif_interface_private::parse_CA_OTP_CODE()
+static enum parsefunc_rcode lclif_parse_CA_OTP_CODE(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
+static enum parsefunc_rcode lclif_parse_CA_OTP_CODE(int fd, struct login_session_data *sd)
+{
+ // TODO: parsing packet data
+ return PACKET_VALID;
+}
+
/// @copydoc lclif_interface_private::parse_CA_REQ_HASH()
static enum parsefunc_rcode lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static enum parsefunc_rcode lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd)
@@ -255,7 +273,7 @@ static bool lclif_send_server_list(struct login_session_data *sd)
{
int server_num = 0, i, n, length;
uint32 ip;
- struct packet_AC_ACCEPT_LOGIN *packet = NULL;
+ struct PACKET_AC_ACCEPT_LOGIN *packet = NULL;
for (i = 0; i < ARRAYLENGTH(login->dbs->server); ++i) {
if (sockt->session_is_active(login->dbs->server[i].fd))
@@ -272,9 +290,9 @@ static bool lclif_send_server_list(struct login_session_data *sd)
packet = WP2PTR(sd->fd);
#if PACKETVER < 20170315
- packet->packet_id = PACKET_ID_AC_ACCEPT_LOGIN;
+ packet->packet_id = HEADER_AC_ACCEPT_LOGIN;
#else
- packet->packet_id = PACKET_ID_AC_ACCEPT_LOGIN2;
+ packet->packet_id = HEADER_AC_ACCEPT_LOGIN2;
#endif
packet->packet_len = length;
packet->auth_code = sd->login_id1;
@@ -312,14 +330,14 @@ static bool lclif_send_server_list(struct login_session_data *sd)
static void lclif_send_auth_failed(int fd, time_t ban, uint32 error)
{
#if PACKETVER >= 20180627
- struct packet_AC_REFUSE_LOGIN_R2 *packet = NULL;
- int packet_id = PACKET_ID_AC_REFUSE_LOGIN_R3;
+ struct PACKET_AC_REFUSE_LOGIN_R2 *packet = NULL;
+ int packet_id = HEADER_AC_REFUSE_LOGIN_R3;
#elif PACKETVER >= 20101123
- struct packet_AC_REFUSE_LOGIN_R2 *packet = NULL;
- int packet_id = PACKET_ID_AC_REFUSE_LOGIN_R2;
+ struct PACKET_AC_REFUSE_LOGIN_R2 *packet = NULL;
+ int packet_id = HEADER_AC_REFUSE_LOGIN_R2;
#else
- struct packet_AC_REFUSE_LOGIN *packet = NULL;
- int packet_id = PACKET_ID_AC_REFUSE_LOGIN;
+ struct PACKET_AC_REFUSE_LOGIN *packet = NULL;
+ int packet_id = HEADER_AC_REFUSE_LOGIN;
#endif
WFIFOHEAD(fd, sizeof(*packet));
packet = WP2PTR(fd);
@@ -335,10 +353,10 @@ static void lclif_send_auth_failed(int fd, time_t ban, uint32 error)
/// @copydoc lclif_interface::login_error()
static void lclif_send_login_error(int fd, uint8 error)
{
- struct packet_AC_REFUSE_LOGIN *packet = NULL;
+ struct PACKET_AC_REFUSE_LOGIN *packet = NULL;
WFIFOHEAD(fd, sizeof(*packet));
packet = WP2PTR(fd);
- packet->packet_id = PACKET_ID_AC_REFUSE_LOGIN;
+ packet->packet_id = HEADER_AC_REFUSE_LOGIN;
packet->error_code = error;
memset(packet->block_date, '\0', sizeof(packet->block_date));
WFIFOSET(fd, sizeof(*packet));
@@ -348,12 +366,12 @@ static void lclif_send_login_error(int fd, uint8 error)
static void lclif_send_coding_key(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static void lclif_send_coding_key(int fd, struct login_session_data *sd)
{
- struct packet_AC_ACK_HASH *packet = NULL;
+ struct PACKET_AC_ACK_HASH *packet = NULL;
int16 size = sizeof(*packet) + sd->md5keylen;
WFIFOHEAD(fd, size);
packet = WP2PTR(fd);
- packet->packet_id = PACKET_ID_AC_ACK_HASH;
+ packet->packet_id = HEADER_AC_ACK_HASH;
packet->packet_len = size;
memcpy(packet->secret, sd->md5key, sd->md5keylen);
WFIFOSET(fd, size);
@@ -476,10 +494,10 @@ static enum parsefunc_rcode lclif_parse_sub(int fd, struct login_session_data *s
/// @copydoc lclif_interface::packet()
static const struct login_packet_db *lclif_packet(int16 packet_id)
{
- if (packet_id == PACKET_ID_CA_CHARSERVERCONNECT)
+ if (packet_id == HEADER_CA_CHARSERVERCONNECT)
return &lclif->p->dbs->packet_db[0];
- if (packet_id > MAX_PACKET_DB || packet_id < MIN_PACKET_DB)
+ if (packet_id > MAX_PACKET_LOGIN_DB || packet_id < MIN_PACKET_DB)
return NULL;
return &lclif->p->dbs->packet_db[packet_id];
@@ -503,8 +521,8 @@ static void packetdb_loaddb(void)
int16 packet_len;
LoginParseFunc **pFunc;
} packet[] = {
-#define packet_def(name) { PACKET_ID_ ## name, sizeof(struct packet_ ## name), &lclif->p->parse_ ## name }
-#define packet_def2(name, len) { PACKET_ID_ ## name, (len), &lclif->p->parse_ ## name }
+#define packet_def(name) { HEADER_ ## name, sizeof(struct PACKET_ ## name), &lclif->p->parse_ ## name }
+#define packet_def2(name, len) { HEADER_ ## name, (len), &lclif->p->parse_ ## name }
packet_def(CA_CONNECT_INFO_CHANGED),
packet_def(CA_EXE_HASHCHECK),
packet_def(CA_LOGIN),
@@ -515,6 +533,12 @@ static void packetdb_loaddb(void)
packet_def(CA_LOGIN_HAN),
packet_def2(CA_SSO_LOGIN_REQ, -1),
packet_def(CA_LOGIN_OTP),
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114
+ packet_def(CA_ACK_MOBILE_OTP),
+#endif
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+ packet_def(CA_OTP_CODE),
+#endif
packet_def(CA_REQ_HASH),
#undef packet_def
#undef packet_def2
@@ -525,13 +549,13 @@ static void packetdb_loaddb(void)
for (i = 0; i < length; ++i) {
int16 packet_id = packet[i].packet_id;
- Assert_retb(packet_id >= MIN_PACKET_DB && packet_id <= MAX_PACKET_DB);
+ Assert_retb(packet_id >= MIN_PACKET_DB && packet_id <= MAX_PACKET_LOGIN_DB);
lclif->p->dbs->packet_db[packet_id].len = packet[i].packet_len;
lclif->p->dbs->packet_db[packet_id].pFunc = packet[i].pFunc;
}
//Explict case, we will save character login packet in position 0 which is unused and not valid by normal
- lclif->p->dbs->packet_db[0].len = sizeof(struct packet_CA_CHARSERVERCONNECT);
+ lclif->p->dbs->packet_db[0].len = sizeof(struct PACKET_CA_CHARSERVERCONNECT);
lclif->p->dbs->packet_db[0].pFunc = &lclif->p->parse_CA_CHARSERVERCONNECT;
}
@@ -579,6 +603,8 @@ void lclif_defaults(void)
lclif->p->parse_CA_LOGIN_HAN = lclif_parse_CA_LOGIN_HAN;
lclif->p->parse_CA_SSO_LOGIN_REQ = lclif_parse_CA_SSO_LOGIN_REQ;
lclif->p->parse_CA_LOGIN_OTP = lclif_parse_CA_LOGIN_OTP;
+ lclif->p->parse_CA_ACK_MOBILE_OTP = lclif_parse_CA_ACK_MOBILE_OTP;
+ lclif->p->parse_CA_OTP_CODE = lclif_parse_CA_OTP_CODE;
lclif->p->parse_CA_REQ_HASH = lclif_parse_CA_REQ_HASH;
lclif->p->parse_CA_CHARSERVERCONNECT = lclif_parse_CA_CHARSERVERCONNECT;
}
diff --git a/src/login/lclif.h b/src/login/lclif.h
index d1e4317a2..26c061367 100644
--- a/src/login/lclif.h
+++ b/src/login/lclif.h
@@ -87,8 +87,8 @@ struct lclif_interface {
* @param fd The client connection file descriptor.
* @param ban The ban duration (if error == 6).
* @param error The authentication error code.
- * @see #PACKET_ID_AC_REFUSE_LOGIN.
- * @see #PACKET_ID_AC_REFUSE_LOGIN_R2.
+ * @see #HEADER_AC_REFUSE_LOGIN.
+ * @see #HEADER_AC_REFUSE_LOGIN_R2.
*/
void (*auth_failed)(int fd, time_t ban, uint32 error);
diff --git a/src/login/lclif.p.h b/src/login/lclif.p.h
index 7fa8475f4..cc9805ea8 100644
--- a/src/login/lclif.p.h
+++ b/src/login/lclif.p.h
@@ -31,285 +31,23 @@
/* Definitions and macros */
/// Maximum amount of packets processed at once from the same client
+#ifndef MAX_PROCESSED_PACKETS
#define MAX_PROCESSED_PACKETS (3)
+#endif
// Packet DB
+#ifndef MIN_PACKET_DB
#define MIN_PACKET_DB 0x0064
-#define MAX_PACKET_DB 0x0acf
-
-/* Enums */
-
-/// Packet IDs
-enum login_packet_id {
- // CA (Client to Login)
- PACKET_ID_CA_LOGIN = 0x0064,
- PACKET_ID_CA_LOGIN2 = 0x01dd,
- PACKET_ID_CA_LOGIN3 = 0x01fa,
- PACKET_ID_CA_CONNECT_INFO_CHANGED = 0x0200,
- PACKET_ID_CA_EXE_HASHCHECK = 0x0204,
- PACKET_ID_CA_LOGIN_PCBANG = 0x0277,
- PACKET_ID_CA_LOGIN4 = 0x027c,
- PACKET_ID_CA_LOGIN_HAN = 0x02b0,
- PACKET_ID_CA_SSO_LOGIN_REQ = 0x0825,
- PACKET_ID_CA_LOGIN_OTP = 0x0acf,
- PACKET_ID_CA_REQ_HASH = 0x01db,
- PACKET_ID_CA_CHARSERVERCONNECT = 0x2710, // Custom Hercules Packet
- //PACKET_ID_CA_SSO_LOGIN_REQa = 0x825a, /* unused */
-
- // AC (Login to Client)
-
- PACKET_ID_AC_ACCEPT_LOGIN = 0x0069,
- PACKET_ID_AC_ACCEPT_LOGIN2 = 0x0ac4,
- PACKET_ID_AC_REFUSE_LOGIN = 0x006a,
- PACKET_ID_SC_NOTIFY_BAN = 0x0081,
- PACKET_ID_AC_ACK_HASH = 0x01dc,
- PACKET_ID_AC_REFUSE_LOGIN_R2 = 0x083e,
- PACKET_ID_AC_REFUSE_LOGIN_R3 = 0x0b02,
-};
-
-/* Packets Structs */
-#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
-#pragma pack(push, 1)
-#endif // not NetBSD < 6 / Solaris
-
-/**
- * Packet structure for CA_LOGIN.
- */
-struct packet_CA_LOGIN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- char password[24]; ///< Password
- uint8 clienttype; ///< Client Type
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN2.
- */
-struct packet_CA_LOGIN2 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN2)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- uint8 password_md5[16]; ///< Password hash
- uint8 clienttype; ///< Client Type
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN3.
- */
-struct packet_CA_LOGIN3 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN3)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- uint8 password_md5[16]; ///< Password hash
- uint8 clienttype; ///< Client Type
- uint8 clientinfo; ///< Index of the connection in the clientinfo file (+10 if the command-line contains "pc")
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN4.
- */
-struct packet_CA_LOGIN4 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN4)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- uint8 password_md5[16]; ///< Password hash
- uint8 clienttype; ///< Client Type
- char mac_address[13]; ///< MAC Address
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN_PCBANG.
- */
-struct packet_CA_LOGIN_PCBANG {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN_PCBANG)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- char password[24]; ///< Password
- uint8 clienttype; ///< Client Type
- char ip[16]; ///< IP Address
- char mac_address[13]; ///< MAC Address
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN_HAN.
- */
-struct packet_CA_LOGIN_HAN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN_HAN)
- uint32 version; ///< Client Version
- char id[24]; ///< Username
- char password[24]; ///< Password
- uint8 clienttype; ///< Client Type
- char ip[16]; ///< IP Address
- char mac_address[13]; ///< MAC Address
- uint8 is_han_game_user; ///< 'isGravityID'
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_SSO_LOGIN_REQ.
- *
- * Variable-length packet.
- */
-struct packet_CA_SSO_LOGIN_REQ {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_SSO_LOGIN_REQ)
- int16 packet_len; ///< Length (variable length)
- uint32 version; ///< Clientver
- uint8 clienttype; ///< Clienttype
- char id[24]; ///< Username
- char password[27]; ///< Password
- int8 mac_address[17]; ///< MAC Address
- char ip[15]; ///< IP Address
- char t1[]; ///< SSO Login Token (variable length)
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_LOGIN_OTP.
- */
-struct packet_CA_LOGIN_OTP {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_LOGIN_OTP)
-#if PACKETVER >= 20171113
- uint32 devFlags; ///< flags including dev flag
#endif
- char login[25]; ///< Username
- char password[32]; ///< Password encrypted by rijndael
- char flagsStr[5]; ///< Unknown flags. Normally string: G000
-} __attribute__((packed));
-
-#if 0 // Unused
-struct packet_CA_SSO_LOGIN_REQa {
- int16 packet_id;
- int16 packet_len;
- uint32 version;
- uint8 clienttype;
- char id[24];
- int8 mac_address[17];
- char ip[15];
- char t1[];
-} __attribute__((packed));
-#endif // unused
-
-/**
- * Packet structure for CA_CONNECT_INFO_CHANGED.
- *
- * New alive packet. Used to verify if client is always alive.
- */
-struct packet_CA_CONNECT_INFO_CHANGED {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_CONNECT_INFO_CHANGED)
- char id[24]; ///< account.userid
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_EXE_HASHCHECK.
- *
- * (kRO 2004-05-31aSakexe langtype 0 and 6)
- */
-struct packet_CA_EXE_HASHCHECK {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_EXE_HASHCHECK)
- uint8 hash_value[16]; ///< Client MD5 hash
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_REQ_HASH.
- */
-struct packet_CA_REQ_HASH {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_REQ_HASH)
-} __attribute__((packed));
-
-/**
- * Packet structure for CA_CHARSERVERCONNECT.
- *
- * This packet is used internally, to signal a char-server connection.
- */
-struct packet_CA_CHARSERVERCONNECT {
- int16 packet_id; ///< Packet ID (#PACKET_ID_CA_CHARSERVERCONNECT)
- char userid[24]; ///< Username
- char password[24]; ///< Password
- int32 unknown;
- int32 ip; ///< Charserver IP
- int16 port; ///< Charserver port
- char name[20]; ///< Charserver name
- int16 unknown2;
- int16 type; ///< Charserver type
- int16 new; ///< Whether charserver is to be marked as new
-} __attribute__((packed));
-
-/**
- * Packet structure for SC_NOTIFY_BAN.
- */
-struct packet_SC_NOTIFY_BAN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_SC_NOTIFY_BAN)
- uint8 error_code; ///< Error code
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_REFUSE_LOGIN.
- */
-struct packet_AC_REFUSE_LOGIN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_REFUSE_LOGIN)
- uint8 error_code; ///< Error code
- char block_date[20]; ///< Ban expiration date
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_REFUSE_LOGIN_R2.
- */
-struct packet_AC_REFUSE_LOGIN_R2 {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_REFUSE_LOGIN_R2)
- uint32 error_code; ///< Error code
- char block_date[20]; ///< Ban expiration date
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_ACCEPT_LOGIN.
- *
- * Variable-length packet.
- */
-struct packet_AC_ACCEPT_LOGIN {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_ACCEPT_LOGIN)
- int16 packet_len; ///< Packet length (variable length)
- int32 auth_code; ///< Authentication code
- uint32 aid; ///< Account ID
- uint32 user_level; ///< User level
- uint32 last_login_ip; ///< Last login IP
- char last_login_time[26]; ///< Last login timestamp
- uint8 sex; ///< Account sex
-#if PACKETVER >= 20170315
- char twitter_auth_token[16];
- uint8 twitter_flag;
+#ifndef MAX_PACKET_LOGIN_DB
+#define MAX_PACKET_LOGIN_DB 0x0ad0
#endif
- struct {
- uint32 ip; ///< Server IP address
- int16 port; ///< Server port
- char name[20]; ///< Server name
- uint16 usercount; ///< Online users
- uint16 state; ///< Server state
- uint16 property; ///< Server property
-#if PACKETVER >= 20170315
- char unknown2[128];
-#endif
- } server_list[]; ///< List of charservers
-} __attribute__((packed));
-
-/**
- * Packet structure for AC_ACK_HASH.
- *
- * Variable-length packet
- */
-struct packet_AC_ACK_HASH {
- int16 packet_id; ///< Packet ID (#PACKET_ID_AC_ACK_HASH)
- int16 packet_len; ///< Packet length (variable length)
- uint8 secret[]; ///< Challenge string
-} __attribute__((packed));
-
-#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
-#pragma pack(pop)
-#endif // not NetBSD < 6 / Solaris
/**
* Login Client Interface additional data
*/
struct lclif_interface_dbs {
- struct login_packet_db packet_db[MAX_PACKET_DB + 1]; ///< Packet database.
+ struct login_packet_db packet_db[MAX_PACKET_LOGIN_DB + 1]; ///< Packet database.
};
/**
@@ -332,18 +70,20 @@ struct lclif_interface_private {
*/
enum parsefunc_rcode (*parse_sub)(int fd, struct login_session_data *sd);
- LoginParseFunc *parse_CA_CONNECT_INFO_CHANGED; ///< Packet handler for #packet_CA_CONNECT_INFO_CHANGED.
- LoginParseFunc *parse_CA_EXE_HASHCHECK; ///< Packet handler for #packet_CA_EXE_HASHCHECK.
- LoginParseFunc *parse_CA_LOGIN; ///< Packet handler for #packet_CA_LOGIN.
- LoginParseFunc *parse_CA_LOGIN2; ///< Packet handler for #packet_CA_LOGIN2.
- LoginParseFunc *parse_CA_LOGIN3; ///< Packet handler for #packet_CA_LOGIN3.
- LoginParseFunc *parse_CA_LOGIN4; ///< Packet handler for #packet_CA_LOGIN4.
- LoginParseFunc *parse_CA_LOGIN_PCBANG; ///< Packet handler for #packet_CA_LOGIN_PCBANG.
- LoginParseFunc *parse_CA_LOGIN_HAN; ///< Packet handler for #packet_CA_LOGIN_HAN.
- LoginParseFunc *parse_CA_SSO_LOGIN_REQ; ///< Packet handler for #packet_CA_SSO_LOGIN_REQ.
- LoginParseFunc *parse_CA_LOGIN_OTP; ///< Packet handler for #packet_CA_LOGIN_OTP.
- LoginParseFunc *parse_CA_REQ_HASH; ///< Packet handler for #packet_CA_REQ_HASH.
- LoginParseFunc *parse_CA_CHARSERVERCONNECT; ///< Packet handler for #packet_CA_CHARSERVERCONNECT.
+ LoginParseFunc *parse_CA_CONNECT_INFO_CHANGED; ///< Packet handler for #PACKET_CA_CONNECT_INFO_CHANGED.
+ LoginParseFunc *parse_CA_EXE_HASHCHECK; ///< Packet handler for #PACKET_CA_EXE_HASHCHECK.
+ LoginParseFunc *parse_CA_LOGIN; ///< Packet handler for #PACKET_CA_LOGIN.
+ LoginParseFunc *parse_CA_LOGIN2; ///< Packet handler for #PACKET_CA_LOGIN2.
+ LoginParseFunc *parse_CA_LOGIN3; ///< Packet handler for #PACKET_CA_LOGIN3.
+ LoginParseFunc *parse_CA_LOGIN4; ///< Packet handler for #PACKET_CA_LOGIN4.
+ LoginParseFunc *parse_CA_LOGIN_PCBANG; ///< Packet handler for #PACKET_CA_LOGIN_PCBANG.
+ LoginParseFunc *parse_CA_LOGIN_HAN; ///< Packet handler for #PACKET_CA_LOGIN_HAN.
+ LoginParseFunc *parse_CA_SSO_LOGIN_REQ; ///< Packet handler for #PACKET_CA_SSO_LOGIN_REQ.
+ LoginParseFunc *parse_CA_LOGIN_OTP; ///< Packet handler for #PACKET_CA_LOGIN_OTP.
+ LoginParseFunc *parse_CA_ACK_MOBILE_OTP; ///< Packet handler for #PACKET_CA_ACK_MOBILE_OTP.
+ LoginParseFunc *parse_CA_OTP_CODE; ///< Packet handler for #PACKET_CA_OTP_CODE.
+ LoginParseFunc *parse_CA_REQ_HASH; ///< Packet handler for #PACKET_CA_REQ_HASH.
+ LoginParseFunc *parse_CA_CHARSERVERCONNECT; ///< Packet handler for #PACKET_CA_CHARSERVERCONNECT.
};
#endif // LOGIN_LCLIF_P_H
diff --git a/src/login/login.c b/src/login/login.c
index d54348834..580f79ebb 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -27,6 +27,7 @@
#include "login/ipban.h"
#include "login/loginlog.h"
#include "login/lclif.h"
+#include "login/packets_ac_struct.h"
#include "common/HPM.h"
#include "common/cbasetypes.h"
#include "common/conf.h"
@@ -35,6 +36,7 @@
#include "common/memmgr.h"
#include "common/md5calc.h"
#include "common/nullpo.h"
+#include "common/packetsstatic_len.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -1368,36 +1370,37 @@ static bool login_client_login(int fd, struct login_session_data *sd)
static bool login_client_login_otp(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
static bool login_client_login_otp(int fd, struct login_session_data *sd)
{
+#if PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
// send ok response with fake token
-#ifdef PACKETVER_ZERO
-#if PACKETVER >= 20171127
- WFIFOHEAD(fd, 33);
- WFIFOW(fd, 0) = 0x0ae3;
- WFIFOW(fd, 2) = 33; // len
- WFIFOL(fd, 4) = 0; // normal login
- safestrncpy(WFIFOP(fd, 8), "S1000", 6);
- safestrncpy(WFIFOP(fd, 28), "token", 6);
- WFIFOSET(fd, 33);
-#elif PACKETVER >= 20171123
- WFIFOHEAD(fd, 19);
- WFIFOW(fd, 0) = 0x0ae3;
- WFIFOW(fd, 2) = 19; // len
- WFIFOL(fd, 4) = 0; // normal login
- safestrncpy(WFIFOP(fd, 8), "S1000", 6);
- safestrncpy(WFIFOP(fd, 14), "token", 6);
- WFIFOSET(fd, 19);
-#else
- WFIFOHEAD(fd, 13);
- WFIFOW(fd, 0) = 0x0ad1;
- WFIFOW(fd, 2) = 13; // len
- WFIFOL(fd, 4) = 0; // normal login
- safestrncpy(WFIFOP(fd, 8), "token", 6);
- WFIFOSET(fd, 13);
-#endif
+ const int len = sizeof(struct PACKET_AC_LOGIN_OTP) + 6; // + "token" string
+ WFIFOHEAD(fd, len);
+ struct PACKET_AC_LOGIN_OTP *packet = WP2PTR(sd->fd);
+ memset(packet, 0, len);
+ packet->packet_id = HEADER_AC_LOGIN_OTP;
+ packet->packet_len = len;
+ packet->loginFlag = 0; // normal login
+#if PACKETVER_MAIN_NUM >= 20171213 || PACKETVER_RE_NUM >= 20171213 || PACKETVER_ZERO_NUM >= 20171123
+ safestrncpy(packet->loginFlag2, "S1000", 6);
+#endif // PACKETVER_MAIN_NUM >= 20171213 || PACKETVER_RE_NUM >= 20171213 || PACKETVER_ZERO_NUM >= 20171123
+
+ safestrncpy(packet->token, "token", 6);
+ WFIFOSET(fd, len);
return true;
-#else // PACKETVER_ZERO
+#else // PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
return false;
-#endif // PACKETVER_ZERO
+#endif // PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+}
+
+static void login_client_login_mobile_otp_request(int fd, struct login_session_data *sd) __attribute__((nonnull (2)));
+static void login_client_login_mobile_otp_request(int fd, struct login_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(sd->fd, sizeof(struct PACKET_AC_REQ_MOBILE_OTP));
+ struct PACKET_AC_REQ_MOBILE_OTP *packet = WP2PTR(sd->fd);
+ packet->packet_id = HEADER_AC_REQ_MOBILE_OTP;
+ packet->aid = sd->account_id;
+ WFIFOSET(fd, sizeof(struct PACKET_AC_REQ_MOBILE_OTP));
+#endif
}
static void login_char_server_connection_status(int fd, struct login_session_data* sd, uint8 status) __attribute__((nonnull (2)));
@@ -1438,13 +1441,16 @@ static void login_parse_request_connection(int fd, struct login_session_data* sd
loginlog->log(sockt->session[fd]->client_addr, sd->userid, 100, message);
result = login->mmo_auth(sd, true);
- if (core->runflag == LOGINSERVER_ST_RUNNING &&
+
+ if (!sockt->allowed_ip_check(ipl)) {
+ ShowNotice("Connection of the char-server '%s' REFUSED (IP not allowed).\n", server_name);
+ login->char_server_connection_status(fd, sd, 2);
+ } else if (core->runflag == LOGINSERVER_ST_RUNNING &&
result == -1 &&
sd->sex == 'S' &&
sd->account_id >= 0 &&
sd->account_id < ARRAYLENGTH(login->dbs->server) &&
- !sockt->session_is_valid(login->dbs->server[sd->account_id].fd) &&
- sockt->allowed_ip_check(ipl))
+ !sockt->session_is_valid(login->dbs->server[sd->account_id].fd))
{
ShowStatus("Connection of the char-server '%s' accepted.\n", server_name);
safestrncpy(login->dbs->server[sd->account_id].name, server_name, sizeof(login->dbs->server[sd->account_id].name));
@@ -1457,15 +1463,14 @@ static void login_parse_request_connection(int fd, struct login_session_data* sd
sockt->session[fd]->func_parse = login->parse_fromchar;
sockt->session[fd]->flag.server = 1;
+ sockt->session[fd]->flag.validate = 0;
sockt->realloc_fifo(fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
// send connection success
login->char_server_connection_status(fd, sd, 0);
- }
- else
- {
+ } else {
ShowNotice("Connection of the char-server '%s' REFUSED.\n", server_name);
- login->char_server_connection_status(fd, sd, 3);
+ login->char_server_connection_status(fd, sd, 1);
}
}
@@ -2175,6 +2180,7 @@ int do_init(int argc, char **argv)
// set default parser as lclif->parse function
sockt->set_defaultparse(lclif->parse);
+ sockt->validate = true;
// every 10 minutes cleanup online account db.
timer->add_func_list(login->online_data_cleanup, "login->online_data_cleanup");
@@ -2273,6 +2279,7 @@ void login_defaults(void)
login->parse_fromchar = login_parse_fromchar;
login->client_login = login_client_login;
login->client_login_otp = login_client_login_otp;
+ login->client_login_mobile_otp_request = login_client_login_mobile_otp_request;
login->parse_request_connection = login_parse_request_connection;
login->auth_ok = login_auth_ok;
login->auth_failed = login_auth_failed;
diff --git a/src/login/login.h b/src/login/login.h
index 8a863f5aa..7f74057c6 100644
--- a/src/login/login.h
+++ b/src/login/login.h
@@ -219,6 +219,7 @@ struct login_interface {
void (*auth_failed) (struct login_session_data* sd, int result);
bool (*client_login) (int fd, struct login_session_data *sd);
bool (*client_login_otp) (int fd, struct login_session_data *sd);
+ void (*client_login_mobile_otp_request) (int fd, struct login_session_data *sd);
void (*char_server_connection_status) (int fd, struct login_session_data* sd, uint8 status);
void (*parse_request_connection) (int fd, struct login_session_data* sd, const char *ip, uint32 ipl);
void (*config_set_defaults) (void);
diff --git a/src/login/packets_ac_struct.h b/src/login/packets_ac_struct.h
new file mode 100644
index 000000000..c9fb04f26
--- /dev/null
+++ b/src/login/packets_ac_struct.h
@@ -0,0 +1,156 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2016-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef LOGIN_PACKETS_AC_STRUCT_H
+#define LOGIN_PACKETS_AC_STRUCT_H
+
+#include "common/hercules.h"
+#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
+
+/* Enums */
+
+/// Packet IDs
+enum login_ac_packet_id {
+ HEADER_AC_ACCEPT_LOGIN = 0x0069,
+ HEADER_AC_ACCEPT_LOGIN2 = 0x0ac4,
+ HEADER_AC_REFUSE_LOGIN = 0x006a,
+ HEADER_SC_NOTIFY_BAN = 0x0081,
+ HEADER_AC_ACK_HASH = 0x01dc,
+ HEADER_AC_REFUSE_LOGIN_R2 = 0x083e,
+ HEADER_AC_REFUSE_LOGIN_R3 = 0x0b02,
+};
+
+/* Packets Structs */
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(push, 1)
+#endif // not NetBSD < 6 / Solaris
+
+/**
+ * Packet structure for SC_NOTIFY_BAN.
+ */
+struct PACKET_SC_NOTIFY_BAN {
+ int16 packet_id; ///< Packet ID (#HEADER_SC_NOTIFY_BAN)
+ uint8 error_code; ///< Error code
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_REFUSE_LOGIN.
+ */
+struct PACKET_AC_REFUSE_LOGIN {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_REFUSE_LOGIN)
+ uint8 error_code; ///< Error code
+ char block_date[20]; ///< Ban expiration date
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_REFUSE_LOGIN_R2.
+ */
+struct PACKET_AC_REFUSE_LOGIN_R2 {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_REFUSE_LOGIN_R2)
+ uint32 error_code; ///< Error code
+ char block_date[20]; ///< Ban expiration date
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_ACCEPT_LOGIN.
+ *
+ * Variable-length packet.
+ */
+struct PACKET_AC_ACCEPT_LOGIN {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_ACCEPT_LOGIN)
+ int16 packet_len; ///< Packet length (variable length)
+ int32 auth_code; ///< Authentication code
+ uint32 aid; ///< Account ID
+ uint32 user_level; ///< User level
+ uint32 last_login_ip; ///< Last login IP
+ char last_login_time[26]; ///< Last login timestamp
+ uint8 sex; ///< Account sex
+#if PACKETVER >= 20170315
+ char twitter_auth_token[16];
+ uint8 twitter_flag;
+#endif
+ struct {
+ uint32 ip; ///< Server IP address
+ int16 port; ///< Server port
+ char name[20]; ///< Server name
+ uint16 usercount; ///< Online users
+ uint16 state; ///< Server state
+ uint16 property; ///< Server property
+#if PACKETVER >= 20170315
+ char unknown2[128];
+#endif
+ } server_list[]; ///< List of charservers
+} __attribute__((packed));
+
+/**
+ * Packet structure for AC_ACK_HASH.
+ *
+ * Variable-length packet
+ */
+struct PACKET_AC_ACK_HASH {
+ int16 packet_id; ///< Packet ID (#HEADER_AC_ACK_HASH)
+ int16 packet_len; ///< Packet length (variable length)
+ uint8 secret[]; ///< Challenge string
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+struct PACKET_AC_REQ_MOBILE_OTP {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_SSO_LOGIN_REQ)
+ uint32 aid; ///< Account ID
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_REQ_MOBILE_OTP, 0x09a2);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20171213 || PACKETVER_RE_NUM >= 20171213 || PACKETVER_ZERO_NUM >= 20171808
+// AC_LOGIN_OTP2
+struct PACKET_AC_LOGIN_OTP {
+ int16 packet_id;
+ int16 packet_len;
+ int32 loginFlag;
+ char loginFlag2[20];
+ char token[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_LOGIN_OTP, 0x0ae3);
+#elif PACKETVER_ZERO_NUM >= 20171123
+// AC_LOGIN_OTP2
+struct PACKET_AC_LOGIN_OTP {
+ int16 packet_id;
+ int16 packet_len;
+ int32 loginFlag;
+ char loginFlag2[6];
+ char token[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_LOGIN_OTP, 0x0ae3);
+#elif PACKETVER_MAIN_NUM >= 20170621 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+// AC_LOGIN_OTP1
+struct PACKET_AC_LOGIN_OTP {
+ int16 packet_id;
+ int16 packet_len;
+ int32 loginFlag;
+ char token[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(AC_LOGIN_OTP, 0x0ad1);
+#endif
+
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(pop)
+#endif // not NetBSD < 6 / Solaris
+
+#endif // LOGIN_PACKETS_AC_STRUCT_H
diff --git a/src/login/packets_ca_struct.h b/src/login/packets_ca_struct.h
new file mode 100644
index 000000000..0828c7293
--- /dev/null
+++ b/src/login/packets_ca_struct.h
@@ -0,0 +1,239 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2016-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef LOGIN_PACKETS_CA_STRUCT_H
+#define LOGIN_PACKETS_CA_STRUCT_H
+
+#include "common/hercules.h"
+#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
+
+/* Enums */
+
+/// Packet IDs
+enum login_packet_ca_id {
+ HEADER_CA_LOGIN = 0x0064,
+ HEADER_CA_LOGIN2 = 0x01dd,
+ HEADER_CA_LOGIN3 = 0x01fa,
+ HEADER_CA_CONNECT_INFO_CHANGED = 0x0200,
+ HEADER_CA_EXE_HASHCHECK = 0x0204,
+ HEADER_CA_LOGIN_PCBANG = 0x0277,
+ HEADER_CA_LOGIN4 = 0x027c,
+ HEADER_CA_LOGIN_HAN = 0x02b0,
+ HEADER_CA_SSO_LOGIN_REQ = 0x0825,
+ HEADER_CA_LOGIN_OTP = 0x0acf,
+ HEADER_CA_REQ_HASH = 0x01db,
+ HEADER_CA_CHARSERVERCONNECT = 0x2710, // Custom Hercules Packet
+ //HEADER_CA_SSO_LOGIN_REQa = 0x825a, /* unused */
+};
+
+/* Packets Structs */
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(push, 1)
+#endif // not NetBSD < 6 / Solaris
+
+/**
+ * Packet structure for CA_LOGIN.
+ */
+struct PACKET_CA_LOGIN {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ char password[24]; ///< Password
+ uint8 clienttype; ///< Client Type
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN2.
+ */
+struct PACKET_CA_LOGIN2 {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN2)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ uint8 password_md5[16]; ///< Password hash
+ uint8 clienttype; ///< Client Type
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN3.
+ */
+struct PACKET_CA_LOGIN3 {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN3)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ uint8 password_md5[16]; ///< Password hash
+ uint8 clienttype; ///< Client Type
+ uint8 clientinfo; ///< Index of the connection in the clientinfo file (+10 if the command-line contains "pc")
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN4.
+ */
+struct PACKET_CA_LOGIN4 {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN4)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ uint8 password_md5[16]; ///< Password hash
+ uint8 clienttype; ///< Client Type
+ char mac_address[13]; ///< MAC Address
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN_PCBANG.
+ */
+struct PACKET_CA_LOGIN_PCBANG {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN_PCBANG)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ char password[24]; ///< Password
+ uint8 clienttype; ///< Client Type
+ char ip[16]; ///< IP Address
+ char mac_address[13]; ///< MAC Address
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_LOGIN_HAN.
+ */
+struct PACKET_CA_LOGIN_HAN {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN_HAN)
+ uint32 version; ///< Client Version
+ char id[24]; ///< Username
+ char password[24]; ///< Password
+ uint8 clienttype; ///< Client Type
+ char ip[16]; ///< IP Address
+ char mac_address[13]; ///< MAC Address
+ uint8 is_han_game_user; ///< 'isGravityID'
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_SSO_LOGIN_REQ.
+ *
+ * Variable-length packet.
+ */
+struct PACKET_CA_SSO_LOGIN_REQ {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_SSO_LOGIN_REQ)
+ int16 packet_len; ///< Length (variable length)
+ uint32 version; ///< Clientver
+ uint8 clienttype; ///< Clienttype
+ char id[24]; ///< Username
+ char password[27]; ///< Password
+ int8 mac_address[17]; ///< MAC Address
+ char ip[15]; ///< IP Address
+ char t1[]; ///< SSO Login Token (variable length)
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114
+/**
+ * Packet structure for CA_SSO_LOGIN_REQ.
+ *
+ * Variable-length packet.
+ */
+struct PACKET_CA_ACK_MOBILE_OTP {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_ACK_MOBILE_OTP)
+ int16 packet_len; ///< Length (variable length)
+ uint32 aid; ///< Account ID
+ char code[6]; ///< Code
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CA_ACK_MOBILE_OTP, 0x09a3);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181114 || PACKETVER_RE_NUM >= 20181114 || defined(PACKETVER_ZERO)
+struct PACKET_CA_OTP_CODE {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_OTP_CODE)
+ char code[9]; ///< Code
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CA_OTP_CODE, 0x0ad0);
+#endif
+
+/**
+ * Packet structure for CA_LOGIN_OTP.
+ */
+struct PACKET_CA_LOGIN_OTP {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_LOGIN_OTP)
+#if PACKETVER >= 20171113
+ uint32 devFlags; ///< flags including dev flag
+#endif
+ char login[25]; ///< Username
+ char password[32]; ///< Password encrypted by rijndael
+ char flagsStr[5]; ///< Unknown flags. Normally string: G000
+} __attribute__((packed));
+
+#if 0 // Unused
+struct PACKET_CA_SSO_LOGIN_REQa {
+ int16 packet_id;
+ int16 packet_len;
+ uint32 version;
+ uint8 clienttype;
+ char id[24];
+ int8 mac_address[17];
+ char ip[15];
+ char t1[];
+} __attribute__((packed));
+#endif // unused
+
+/**
+ * Packet structure for CA_CONNECT_INFO_CHANGED.
+ *
+ * New alive packet. Used to verify if client is always alive.
+ */
+struct PACKET_CA_CONNECT_INFO_CHANGED {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_CONNECT_INFO_CHANGED)
+ char id[24]; ///< account.userid
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_EXE_HASHCHECK.
+ *
+ * (kRO 2004-05-31aSakexe langtype 0 and 6)
+ */
+struct PACKET_CA_EXE_HASHCHECK {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_EXE_HASHCHECK)
+ uint8 hash_value[16]; ///< Client MD5 hash
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_REQ_HASH.
+ */
+struct PACKET_CA_REQ_HASH {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_REQ_HASH)
+} __attribute__((packed));
+
+/**
+ * Packet structure for CA_CHARSERVERCONNECT.
+ *
+ * This packet is used internally, to signal a char-server connection.
+ */
+struct PACKET_CA_CHARSERVERCONNECT {
+ int16 packet_id; ///< Packet ID (#HEADER_CA_CHARSERVERCONNECT)
+ char userid[24]; ///< Username
+ char password[24]; ///< Password
+ int32 unknown;
+ int32 ip; ///< Charserver IP
+ int16 port; ///< Charserver port
+ char name[20]; ///< Charserver name
+ int16 unknown2;
+ int16 type; ///< Charserver type
+ int16 new; ///< Whether charserver is to be marked as new
+} __attribute__((packed));
+
+#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
+#pragma pack(pop)
+#endif // not NetBSD < 6 / Solaris
+
+#endif // LOGIN_PACKETS_CA_STRUCT_H
diff --git a/src/map/HPMmap.c b/src/map/HPMmap.c
index 091a53311..e89f47c12 100644
--- a/src/map/HPMmap.c
+++ b/src/map/HPMmap.c
@@ -38,6 +38,7 @@
#include "common/mapindex.h"
#include "common/mmo.h"
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -73,7 +74,6 @@
#include "map/mercenary.h"
#include "map/mob.h"
#include "map/npc.h"
-#include "map/packets_struct.h"
#include "map/party.h"
#include "map/path.h"
#include "map/pc.h"
@@ -81,11 +81,14 @@
#include "map/pet.h"
#include "map/quest.h"
#include "map/rodex.h"
+#include "map/refine.h"
+#include "map/refine.p.h"
#include "map/script.h"
#include "map/searchstore.h"
#include "map/skill.h"
#include "map/status.h"
#include "map/storage.h"
+#include "map/stylist.h"
#include "map/trade.h"
#include "map/unit.h"
#include "map/vending.h"
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index 3705fda0e..f851de756 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -44,8 +44,8 @@ MAP_C = achievement.c atcommand.c battle.c battleground.c buyingstore.c channel.
chrif.c clan.c clif.c date.c duel.c elemental.c guild.c homunculus.c HPMmap.c \
instance.c intif.c irc-bot.c itemdb.c log.c mail.c map.c mapreg_sql.c \
mercenary.c mob.c npc.c npc_chat.c party.c path.c pc.c pc_groups.c \
- pet.c quest.c rodex.c script.c searchstore.c skill.c status.c storage.c \
- trade.c unit.c vending.c
+ pet.c quest.c refine.c rodex.c script.c searchstore.c skill.c status.c storage.c \
+ stylist.c trade.c unit.c vending.c
MAP_OBJ = $(addprefix obj_sql/, $(patsubst %c,%o,$(MAP_C)))
MAP_H = achievement.h atcommand.h battle.h battleground.h buyingstore.h channel.h chat.h \
chrif.h clan.h clif.h date.h duel.h elemental.h guild.h homunculus.h HPMmap.h \
@@ -54,9 +54,9 @@ MAP_H = achievement.h atcommand.h battle.h battleground.h buyingstore.h channel.
messages_sak.h messages_zero.h mob.h npc.h packets.h packets_keys_main.h \
packets_keys_zero.h packets_shuffle_main.h packets_shuffle_re.h \
packets_shuffle_zero.h packets_struct.h party.h path.h pc.h pc_groups.h \
- pet.h quest.h rodex.h script.h searchstore.h skill.h status.h storage.h \
- trade.h unit.h vending.h
-MAP_PH =
+ pet.h quest.h refine.h rodex.h script.h searchstore.h skill.h status.h storage.h \
+ stylist.h trade.h unit.h vending.h
+MAP_PH = refine.p.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
diff --git a/src/map/achievement.c b/src/map/achievement.c
index 1fb513ea0..5215526a9 100644
--- a/src/map/achievement.c
+++ b/src/map/achievement.c
@@ -301,6 +301,9 @@ static int achievement_validate_type(struct map_session_data *sd, enum achieveme
Assert_ret(criteria->goal != 0);
+ if (battle_config.feature_enable_achievement == 0)
+ return 0;
+
if (type == ACH_QUEST) {
ShowError("achievement_validate_type: ACH_QUEST is not handled by this function. (use achievement_validate())\n");
return 0;
@@ -358,6 +361,9 @@ static bool achievement_validate(struct map_session_data *sd, int aid, unsigned
Assert_retr(false, progress > 0);
Assert_retr(false, obj_idx < MAX_ACHIEVEMENT_OBJECTIVES);
+ if (battle_config.feature_enable_achievement == 0)
+ return false;
+
if ((ad = achievement->get(aid)) == NULL) {
ShowError("achievement_validate: Invalid Achievement %d provided.", aid);
return false;
@@ -760,18 +766,21 @@ static void achievement_validate_refine(struct map_session_data *sd, unsigned in
struct item_data *id = NULL;
nullpo_retv(sd);
- Assert_retv(idx < MAX_INVENTORY);
+ Assert_retv(idx < sd->status.inventorySize);
id = itemdb->exists(sd->status.inventory[idx].nameid);
if (sd->achievements_received == false)
return;
- Assert_retv(idx < MAX_INVENTORY);
Assert_retv(id != NULL);
criteria.goal = sd->status.inventory[idx].refine;
+ // achievement should not trigger if refine is 0
+ if (criteria.goal == 0)
+ return;
+
/* Universal */
achievement->validate_type(sd,
success ? ACH_EQUIP_REFINE_SUCCESS : ACH_EQUIP_REFINE_FAILURE,
@@ -1016,44 +1025,56 @@ static bool achievement_check_title(struct map_session_data *sd, int title_id) {
return false;
}
-/**
- * Achievement rewards are given to player
- * @param sd session data
- * @param ad achievement data
- */
-static void achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad) {
- int i = 0;
- struct achievement *ach = NULL;
-
+static void achievement_get_rewards_buffs(struct map_session_data *sd, const struct achievement_data *ad)
+{
nullpo_retv(sd);
nullpo_retv(ad);
- if ((ach = achievement->ensure(sd, ad)) == NULL)
- return;
-
- /* Buff */
if (ad->rewards.bonus != NULL)
script->run(ad->rewards.bonus, 0, sd->bl.id, 0);
+}
- /* Give Items */
- for (i = 0; i < VECTOR_LENGTH(ad->rewards.item); i++) {
- struct item it = { 0 };
- int total = 0;
+// TODO: kro send items by rodex
+static void achievement_get_rewards_items(struct map_session_data *sd, const struct achievement_data *ad)
+{
+ nullpo_retv(sd);
+ nullpo_retv(ad);
- it.nameid = VECTOR_INDEX(ad->rewards.item, i).id;
- total = VECTOR_INDEX(ad->rewards.item, i).amount;
+ struct item it = { 0 };
+ it.identify = 1;
- it.identify = 1;
+ for (int i = 0; i < VECTOR_LENGTH(ad->rewards.item); i++) {
+ it.nameid = VECTOR_INDEX(ad->rewards.item, i).id;
+ int total = VECTOR_INDEX(ad->rewards.item, i).amount;
//Check if it's stackable.
if (!itemdb->isstackable(it.nameid)) {
- int j = 0;
- for (j = 0; j < total; ++j)
- pc->additem(sd, &it, (it.amount = 1), LOG_TYPE_SCRIPT);
+ it.amount = 1;
+ for (int j = 0; j < total; ++j)
+ pc->additem(sd, &it, 1, LOG_TYPE_ACHIEVEMENT);
} else {
- pc->additem(sd, &it, (it.amount = total), LOG_TYPE_SCRIPT);
+ it.amount = total;
+ pc->additem(sd, &it, total, LOG_TYPE_ACHIEVEMENT);
}
}
+}
+
+/**
+ * Achievement rewards are given to player
+ * @param sd session data
+ * @param ad achievement data
+ */
+static bool achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad)
+{
+ nullpo_retr(false, sd);
+ nullpo_retr(false, ad);
+
+ struct achievement *ach = achievement->ensure(sd, ad);
+ if (ach == NULL)
+ return false;
+
+ /* Buff */
+ achievement->get_rewards_buffs(sd, ad);
ach->rewarded_at = time(NULL);
@@ -1062,9 +1083,14 @@ static void achievement_get_rewards(struct map_session_data *sd, const struct ac
VECTOR_PUSH(sd->title_ids, ad->rewards.title_id);
clif->achievement_send_list(sd->fd, sd);
} else {
- clif->achievement_reward_ack(sd->fd, sd, ad);
clif->achievement_send_update(sd->fd, sd, ad); // send update.
+ clif->achievement_reward_ack(sd->fd, sd, ad);
}
+
+ /* Give Items */
+ achievement->get_rewards_items(sd, ad);
+
+ return true;
}
/**
@@ -1073,7 +1099,8 @@ static void 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;
@@ -1751,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;
@@ -1977,4 +2005,6 @@ void achievement_defaults(void)
achievement->init_titles = achievement_init_titles;
achievement->check_title = achievement_check_title;
achievement->get_rewards = achievement_get_rewards;
+ achievement->get_rewards_buffs = achievement_get_rewards_buffs;
+ achievement->get_rewards_items = achievement_get_rewards_items;
}
diff --git a/src/map/achievement.h b/src/map/achievement.h
index beba120a2..de5eaa060 100644
--- a/src/map/achievement.h
+++ b/src/map/achievement.h
@@ -277,7 +277,9 @@ struct achievement_interface {
/* */
void (*init_titles) (struct map_session_data *sd);
bool (*check_title) (struct map_session_data *sd, int title_id);
- void (*get_rewards) (struct map_session_data *sd, const struct achievement_data *ad);
+ bool (*get_rewards) (struct map_session_data *sd, const struct achievement_data *ad);
+ void (*get_rewards_buffs) (struct map_session_data *sd, const struct achievement_data *ad);
+ void (*get_rewards_items) (struct map_session_data *sd, const struct achievement_data *ad);
};
#ifdef HERCULES_CORE
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 2538f797c..b82224206 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -48,6 +48,7 @@
#include "map/pc_groups.h" // groupid2name
#include "map/pet.h"
#include "map/quest.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/searchstore.h"
#include "map/skill.h"
@@ -62,6 +63,7 @@
#include "common/memmgr.h"
#include "common/mmo.h" // MAX_CARTS
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -262,12 +264,15 @@ ACMD(send)
if (len) {
// show packet length
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,904), type, clif->packet(type)->len); // Packet 0x%x length: %d
+ Assert_retr(false, type <= MAX_PACKET_DB && type >= MIN_PACKET_DB);
+ len = packets->db[type];
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,904), type, len); // Packet 0x%x length: %d
clif->message(fd, atcmd_output);
return true;
}
- len = clif->packet(type)->len;
+ Assert_retr(false, type <= MAX_PACKET_DB && type >= MIN_PACKET_DB);
+ len = packets->db[type];
if (len == -1) {
// dynamic packet
@@ -415,7 +420,7 @@ ACMD(send)
SKIP_VALUE(message);
}
- if (clif->packet(type)->len == -1) { // send dynamic packet
+ if (packets->db[type] == -1) { // send dynamic packet
WFIFOW(sd->fd,2)=TOW(off);
WFIFOSET(sd->fd,off);
} else {// send static packet
@@ -506,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))
@@ -543,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;
}
@@ -864,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;
@@ -887,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) {
@@ -900,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;
@@ -1092,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>).
@@ -1104,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;
}
@@ -1131,7 +1148,7 @@ ACMD(heal)
}
if ( hp > 0 && sp >= 0 ) {
- if(!status->heal(&sd->bl, hp, sp, 0))
+ if (status->heal(&sd->bl, hp, sp, STATUS_HEAL_DEFAULT) == 0)
clif->message(fd, msg_fd(fd,157)); // HP and SP are already with the good value.
else
clif->message(fd, msg_fd(fd,17)); // HP, SP recovered.
@@ -1148,7 +1165,7 @@ ACMD(heal)
//Opposing signs.
if ( hp ) {
if (hp > 0)
- status->heal(&sd->bl, hp, 0, 0);
+ status->heal(&sd->bl, hp, 0, STATUS_HEAL_DEFAULT);
else {
status->damage(NULL, &sd->bl, -hp, 0, 0, 0);
clif->damage(&sd->bl,&sd->bl, 0, 0, -hp, 0, BDT_ENDURE, 0);
@@ -1157,7 +1174,7 @@ ACMD(heal)
if ( sp ) {
if (sp > 0)
- status->heal(&sd->bl, 0, sp, 0);
+ status->heal(&sd->bl, 0, sp, STATUS_HEAL_DEFAULT);
else
status->damage(NULL, &sd->bl, 0, -sp, 0, 0);
}
@@ -1266,20 +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>).
@@ -1315,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;
@@ -1355,9 +1372,7 @@ ACMD(item2)
*------------------------------------------*/
ACMD(itemreset)
{
- int i;
-
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount && sd->status.inventory[i].equip == 0) {
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_NORMAL, LOG_TYPE_COMMAND);
}
@@ -1776,18 +1791,7 @@ ACMD(bodystyle)
memset(atcmd_output, '\0', sizeof(atcmd_output));
- if ((sd->job & MAPID_THIRDMASK) != MAPID_GUILLOTINE_CROSS
- && (sd->job & MAPID_THIRDMASK) != MAPID_GENETIC
- && (sd->job & MAPID_THIRDMASK) != MAPID_MECHANIC
- && (sd->job & MAPID_THIRDMASK) != MAPID_ROYAL_GUARD
- && (sd->job & MAPID_THIRDMASK) != MAPID_ARCH_BISHOP
- && (sd->job & MAPID_THIRDMASK) != MAPID_RANGER
- && (sd->job & MAPID_THIRDMASK) != MAPID_WARLOCK
- && (sd->job & MAPID_THIRDMASK) != MAPID_SHADOW_CHASER
- && (sd->job & MAPID_THIRDMASK) != MAPID_MINSTRELWANDERER
- && (sd->job & MAPID_THIRDMASK) != MAPID_SORCERER
- && (sd->job & MAPID_THIRDMASK) != MAPID_SURA
- ) {
+ if (!pc->has_second_costume(sd)) {
clif->message(fd, msg_fd(fd, 35)); // This job has no alternate body styles.
return false;
}
@@ -2224,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,998), EQP_HAND_R); // %d: Right Hand
+ 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,999), EQP_GARMENT); // %d: Garment
+ 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,1000), EQP_ACC_L); // %d: Left Accessory
+ 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,1001), EQP_ARMOR); // %d: Body Armor
+ 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,1002), EQP_HAND_L); // %d: Left Hand
+ 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,1003), EQP_SHOES); // %d: Shoes
+ 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,1004), EQP_ACC_R); // %d: Right Accessory
+ 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,1005), EQP_HEAD_TOP); // %d: Top Headgear
+ 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,1006), EQP_HEAD_MID); // %d: Mid 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, 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_MID && sd->equip_index[EQI_HEAD_LOW] == idx)
+ if (j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == idx || 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))
+ if (j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == idx)
+ continue;
+ 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);
@@ -2287,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);
}
@@ -2432,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;
}
@@ -2727,7 +2772,7 @@ ACMD(makeegg)
sd->catch_target_class = pet->db[pet_id].class_;
intif->create_pet(
sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_, mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
} else {
@@ -2859,7 +2904,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;
}
@@ -3184,7 +3229,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;
}
@@ -3514,7 +3559,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);
@@ -4281,10 +4326,8 @@ ACMD(partyspy)
*------------------------------------------*/
ACMD(repairall)
{
- int count, i;
-
- count = 0;
- for (i = 0; i < MAX_INVENTORY; i++) {
+ int count = 0;
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if (sd->status.inventory[i].nameid && (sd->status.inventory[i].attribute & ATTR_BROKEN) != 0) {
@@ -4321,7 +4364,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!
@@ -4464,6 +4507,38 @@ ACMD(unloadnpc)
return true;
}
+/// Unload existing NPC within the NPC file and reload it.
+/// Usage: @reloadnpc npc/sample_npc.txt
+ACMD(reloadnpc)
+{
+ if (!*message) {
+ clif->message(fd, msg_fd(fd, 1385)); // Usage: @unloadnpcfile <file name>
+ return false;
+ } else if (npc->unloadfile(message) == true) {
+ clif->message(fd, msg_fd(fd, 1386)); // File unloaded. Be aware that mapflags and monsters spawned directly are not removed.
+
+ FILE *fp = fopen(message, "r");
+ // check if script file exists
+ if (fp == NULL) {
+ clif->message(fd, msg_fd(fd, 261));
+ return false;
+ }
+ fclose(fp);
+
+ // add to list of script sources and run it
+ npc->addsrcfile(message);
+ npc->parsesrcfile(message, true);
+ npc->read_event_script();
+
+ clif->message(fd, msg_fd(fd, 262));
+ } else {
+ clif->message(fd, msg_fd(fd, 1387)); // File not found.
+ return false;
+ }
+
+ return true;
+}
+
/*==========================================
* time in txt for time command (by [Yor])
*------------------------------------------*/
@@ -4609,7 +4684,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;
}
@@ -4661,7 +4736,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;
}
@@ -4740,7 +4815,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;
}
@@ -5052,7 +5127,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;
}
@@ -5271,7 +5346,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;
}
@@ -5288,20 +5363,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 i;
+ int type = -1;
- for (i = 0; i < MAX_INVENTORY; 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 (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 > 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;
}
@@ -5311,8 +5415,6 @@ ACMD(dropall)
*------------------------------------------*/
ACMD(storeall)
{
- int i;
-
if (sd->state.storage_flag != STORAGE_FLAG_NORMAL) {
//Open storage.
if (storage->open(sd) == 1) {
@@ -5326,7 +5428,7 @@ ACMD(storeall)
return false;
}
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount) {
if(sd->status.inventory[i].equip != 0)
pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
@@ -5415,7 +5517,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;
}
@@ -5500,7 +5602,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;
}
@@ -5568,7 +5670,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;
}
@@ -5614,9 +5716,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);
@@ -5638,7 +5740,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;
}
@@ -5768,7 +5870,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;
}
@@ -5789,7 +5891,7 @@ ACMD(changeleader)
return false;
}
- if (party->changeleader(sd, map->nick2sd(message)))
+ if (party->changeleader(sd, map->nick2sd(message, true)))
return true;
return false;
}
@@ -6253,7 +6355,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
@@ -6555,7 +6657,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;
}
@@ -6599,7 +6701,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;
}
@@ -6654,6 +6756,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
*------------------------------------------------*/
@@ -6667,7 +6781,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;
}
@@ -6699,6 +6813,9 @@ ACMD(mute)
*------------------------------------------*/
ACMD(refresh)
{
+ if (sd->npc_id > 0)
+ return false;
+
clif->refresh(sd);
return true;
}
@@ -6710,29 +6827,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 i,num;
+ int num = 0;
+ bool identifyall = (strcmpi(info->command, "identifyall") == 0);
- for (i=num=0;i<MAX_INVENTORY;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;
}
@@ -6949,7 +7078,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
@@ -7330,7 +7459,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.
@@ -7381,7 +7510,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.
@@ -7684,9 +7813,9 @@ ACMD(fakename)
if (sd->fakename[0])
{
sd->fakename[0] = '\0';
- clif->charnameack(0, &sd->bl);
+ clif->blname_ack(0, &sd->bl);
if( sd->disguise )
- clif->charnameack(sd->fd, &sd->bl);
+ clif->blname_ack(sd->fd, &sd->bl);
clif->message(sd->fd, msg_fd(fd,1307)); // Returned to real name.
return true;
}
@@ -7702,9 +7831,9 @@ ACMD(fakename)
}
safestrncpy(sd->fakename, message, sizeof(sd->fakename));
- clif->charnameack(0, &sd->bl);
+ clif->blname_ack(0, &sd->bl);
if (sd->disguise) // Another packet should be sent so the client updates the name for sd
- clif->charnameack(sd->fd, &sd->bl);
+ clif->blname_ack(sd->fd, &sd->bl);
clif->message(sd->fd, msg_fd(fd,1310)); // Fake name enabled.
return true;
@@ -7746,6 +7875,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.
@@ -7787,7 +7917,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.
@@ -7800,7 +7930,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
@@ -7861,7 +7991,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)
{
@@ -7934,7 +8064,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) {
@@ -8079,7 +8209,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;
}
@@ -8153,7 +8283,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;
@@ -8170,6 +8300,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
*------------------------------------------*/
@@ -8263,7 +8402,7 @@ ACMD(itemlist)
} else if( strcmpi(info->command, "itemlist") == 0 ) {
location = "inventory";
items = sd->status.inventory;
- size = MAX_INVENTORY;
+ size = sd->status.inventorySize;
} else
return false;
@@ -9003,9 +9142,7 @@ static void atcommand_channel_help(int fd, const char *command, bool can_create)
clif->message(fd, msg_fd(fd,1428));// - binds global chat to <channel name>, making anything you type in global be sent to the channel
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1429),command);// -- %s unbind
clif->message(fd, atcmd_output);
- clif->message(fd, msg_fd(fd,1430));// - unbinds your global chat from its attached channel (if binded)
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1429),command);// -- %s unbind
- clif->message(fd, atcmd_output);
+ clif->message(fd, msg_fd(fd,1430));// - unbinds your global chat from its attached channel (if bound)
if( can_create ) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1456),command);// -- %s ban <channel name> <character name>
clif->message(fd, atcmd_output);
@@ -9030,7 +9167,6 @@ ACMD(channel)
{
struct channel_data *chan;
char subcmd[HCS_NAME_LENGTH], sub1[HCS_NAME_LENGTH], sub2[HCS_NAME_LENGTH], sub3[HCS_NAME_LENGTH];
- unsigned char k = 0;
sub1[0] = sub2[0] = sub3[0] = '\0';
if (!*message || sscanf(message, "%19s %19s %19s %19s", subcmd, sub1, sub2, sub3) < 1) {
@@ -9067,7 +9203,7 @@ ACMD(channel)
} else if (strcmpi(subcmd,"list") == 0) {
// sub1 = list type; sub2 = unused; sub3 = unused
if (sub1[0] != '\0' && strcmpi(sub1,"colors") == 0) {
- for (k = 0; k < channel->config->colors_count; k++) {
+ for (int k = 0; k < channel->config->colors_count; k++) {
safesnprintf(atcmd_output, sizeof(atcmd_output), "[ %s list colors ] : %s", command, channel->config->colors_name[k]);
clif->messagecolor_self(fd, channel->config->colors[k], atcmd_output);
@@ -9096,6 +9232,7 @@ ACMD(channel)
}
} else if (strcmpi(subcmd,"setcolor") == 0) {
// sub1 = channel name; sub2 = color; sub3 = unused
+ int k;
if (sub1[0] != '#') {
clif->message(fd, msg_fd(fd,1405));// Channel name must start with a '#'
return false;
@@ -9113,10 +9250,7 @@ ACMD(channel)
return false;
}
- for (k = 0; k < channel->config->colors_count; k++) {
- if (strcmpi(sub2, channel->config->colors_name[k]) == 0)
- break;
- }
+ ARR_FIND(0, channel->config->colors_count, k, strcmpi(sub2, channel->config->colors_name[k]) == 0);
if (k == channel->config->colors_count) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1411), sub2);// Unknown color '%s'
clif->message(fd, atcmd_output);
@@ -9127,51 +9261,45 @@ ACMD(channel)
clif->message(fd, atcmd_output);
} else if (strcmpi(subcmd,"leave") == 0) {
// sub1 = channel name; sub2 = unused; sub3 = unused
+ int k;
if (sub1[0] != '#') {
clif->message(fd, msg_fd(fd,1405));// Channel name must start with a '#'
return false;
}
- for (k = 0; k < sd->channel_count; k++) {
- if (strcmpi(sub1+1,sd->channels[k]->name) == 0)
- break;
- }
- if (k == sd->channel_count) {
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), k, strcmpi(sub1 + 1, VECTOR_INDEX(sd->channels, k)->name) == 0);
+ if (k == VECTOR_LENGTH(sd->channels)) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1425),sub1);// You're not part of the '%s' channel
clif->message(fd, atcmd_output);
return false;
}
- if (sd->channels[k]->type == HCS_TYPE_ALLY) {
- do {
- for (k = 0; k < sd->channel_count; k++) {
- if (sd->channels[k]->type == HCS_TYPE_ALLY) {
- channel->leave(sd->channels[k],sd);
- break;
- }
+ if (VECTOR_INDEX(sd->channels, k)->type == HCS_TYPE_ALLY) {
+ for (k = VECTOR_LENGTH(sd->channels) - 1; k >= 0; k--) {
+ // Loop downward to avoid issues when channel->leave() compacts the array
+ if (VECTOR_INDEX(sd->channels, k)->type == HCS_TYPE_ALLY) {
+ channel->leave(VECTOR_INDEX(sd->channels, k), sd);
}
- } while (k != sd->channel_count);
+ }
} else {
- channel->leave(sd->channels[k],sd);
+ channel->leave(VECTOR_INDEX(sd->channels, k), sd);
}
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1426),sub1); // You've left the '%s' channel
clif->message(fd, atcmd_output);
} else if (strcmpi(subcmd,"bindto") == 0) {
// sub1 = channel name; sub2 = unused; sub3 = unused
+ int k;
if (sub1[0] != '#') {
clif->message(fd, msg_fd(fd,1405));// Channel name must start with a '#'
return false;
}
- for (k = 0; k < sd->channel_count; k++) {
- if (strcmpi(sub1+1,sd->channels[k]->name) == 0)
- break;
- }
- if (k == sd->channel_count) {
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), k, strcmpi(sub1 + 1, VECTOR_INDEX(sd->channels, k)->name) == 0);
+ if (k == VECTOR_LENGTH(sd->channels)) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1425),sub1);// You're not part of the '%s' channel
clif->message(fd, atcmd_output);
return false;
}
- sd->gcbind = sd->channels[k];
+ sd->gcbind = VECTOR_INDEX(sd->channels, k);
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1431),sub1); // Your global chat is now bound to the '%s' channel
clif->message(fd, atcmd_output);
} else if (strcmpi(subcmd,"unbind") == 0) {
@@ -9208,7 +9336,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;
@@ -9255,7 +9383,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;
@@ -9343,6 +9471,7 @@ ACMD(channel)
dbi_destroy(iter);
} else if (strcmpi(subcmd,"setopt") == 0) {
// sub1 = channel name; sub2 = option name; sub3 = value
+ int k;
const char* opt_str[3] = {
"None",
"JoinAnnounce",
@@ -9398,8 +9527,8 @@ ACMD(channel)
} else {
int v = atoi(sub3);
if (k == HCS_OPT_MSG_DELAY) {
- if (v < 0 || v > 10) {
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1451), v, opt_str[k]);// value '%d' for option '%s' is out of range (limit is 0-10)
+ if (v < 0 || v > channel->config->channel_opt_msg_delay) {
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1451), v, opt_str[k], channel->config->channel_opt_msg_delay);// value '%d' for option '%s' is out of range (limit is 0-%d)
clif->message(fd, atcmd_output);
return false;
}
@@ -9810,6 +9939,40 @@ ACMD(reloadclans)
return true;
}
+// show camera window or change camera parameters
+ACMD(camerainfo)
+{
+ if (*message == '\0') {
+ clif->camera_showWindow(sd);
+ return true;
+ }
+ float range = 0;
+ float rotation = 0;
+ float latitude = 0;
+ if (sscanf(message, "%15f %15f %15f", &range, &rotation, &latitude) < 3) {
+ clif->message(fd, msg_fd(fd, 452)); // usage @camerainfo range rotation latitude
+ return false;
+ }
+ clif->camera_change(sd, range, rotation, latitude, SELF);
+ return true;
+}
+
+ACMD(refineryui)
+{
+#if PACKETVER_MAIN_NUM >= 20161005 || PACKETVER_RE_NUM >= 20161005 || defined(PACKETVER_ZERO)
+ if (battle_config.enable_refinery_ui == 0) {
+ clif->message(fd, msg_fd(fd, 453));
+ return false;
+ }
+
+ clif->OpenRefineryUI(sd);
+ return true;
+#else
+ clif->message(fd, msg_fd(fd, 453));
+ return false;
+#endif
+}
+
/**
* Fills the reference of available commands in atcommand DBMap
**/
@@ -9979,10 +10142,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),
@@ -10045,6 +10210,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),
@@ -10072,6 +10238,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),
@@ -10092,6 +10259,8 @@ static void atcommand_basecommands(void)
ACMD_DEF(leaveclan),
ACMD_DEF(reloadclans),
ACMD_DEF(setzone),
+ ACMD_DEF(camerainfo),
+ ACMD_DEF(refineryui),
};
int i;
@@ -10310,7 +10479,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);
@@ -10722,6 +10891,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..f1da2760a 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -21,9 +21,11 @@
#ifndef MAP_ATCOMMAND_H
#define MAP_ATCOMMAND_H
+#include "map/mapdefines.h"
#include "map/pc_groups.h"
#include "common/hercules.h"
#include "common/db.h"
+#include "common/mmo.h"
#include <stdarg.h>
@@ -39,7 +41,7 @@ struct config_setting_t;
* Defines
**/
#define ATCOMMAND_LENGTH 50
-#define MAX_MSG 1500
+#define MAX_MSG 1516
#define msg_txt(idx) atcommand->msg(idx)
#define msg_sd(sd,msg_number) atcommand->msgsd((sd),(msg_number))
#define msg_fd(fd,msg_number) atcommand->msgfd((fd),(msg_number))
@@ -90,6 +92,8 @@ struct atcmd_binding_data {
* Interface
**/
struct atcommand_interface {
+ char (*atcmd_output)[CHAT_SIZE_MAX];
+ char (*atcmd_player_name)[NAME_LENGTH];
unsigned char at_symbol;
unsigned char char_symbol;
/* atcommand binding */
diff --git a/src/map/battle.c b/src/map/battle.c
index fceb30be1..9413076fb 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -1019,7 +1019,7 @@ static int64 battle_calc_cardfix(int attack_type, struct block_list *src, struct
{
struct map_session_data *sd, *tsd;
int cardfix = 1000;
- short t_class, s_class, s_race2, t_race2;
+ int t_class, s_class, s_race2, t_race2;
struct status_data *sstatus, *tstatus;
int i;
@@ -1365,24 +1365,28 @@ static int64 battle_calc_defense(int attack_type, struct block_list *src, struct
#endif
}
- if( battle_config.vit_penalty_type && battle_config.vit_penalty_target&target->type ) {
- unsigned char target_count; //256 max targets should be a sane max
- target_count = unit->counttargeted(target);
- if(target_count >= battle_config.vit_penalty_count) {
- if(battle_config.vit_penalty_type == 1) {
- if( !tsc || !tsc->data[SC_STEELBODY] )
- def1 = (def1 * (100 - (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num))/100;
- def2 = (def2 * (100 - (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num))/100;
- } else { //Assume type 2
- if( !tsc || !tsc->data[SC_STEELBODY] )
- def1 -= (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num;
- def2 -= (target_count - (battle_config.vit_penalty_count - 1))*battle_config.vit_penalty_num;
+ if (battle_config.vit_penalty_type != 0 && (battle_config.vit_penalty_target & target->type) != 0) {
+ int target_count = unit->counttargeted(target);
+ if (target_count >= battle_config.vit_penalty_count) {
+ int penalty = (target_count - (battle_config.vit_penalty_count - 1)) * battle_config.vit_penalty_num;
+ if (battle_config.vit_penalty_type == 1) {
+ if (tsc == NULL || tsc->data[SC_STEELBODY] == NULL)
+ def1 = def1 * (100 - penalty) / 100;
+ def2 = def2 * (100 - penalty) / 100;
+ } else { // Assume type 2
+ if (tsc == NULL || tsc->data[SC_STEELBODY] == NULL)
+ def1 -= penalty;
+ def2 -= penalty;
}
}
#ifndef RENEWAL
- if(skill_id == AM_ACIDTERROR) def1 = 0; //Acid Terror ignores only armor defense. [Skotlex]
+ if (skill_id == AM_ACIDTERROR)
+ def1 = 0; // Acid Terror ignores only armor defense. [Skotlex]
#endif
- if(def2 < 1) def2 = 1;
+ if (def1 < 0)
+ def1 = 0;
+ if (def2 < 1)
+ def2 = 1;
}
//Vitality reduction from rodatazone: http://rodatazone.simgaming.net/mechanics/substats.php#def
if (tsd) {
@@ -2872,7 +2876,7 @@ static int64 battle_calc_damage(struct block_list *src, struct block_list *bl, s
if( sc->data[SC__MAELSTROM] && (flag&BF_MAGIC) && skill_id && (skill->get_inf(skill_id)&INF_GROUND_SKILL) ) {
// {(Maelstrom Skill LevelxAbsorbed Skill Level)+(Caster's Job/5)}/2
int sp = (sc->data[SC__MAELSTROM]->val1 * skill_lv + (t_sd ? t_sd->status.job_level / 5 : 0)) / 2;
- status->heal(bl, 0, sp, 3);
+ status->heal(bl, 0, sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
d->dmg_lv = ATK_BLOCK;
return 0;
}
@@ -3243,7 +3247,7 @@ static int64 battle_calc_damage(struct block_list *src, struct block_list *bl, s
//(since battle_drain is strictly for players currently)
if ((sce=sc->data[SC_HAMI_BLOODLUST]) && flag&BF_WEAPON && damage > 0 &&
rnd()%100 < sce->val3)
- status->heal(src, damage*sce->val4/100, 0, 3);
+ status->heal(src, damage*sce->val4/100, 0, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
if( (sce = sc->data[SC_FORCEOFVANGUARD]) && flag&BF_WEAPON
&& rnd()%100 < sce->val2 && sc->fv_counter <= sce->val3 )
@@ -3463,11 +3467,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;
@@ -4224,16 +4223,16 @@ static struct Damage battle_calc_misc_attack(struct block_list *src, struct bloc
hitrate = 80; //Default hitrate
#endif
- if(battle_config.agi_penalty_type && battle_config.agi_penalty_target&target->type) {
- unsigned char attacker_count; //256 max targets should be a sane max
- attacker_count = unit->counttargeted(target);
- if(attacker_count >= battle_config.agi_penalty_count)
- {
+ if (battle_config.agi_penalty_type != 0 && (battle_config.agi_penalty_target & target->type) != 0) {
+ int attacker_count = unit->counttargeted(target);
+ if (attacker_count >= battle_config.agi_penalty_count) {
+ int penalty = (attacker_count - (battle_config.agi_penalty_count - 1)) * battle_config.agi_penalty_num;
if (battle_config.agi_penalty_type == 1)
- flee = (flee * (100 - (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num))/100;
+ flee = flee * (100 - penalty) / 100;
else // assume type 2: absolute reduction
- flee -= (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num;
- if(flee < 1) flee = 1;
+ flee -= penalty;
+ if (flee < 1)
+ flee = 1;
}
}
@@ -4340,6 +4339,8 @@ static struct Damage battle_calc_misc_attack(struct block_list *src, struct bloc
break;
}
+ battle->reflect_trap(target, src, &md, skill_id);
+
return md;
}
@@ -4660,13 +4661,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;
}
@@ -4749,15 +4754,16 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
short hitrate = 80; //Default hitrate
#endif
- if(battle_config.agi_penalty_type && battle_config.agi_penalty_target&target->type) {
- unsigned char attacker_count; //256 max targets should be a sane max
- attacker_count = unit->counttargeted(target);
- if(attacker_count >= battle_config.agi_penalty_count) {
+ if (battle_config.agi_penalty_type != 0 && (battle_config.agi_penalty_target & target->type) != 0) {
+ int attacker_count = unit->counttargeted(target);
+ if (attacker_count >= battle_config.agi_penalty_count) {
+ int penalty = (attacker_count - (battle_config.agi_penalty_count - 1)) * battle_config.agi_penalty_num;
if (battle_config.agi_penalty_type == 1)
- flee = (flee * (100 - (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num))/100;
- else //asume type 2: absolute reduction
- flee -= (attacker_count - (battle_config.agi_penalty_count - 1))*battle_config.agi_penalty_num;
- if(flee < 1) flee = 1;
+ flee = flee * (100 - penalty) / 100;
+ else // asume type 2: absolute reduction
+ flee -= penalty;
+ if (flee < 1)
+ flee = 1;
}
}
@@ -5545,7 +5551,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
#endif
if( flag.infdef ) { //Plants receive 1 damage when hit
- short class_ = status->get_class(target);
+ int class_ = status->get_class(target);
if( flag.hit || wd.damage > 0 )
wd.damage = wd.div_; // In some cases, right hand no need to have a weapon to increase damage
if( flag.lh && (flag.hit || wd.damage2 > 0) )
@@ -6008,6 +6014,37 @@ static void battle_reflect_damage(struct block_list *target, struct block_list *
#undef NORMALIZE_RDAMAGE
}
+/**
+ * Reflects damage from certain traps, if battle_config.trap_reflect is true.
+ * @param target : Player who triggered the trap
+ * @param src : Player who set the trap
+ * @param md : Trap damage structure
+ * @param skill_id : Trap skill ID
+ */
+static void battle_reflect_trap(struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id)
+{
+ if (battle_config.trap_reflect == true) {
+ if (src != target) { // Don't reflect your own damage
+ switch (skill_id) {
+ case HT_CLAYMORETRAP:
+ case HT_LANDMINE:
+ case HT_FREEZINGTRAP:
+ case HT_BLASTMINE:
+ // Needs official info
+ //case RA_CLUSTERBOMB:
+ //case RA_FIRINGTRAP:
+ //case RA_ICEBOUNDTRAP:
+ //case GN_THORNS_TRAP:
+ //case KO_MAKIBISHI:
+ case MA_LANDMINE:
+ case MA_FREEZINGTRAP:
+ battle->reflect_damage(target, src, md, skill_id);
+ break;
+ }
+ }
+ }
+}
+
static void battle_drain(struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss)
{
struct weapon_data *wd;
@@ -6061,7 +6098,7 @@ static void battle_drain(struct map_session_data *sd, struct block_list *tbl, in
if (!thp && !tsp) return;
- status->heal(&sd->bl, thp, tsp, battle_config.show_hp_sp_drain ? 3 : 1);
+ status->heal(&sd->bl, thp, tsp, STATUS_HEAL_FORCED | (battle_config.show_hp_sp_drain ? STATUS_HEAL_SHOWEFFECT : STATUS_HEAL_DEFAULT));
if (rhp || rsp)
status_zap(tbl, rhp, rsp);
@@ -6283,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 ){
@@ -6323,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)
) {
@@ -6412,7 +6461,7 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_
skill->castend_type(type, src, target, r_skill, r_lv, tick, flag);
sd->state.autocast = 0;
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);
}
}
@@ -6966,7 +7015,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, },
@@ -7137,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, },
@@ -7270,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, },
@@ -7325,6 +7375,7 @@ static const struct battle_data {
* Hercules
**/
{ "skill_trap_type", &battle_config.skill_trap_type, 0, 0, 1, },
+ { "trap_reflect", &battle_config.trap_reflect, 1, 0, 1, },
{ "item_restricted_consumption_type", &battle_config.item_restricted_consumption_type,1, 0, 1, },
{ "unequip_restricted_equipment", &battle_config.unequip_restricted_equipment, 0, 0, 3, },
{ "max_walk_path", &battle_config.max_walk_path, 17, 1, MAX_WALKPATH, },
@@ -7371,6 +7422,33 @@ static const struct battle_data {
{ "storage_use_item", &battle_config.storage_use_item, 0, 0, 1, },
{ "features/enable_attendance_system", &battle_config.feature_enable_attendance_system,1, 0, 1, },
{ "features/feature_attendance_endtime",&battle_config.feature_attendance_endtime, 1, 0, 99999999, },
+ { "min_item_buy_price", &battle_config.min_item_buy_price, 1, 0, INT_MAX, },
+ { "min_item_sell_price", &battle_config.min_item_sell_price, 0, 0, INT_MAX, },
+ { "display_fake_hp_when_dead", &battle_config.display_fake_hp_when_dead, 1, 0, 1, },
+ { "magicrod_type", &battle_config.magicrod_type, 0, 0, 1, },
+ { "features/enable_achievement_system", &battle_config.feature_enable_achievement, 1, 0, 1, },
+ { "ping_timer_inverval", &battle_config.ping_timer_interval, 30, 0, 99999999, },
+ { "ping_time", &battle_config.ping_time, 20, 0, 99999999, },
+ { "option_drop_max_loop", &battle_config.option_drop_max_loop, 10, 1, 100000, },
+ { "drop_connection_on_quit", &battle_config.drop_connection_on_quit, 0, 0, 1, },
+ { "features/enable_refinery_ui", &battle_config.enable_refinery_ui, 1, 0, 1, },
+ { "features/replace_refine_npcs", &battle_config.replace_refine_npcs, 1, 0, 1, },
+ { "batk_min_limit", &battle_config.batk_min, 0, 0, INT_MAX, },
+ { "batk_max_limit", &battle_config.batk_max, USHRT_MAX, 1, INT_MAX, },
+ { "matk_min_limit", &battle_config.matk_min, 0, 0, INT_MAX, },
+ { "matk_max_limit", &battle_config.matk_max, USHRT_MAX, 1, INT_MAX, },
+ { "watk_min_limit", &battle_config.watk_min, 0, 0, INT_MAX, },
+ { "watk_max_limit", &battle_config.watk_max, USHRT_MAX, 1, INT_MAX, },
+ { "flee_min_limit", &battle_config.flee_min, 1, 1, INT_MAX, },
+ { "flee_max_limit", &battle_config.flee_max, SHRT_MAX, 1, INT_MAX, },
+ { "flee2_min_limit", &battle_config.flee2_min, 10, 1, INT_MAX, },
+ { "flee2_max_limit", &battle_config.flee2_max, SHRT_MAX, 1, INT_MAX, },
+ { "critical_min_limit", &battle_config.critical_min, 10, 1, INT_MAX, },
+ { "critical_max_limit", &battle_config.critical_max, SHRT_MAX, 1, INT_MAX, },
+ { "hit_min_limit", &battle_config.hit_min, 1, 1, INT_MAX, },
+ { "hit_max_limit", &battle_config.hit_max, SHRT_MAX, 1, INT_MAX, },
+ { "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)
@@ -7496,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");
@@ -7525,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];
@@ -7614,6 +7708,7 @@ void battle_defaults(void)
battle->delay_damage = battle_delay_damage;
battle->drain = battle_drain;
battle->reflect_damage = battle_reflect_damage;
+ battle->reflect_trap = battle_reflect_trap;
battle->attr_ratio = battle_attr_ratio;
battle->attr_fix = battle_attr_fix;
battle->calc_cardfix = battle_calc_cardfix;
diff --git a/src/map/battle.h b/src/map/battle.h
index 9f5207e95..dd6265b1e 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -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]
@@ -341,7 +342,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 +404,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 +478,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;
@@ -506,6 +508,7 @@ struct Battle_Config {
/** Hercules **/
int skill_trap_type;
+ int trap_reflect;
int item_restricted_consumption_type;
int unequip_restricted_equipment;
int max_walk_path;
@@ -570,6 +573,41 @@ struct Battle_Config {
int feature_enable_attendance_system;
int feature_attendance_endtime;
+
+ int min_item_buy_price;
+ int min_item_sell_price;
+
+ int display_fake_hp_when_dead;
+
+ int magicrod_type;
+
+ int feature_enable_achievement;
+
+ int ping_timer_interval;
+ int ping_time;
+
+ int option_drop_max_loop;
+
+ int drop_connection_on_quit;
+ int enable_refinery_ui;
+ int replace_refine_npcs;
+
+ int batk_min;
+ int batk_max;
+ int matk_min;
+ int matk_max;
+ int watk_min;
+ int watk_max;
+ int flee_min;
+ int flee_max;
+ int flee2_min;
+ int flee2_max;
+ int critical_min;
+ int critical_max;
+ int hit_min;
+ int hit_max;
+
+ int autoloot_adjust;
};
/* criteria for battle_config.idletime_critera */
@@ -584,6 +622,7 @@ enum e_battle_config_idletime {
BCIDLE_EMOTION = 0x080,
BCIDLE_DROPITEM = 0x100,
BCIDLE_ATCOMMAND = 0x200,
+ BCIDLE_SCRIPT = 0x400,
};
// Damage delayed info
@@ -636,6 +675,8 @@ struct battle_interface {
void (*drain) (struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss);
/* damage reflect */
void (*reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd,uint16 skill_id);
+ /* trap reflect */
+ void(*reflect_trap) (struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id);
/* attribute rate */
int (*attr_ratio) (int atk_elem, int def_type, int def_lv);
/* applies attribute modifiers */
diff --git a/src/map/battleground.c b/src/map/battleground.c
index c2772a2b9..e0d2e8003 100644
--- a/src/map/battleground.c
+++ b/src/map/battleground.c
@@ -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/buyingstore.c b/src/map/buyingstore.c
index df622e4ab..8cac65775 100644
--- a/src/map/buyingstore.c
+++ b/src/map/buyingstore.c
@@ -91,7 +91,7 @@ static void buyingstore_create(struct map_session_data *sd, int zenylimit, unsig
return;
}
- if( !battle_config.feature_buying_store || pc_istrading(sd) || sd->buyingstore.slots == 0 || count > sd->buyingstore.slots || zenylimit <= 0 || zenylimit > sd->status.zeny || !storename[0] )
+ if( !battle_config.feature_buying_store || pc_istrading(sd) || sd->state.prevend || sd->buyingstore.slots == 0 || count > sd->buyingstore.slots || zenylimit <= 0 || zenylimit > sd->status.zeny || !storename[0] )
{// disabled or invalid input
sd->buyingstore.slots = 0;
clif->buyingstore_open_failed(sd, BUYINGSTORE_CREATE, 0);
@@ -218,7 +218,7 @@ static void buyingstore_open(struct map_session_data *sd, int account_id)
struct map_session_data* pl_sd;
nullpo_retv(sd);
- if( !battle_config.feature_buying_store || pc_istrading(sd) )
+ if (!battle_config.feature_buying_store || pc_istrading(sd) || sd->state.prevend)
{// not allowed to sell
return;
}
@@ -255,7 +255,7 @@ static void buyingstore_trade(struct map_session_data* sd, int account_id, unsig
return;
}
- if( !battle_config.feature_buying_store || pc_istrading(sd) )
+ if (!battle_config.feature_buying_store || pc_istrading(sd) || sd->state.prevend)
{// not allowed to sell
clif->buyingstore_trade_failed_seller(sd, BUYINGSTORE_TRADE_SELLER_FAILED, 0);
return;
diff --git a/src/map/channel.c b/src/map/channel.c
index f1946385d..c87e425eb 100644
--- a/src/map/channel.c
+++ b/src/map/channel.c
@@ -276,7 +276,9 @@ static void channel_send(struct channel_data *chan, struct map_session_data *sd,
if (sd && chan->msg_delay != 0
&& DIFF_TICK(sd->hchsysch_tick + chan->msg_delay*1000, timer->gettick()) > 0
&& !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN)) {
- clif->messagecolor_self(sd->fd, COLOR_RED, msg_sd(sd,1455));
+ char output[CHAT_SIZE_MAX];
+ sprintf(output, msg_sd(sd, 1455), DIFF_TICK(sd->hchsysch_tick + chan->msg_delay * 1000, timer->gettick()) / 1000); // "You cannot send a message to this channel for another %d seconds."
+ clif->messagecolor_self(sd->fd, COLOR_RED, output);
return;
} else if (sd) {
int i;
@@ -317,17 +319,17 @@ static void channel_join_sub(struct channel_data *chan, struct map_session_data
if (idb_put(chan->users, sd->status.char_id, sd))
return;
- RECREATE(sd->channels, struct channel_data *, ++sd->channel_count);
- sd->channels[sd->channel_count - 1] = chan;
+ VECTOR_ENSURE(sd->channels, 1, 1);
+ VECTOR_PUSH(sd->channels, chan);
if (!stealth && (chan->options&HCS_OPT_ANNOUNCE_JOIN)) {
char message[60];
- 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);
}
/* someone is cheating, we kindly disconnect the bastard */
- if (sd->channel_count > 200) {
+ if (VECTOR_LENGTH(sd->channels) > 200) {
sockt->eof(sd->fd);
}
@@ -409,32 +411,16 @@ static enum channel_operation_status channel_join(struct channel_data *chan, str
*/
static void channel_leave_sub(struct channel_data *chan, struct map_session_data *sd)
{
- unsigned char i;
+ int i;
nullpo_retv(chan);
nullpo_retv(sd);
- for (i = 0; i < sd->channel_count; i++) {
- if (sd->channels[i] == chan) {
- sd->channels[i] = NULL;
- break;
- }
- }
- if (i < sd->channel_count) {
- unsigned char cursor = 0;
- for (i = 0; i < sd->channel_count; i++) {
- if (sd->channels[i] == NULL)
- continue;
- if (cursor != i) {
- sd->channels[cursor] = sd->channels[i];
- }
- cursor++;
- }
- if (!(sd->channel_count = cursor)) {
- aFree(sd->channels);
- sd->channels = NULL;
- }
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), i, VECTOR_INDEX(sd->channels, i) == chan);
+ if (i < VECTOR_LENGTH(sd->channels)) {
+ VECTOR_ERASE(sd->channels, i);
}
}
+
/**
* Leaves a channel.
*
@@ -456,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);
}
@@ -473,14 +459,9 @@ static void channel_leave(struct channel_data *chan, struct map_session_data *sd
static void channel_quit(struct map_session_data *sd)
{
nullpo_retv(sd);
- while (sd->channel_count > 0) {
+ while (VECTOR_LENGTH(sd->channels) > 0) {
// Loop downward to avoid unnecessary array compactions by channel_leave
- struct channel_data *chan = sd->channels[sd->channel_count-1];
-
- if (chan == NULL) {
- sd->channel_count--;
- continue;
- }
+ struct channel_data *chan = VECTOR_LAST(sd->channels);
channel->leave(chan, sd);
}
@@ -583,13 +564,12 @@ static void channel_guild_leave_alliance(const struct guild *g_source, const str
*/
static void channel_quit_guild(struct map_session_data *sd)
{
- unsigned char i;
-
nullpo_retv(sd);
- for (i = 0; i < sd->channel_count; i++) {
- struct channel_data *chan = sd->channels[i];
+ for (int i = VECTOR_LENGTH(sd->channels) - 1; i >= 0; i--) {
+ // Loop downward to avoid issues when channel->leave() compacts the array
+ struct channel_data *chan = VECTOR_INDEX(sd->channels, i);
- if (chan == NULL || chan->type != HCS_TYPE_ALLY)
+ if (chan->type != HCS_TYPE_ALLY)
continue;
channel->leave(chan, sd);
@@ -622,7 +602,8 @@ static void read_channels_config(void)
irc_autojoin = 0,
irc_flood_protection_rate = 0,
irc_flood_protection_burst = 0,
- irc_flood_protection_enabled = 0;
+ irc_flood_protection_enabled = 0,
+ channel_opt_msg_delay = 10;
if( !libconfig->setting_lookup_string(settings, "map_local_channel_name", &local_name) )
local_name = "map";
@@ -818,6 +799,16 @@ static void read_channels_config(void)
}
}
+ libconfig->setting_lookup_int(settings, "channel_opt_msg_delay", &channel_opt_msg_delay);
+ if (channel_opt_msg_delay < 0) {
+ ShowWarning("channels.conf: channel_opt_msg_delay value '%d' must be from 0-255. Defaulting to 0...\n", channel_opt_msg_delay);
+ channel_opt_msg_delay = 0;
+ } else if (channel_opt_msg_delay > 255) {
+ ShowWarning("channels.conf: channel_opt_msg_delay value '%d' must be from 0-255. Defaulting to 255...\n", channel_opt_msg_delay);
+ channel_opt_msg_delay = 255;
+ }
+ channel->config->channel_opt_msg_delay = channel_opt_msg_delay;
+
ShowStatus("Done reading '"CL_WHITE"%u"CL_RESET"' channels in '"CL_WHITE"%s"CL_RESET"'.\n", db_size(channel->db), config_filename);
}
libconfig->destroy(&channels_conf);
@@ -842,7 +833,6 @@ static void do_final_channel(void)
{
struct DBIterator *iter = db_iterator(channel->db);
struct channel_data *chan;
- unsigned char i;
for( chan = dbi_first(iter); dbi_exists(iter); chan = dbi_next(iter) ) {
channel->delete(chan);
@@ -850,7 +840,7 @@ static void do_final_channel(void)
dbi_destroy(iter);
- for(i = 0; i < channel->config->colors_count; i++) {
+ for (int i = 0; i < channel->config->colors_count; i++) {
aFree(channel->config->colors_name[i]);
}
diff --git a/src/map/channel.h b/src/map/channel.h
index 4ac3c6037..c56227c66 100644
--- a/src/map/channel.h
+++ b/src/map/channel.h
@@ -75,6 +75,7 @@ struct Channel_Config {
char irc_server[40], irc_channel[50], irc_nick[40], irc_nick_pw[30];
unsigned short irc_server_port;
bool irc_use_ghost;
+ int channel_opt_msg_delay;
};
struct channel_ban_entry {
diff --git a/src/map/chat.c b/src/map/chat.c
index d9b642219..b650ff029 100644
--- a/src/map/chat.c
+++ b/src/map/chat.c
@@ -102,7 +102,7 @@ static bool chat_createpcchat(struct map_session_data *sd, const char *title, co
if (sd->chat_id != 0)
return false; //Prevent people abusing the chat system by creating multiple chats, as pointed out by End of Exam. [Skotlex]
- if( sd->state.vending || sd->state.buyingstore )
+ if (sd->state.vending || sd->state.prevend || sd->state.buyingstore)
{// not chat, when you already have a store open
return false;
}
@@ -147,7 +147,7 @@ static bool chat_joinchat(struct map_session_data *sd, int chatid, const char *p
cd = map->id2cd(chatid);
if (cd == NULL || cd->bl.type != BL_CHAT || cd->bl.m != sd->bl.m
- || sd->state.vending || sd->state.buyingstore || sd->chat_id != 0
+ || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->chat_id != 0
|| ((cd->owner->type == BL_NPC) ? cd->users+1 : cd->users) >= cd->limit
) {
clif->joinchatfail(sd,0); // room full
@@ -255,6 +255,14 @@ static int chat_leavechat(struct map_session_data *sd, bool kicked)
}
if( leavechar == 0 && cd->owner->type == BL_PC ) {
+
+ // check if new location are CELL_CHKNOCHAT
+ if (map->getcell(cd->usersd[0]->bl.m, NULL, cd->usersd[0]->bl.x, cd->usersd[0]->bl.y, CELL_CHKNOCHAT)) {
+ for (i = (cd->users - 1); i >= 0; i--)
+ chat->leave(cd->usersd[i], false);
+ return 2;
+ }
+
// Set and announce new owner
cd->owner = &cd->usersd[0]->bl;
clif->changechatowner(cd, cd->usersd[0]);
diff --git a/src/map/chrif.c b/src/map/chrif.c
index 43ea7ebe3..ddc106d0c 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -975,14 +975,14 @@ static bool chrif_divorceack(int char_id, int partner_id)
if( ( sd = map->charid2sd(char_id) ) != NULL && sd->status.partner_id == partner_id ) {
sd->status.partner_id = 0;
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (i = 0; i < sd->status.inventorySize; i++)
if (sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
}
if( ( sd = map->charid2sd(partner_id) ) != NULL && sd->status.partner_id == char_id ) {
sd->status.partner_id = 0;
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (i = 0; i < sd->status.inventorySize; i++)
if (sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
}
@@ -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);
@@ -1592,6 +1593,7 @@ static int check_connect_char_server(int tid, int64 tick, int id, intptr_t data)
sockt->session[chrif->fd]->func_parse = chrif->parse;
sockt->session[chrif->fd]->flag.server = 1;
+ sockt->session[chrif->fd]->flag.validate = 0;
sockt->realloc_fifo(chrif->fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
chrif->connect(chrif->fd);
diff --git a/src/map/clif.c b/src/map/clif.c
index f7c5af0e8..9da6a592e 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -49,9 +49,11 @@
#include "map/pet.h"
#include "map/quest.h"
#include "map/rodex.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/status.h"
+#include "map/stylist.h"
#include "map/storage.h"
#include "map/trade.h"
#include "map/unit.h"
@@ -65,6 +67,7 @@
#include "common/memmgr.h"
#include "common/mmo.h" // NEW_CARTS, char_achievements
#include "common/nullpo.h"
+#include "common/packets.h"
#include "common/random.h"
#include "common/showmsg.h"
#include "common/socket.h"
@@ -89,10 +92,8 @@ 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;
-static struct packet_npc_market_open npcmarket_open;
-#endif
+// temporart buffer for send big packets
+char packet_buf[0xffff];
//#define DUMP_UNKNOWN_PACKET
//#define DUMP_INVALID_PACKET
@@ -428,8 +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;
@@ -437,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;
@@ -889,7 +890,7 @@ static void clif_clearflooritem(struct flooritem_data *fitem, int fd)
/// 2 = logged out
/// 3 = teleport
/// 4 = trickdead
-static void clif_clearunit_single(int id, clr_type type, int fd)
+static void clif_clearunit_single(int id, enum clr_type type, int fd)
{
WFIFOHEAD(fd, packet_len(0x80));
WFIFOW(fd,0) = 0x80;
@@ -906,7 +907,7 @@ static void clif_clearunit_single(int id, clr_type type, int fd)
/// 2 = logged out
/// 3 = teleport
/// 4 = trickdead
-static void clif_clearunit_area(struct block_list *bl, clr_type type)
+static void clif_clearunit_area(struct block_list *bl, enum clr_type type)
{
unsigned char buf[8];
@@ -935,12 +936,12 @@ static void clif_clearunit_area(struct block_list *bl, clr_type type)
static int clif_clearunit_delayed_sub(int tid, int64 tick, int id, intptr_t data)
{
struct block_list *bl = (struct block_list *)data;
- clif->clearunit_area(bl, (clr_type) id);
+ clif->clearunit_area(bl, (enum clr_type) id);
ers_free(clif->delay_clearunit_ers,bl);
return 0;
}
-static void clif_clearunit_delayed(struct block_list *bl, clr_type type, int64 tick)
+static void clif_clearunit_delayed(struct block_list *bl, enum clr_type type, int64 tick)
{
struct block_list *tbl;
@@ -1115,7 +1116,7 @@ static void clif_set_unit_idle(struct block_list *bl, struct map_session_data *t
p.head = vd->hair_style;
p.weapon = vd->weapon;
p.accessory = vd->head_bottom;
-#if PACKETVER < 7 || PACKETVER_RE_NUM >= 20180704
+#if PACKETVER < 7 || PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
p.shield = vd->shield;
#endif
p.accessory2 = vd->head_top;
@@ -1272,7 +1273,7 @@ static void clif_spawn_unit(struct block_list *bl, enum send_target target)
p.head = vd->hair_style;
p.weapon = vd->weapon;
p.accessory = vd->head_bottom;
-#if PACKETVER < 7 || PACKETVER_RE_NUM >= 20180704
+#if PACKETVER < 7 || PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
p.shield = vd->shield;
#endif
p.accessory2 = vd->head_top;
@@ -1381,7 +1382,7 @@ static void clif_set_unit_walking(struct block_list *bl, struct map_session_data
p.weapon = vd->weapon;
p.accessory = vd->head_bottom;
p.moveStartTime = (unsigned int)timer->gettick();
-#if PACKETVER < 7 || PACKETVER_RE_NUM >= 20180704
+#if PACKETVER < 7 || PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
p.shield = vd->shield;
#endif
p.accessory2 = vd->head_top;
@@ -1585,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);
@@ -1611,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:
@@ -1626,6 +1628,7 @@ static bool clif_spawn(struct block_list *bl)
/// 022e <name>.24B <modified>.B <level>.W <hunger>.W <intimacy>.W <equip id>.W <atk>.W <matk>.W <hit>.W <crit>.W <def>.W <mdef>.W <flee>.W <aspd>.W <hp>.W <max hp>.W <sp>.W <max sp>.W <exp>.L <max exp>.L <skill points>.W <atk range>.W
static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag)
{
+#if PACKETVER_MAIN_NUM >= 20101005 || PACKETVER_RE_NUM >= 20080827 || defined(PACKETVER_ZERO)
struct status_data *hstatus;
enum homun_type htype;
struct PACKET_ZC_PROPERTY_HOMUN p;
@@ -1637,14 +1640,16 @@ static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int
htype = homun->class2type(hd->homunculus.class_);
memset(&p, 0, sizeof(p));
- p.packetType = hominfoType;
+ p.packetType = HEADER_ZC_PROPERTY_HOMUN;
memcpy(p.name, hd->homunculus.name, NAME_LENGTH);
// Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
p.flags = (!battle_config.hom_rename && hd->homunculus.rename_flag ? 0x1 : 0x0) | (hd->homunculus.vaporize == HOM_ST_REST ? 0x2 : 0) | (hd->homunculus.hp > 0 ? 0x4 : 0);
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
@@ -1703,6 +1708,7 @@ static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int
p.skillPoints = hd->homunculus.skillpts;
p.range = status_get_range(&hd->bl);
clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
}
/// Notification about a change in homunuculus' state (ZC_CHANGESTATE_MER).
@@ -2159,14 +2165,14 @@ static void clif_buylist(struct map_session_data *sd, struct npc_data *nd)
/// 00c7 <packet len>.W { <index>.W <price>.L <overcharge price>.L }*
static void clif_selllist(struct map_session_data *sd)
{
- int fd,i,c=0,val;
+ int c = 0, val;
nullpo_retv(sd);
- fd=sd->fd;
- WFIFOHEAD(fd, MAX_INVENTORY * 10 + 4);
+ int fd = sd->fd;
+ WFIFOHEAD(fd, sd->status.inventorySize * 10 + 4);
WFIFOW(fd,0)=0xc7;
- for( i = 0; i < MAX_INVENTORY; i++ )
+ for (int i = 0; i < sd->status.inventorySize; i++)
{
if( sd->status.inventory[i].nameid > 0 && sd->inventory_data[i] )
{
@@ -2215,6 +2221,8 @@ static void clif_scriptmes(struct map_session_data *sd, int npcid, const char *m
slen = (int)strlen(mes) + 9;
Assert_retv(slen <= INT16_MAX);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
sd->state.dialog = 1;
WFIFOHEAD(fd, slen);
@@ -2251,6 +2259,8 @@ static void clif_scriptnext(struct map_session_data *sd, int npcid)
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0xb5));
WFIFOW(fd,0)=0xb5;
@@ -2279,6 +2289,8 @@ static void clif_scriptclose(struct map_session_data *sd, int npcid)
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0xb6));
WFIFOW(fd,0)=0xb6;
@@ -2350,6 +2362,8 @@ static void clif_scriptmenu(struct map_session_data *sd, int npcid, const char *
bl->y<sd->bl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1))))
clif->sendfakenpc(sd, npcid);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
WFIFOHEAD(fd, slen);
WFIFOW(fd,0) = 0xb7;
WFIFOW(fd,2) = slen;
@@ -2381,6 +2395,8 @@ static void clif_scriptinput(struct map_session_data *sd, int npcid)
bl->y<sd->bl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1))))
clif->sendfakenpc(sd, npcid);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0x142));
WFIFOW(fd,0)=0x142;
@@ -2411,6 +2427,8 @@ static void clif_scriptinputstr(struct map_session_data *sd, int npcid)
bl->y<sd->bl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1))))
clif->sendfakenpc(sd, npcid);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
+
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0x1d4));
WFIFOW(fd,0)=0x1d4;
@@ -2581,7 +2599,7 @@ static void clif_additem(struct map_session_data *sd, int n, int amount, int fai
p.count = amount;
if( !fail ) {
- if( n < 0 || n >= MAX_INVENTORY || sd->status.inventory[n].nameid <=0 || sd->inventory_data[n] == NULL )
+ if (n < 0 || n >= sd->status.inventorySize || sd->status.inventory[n].nameid <= 0 || sd->inventory_data[n] == NULL)
return;
if (sd->inventory_data[n]->view_id > 0)
@@ -2789,11 +2807,11 @@ static void clif_item_normal(short idx, struct NORMALITEM_INFO *p, struct item *
static void clif_inventoryList(struct map_session_data *sd)
{
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
clif->inventoryStart(sd, INVTYPE_INVENTORY, "");
#endif
clif->inventoryItems(sd, INVTYPE_INVENTORY);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
clif->inventoryEnd(sd, INVTYPE_INVENTORY);
#endif
}
@@ -2803,7 +2821,7 @@ static void clif_inventoryItems(struct map_session_data *sd, enum inventory_type
int i, normal = 0, equip = 0;
nullpo_retv(sd);
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2816,7 +2834,7 @@ static void clif_inventoryItems(struct map_session_data *sd, enum inventory_type
if (normal) {
itemlist_normal.PacketType = inventorylistnormalType;
itemlist_normal.PacketLength = (sizeof(itemlist_normal) - sizeof(itemlist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
itemlist_normal.invType = type;
#endif
@@ -2829,7 +2847,7 @@ static void clif_inventoryItems(struct map_session_data *sd, enum inventory_type
if( equip ) {
itemlist_equip.PacketType = inventorylistequipType;
itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
itemlist_equip.invType = type;
#endif
@@ -2837,7 +2855,7 @@ static void clif_inventoryItems(struct map_session_data *sd, enum inventory_type
}
/* on 20120925 onwards this is a field on clif_item_equip/normal */
#if PACKETVER >= 20111122 && PACKETVER < 20120925
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2849,7 +2867,7 @@ static void clif_inventoryItems(struct map_session_data *sd, enum inventory_type
static void clif_equipList(struct map_session_data *sd)
{
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
clif->inventoryStart(sd, INVTYPE_INVENTORY, "");
clif->inventoryItems(sd, INVTYPE_INVENTORY);
clif->inventoryEnd(sd, INVTYPE_INVENTORY);
@@ -2865,7 +2883,7 @@ static void clif_equipItems(struct map_session_data *sd, enum inventory_type typ
int i, equip = 0;
nullpo_retv(sd);
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2876,7 +2894,7 @@ static void clif_equipItems(struct map_session_data *sd, enum inventory_type typ
if (equip) {
itemlist_equip.PacketType = inventorylistequipType;
itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
itemlist_equip.invType = type;
#endif
@@ -2885,7 +2903,7 @@ static void clif_equipItems(struct map_session_data *sd, enum inventory_type typ
/* on 20120925 onwards this is a field on clif_item_equip */
#if PACKETVER >= 20111122 && PACKETVER < 20120925
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL )
continue;
@@ -2914,26 +2932,26 @@ static void clif_guildStorageList(struct map_session_data *sd, struct item *item
static void clif_inventoryStart(struct map_session_data *sd, enum inventory_type type, const char *name)
{
-#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
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;
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+ 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
- int strLen = (int)safestrnlen(name, 24);
+#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+ int strLen = (int)safestrnlen(name, 24) + 1;
if (strLen > 24)
strLen = 24;
- const int len = sizeof(struct ZC_INVENTORY_START) + strLen;
+ 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);
@@ -2942,12 +2960,12 @@ static void clif_inventoryStart(struct map_session_data *sd, enum inventory_type
static void clif_inventoryEnd(struct map_session_data *sd, enum inventory_type type)
{
-#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
nullpo_retv(sd);
- struct ZC_INVENTORY_END p;
- p.packetType = 0xb0b;
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+ 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
p.flag = 0;
@@ -2960,64 +2978,87 @@ 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
+#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
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
safestrncpy(storelist_normal.name, "Storage", NAME_LENGTH);
#endif
clif->send(&storelist_normal, storelist_normal.PacketLength, &sd->bl, SELF);
+ normal_count = 0;
}
- if( equip ) {
- storelist_equip.PacketType = storageListEquipType;
- storelist_equip.PacketLength = ( sizeof( storelist_equip ) - sizeof( storelist_equip.list ) ) + (sizeof(struct EQUIPITEM_INFO) * equip);
+ if (equip_count > 0 && (equip_count == MAX_STORAGE_ITEM_PACKET_EQUIP || i + 1 == items_length)) {
+ storelist_equip.PacketType = storageListEquipType;
+ storelist_equip.PacketLength = (sizeof(storelist_equip) - sizeof(storelist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip_count);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#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
+#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;
}
+ }
+
+ 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;
+ }
- } while ( i < items_length );
+ 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)
{
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
clif->inventoryStart(sd, INVTYPE_CART, "");
#endif
clif->cartItems(sd, INVTYPE_CART);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
clif->inventoryEnd(sd, INVTYPE_CART);
#endif
}
@@ -3043,7 +3084,7 @@ static void clif_cartItems(struct map_session_data *sd, enum inventory_type type
if (normal) {
itemlist_normal.PacketType = cartlistnormalType;
itemlist_normal.PacketLength = (sizeof(itemlist_normal) - sizeof(itemlist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
itemlist_normal.invType = type;
#endif
@@ -3053,7 +3094,7 @@ static void clif_cartItems(struct map_session_data *sd, enum inventory_type type
if (equip) {
itemlist_equip.PacketType = cartlistequipType;
itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip);
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
itemlist_equip.invType = type;
#endif
@@ -3061,6 +3102,121 @@ static void clif_cartItems(struct map_session_data *sd, enum inventory_type type
}
}
+static void clif_inventoryExpansionInfo(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+ nullpo_retv(sd);
+
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_INVENTORY_EXPANSION_INFO));
+ struct PACKET_ZC_INVENTORY_EXPANSION_INFO *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_INVENTORY_EXPANSION_INFO;
+ p->expansionSize = sd->status.inventorySize - FIXED_INVENTORY_SIZE;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_INVENTORY_EXPANSION_INFO));
+#endif
+}
+
+static void clif_inventoryExpandAck(struct map_session_data *sd, enum expand_inventory result, int itemId)
+{
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+ nullpo_retv(sd);
+
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND));
+ struct PACKET_ZC_ACK_INVENTORY_EXPAND *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_INVENTORY_EXPAND;
+ p->result = result;
+ p->itemId = itemId;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND));
+#endif
+}
+
+static void clif_inventoryExpandResult(struct map_session_data *sd, enum expand_inventory_result result)
+{
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+ nullpo_retv(sd);
+
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT));
+ struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_INVENTORY_EXPAND_RESULT;
+ p->result = result;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT));
+#endif
+}
+
+static void clif_parse_inventoryExpansion(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_inventoryExpansion(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ if (pc_isdead(sd) || pc_cant_act(sd)) {
+ clif->inventoryExpandAck(sd, EXPAND_INVENTORY_OTHER_WORK, 0);
+ return;
+ }
+ if (sd->status.inventorySize == MAX_INVENTORY) {
+ clif->inventoryExpandAck(sd, EXPAND_INVENTORY_MAX_SIZE, 0);
+ return;
+ }
+
+ char evname[EVENT_NAME_LENGTH];
+ struct event_data *ev = NULL;
+
+ safestrncpy(evname, "inventory_expansion::OnInvExpandRequest", EVENT_NAME_LENGTH);
+ if ((ev = strdb_get(npc->ev_db, evname))) {
+ script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id);
+ } else {
+ ShowError("clif_parse_inventoryExpansion: event '%s' not found, operation failed.\n", evname);
+ }
+#endif
+}
+
+static void clif_parse_inventoryExpansionConfirmed(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_inventoryExpansionConfirmed(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ if (pc_isdead(sd) || pc_cant_act(sd)) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_OTHER_WORK);
+ return;
+ }
+ if (sd->status.inventorySize == MAX_INVENTORY) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_MAX_SIZE);
+ return;
+ }
+
+ char evname[EVENT_NAME_LENGTH];
+ struct event_data *ev = NULL;
+
+ safestrncpy(evname, "inventory_expansion::OnInvExpandConfirmed", EVENT_NAME_LENGTH);
+ if ((ev = strdb_get(npc->ev_db, evname))) {
+ script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id);
+ } else {
+ ShowError("clif_parse_inventoryExpansionConfirmed: event '%s' not found, operation failed.\n", evname);
+ }
+#endif
+}
+
+static void clif_parse_inventoryExpansionRejected(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_inventoryExpansionRejected(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ char evname[EVENT_NAME_LENGTH];
+ struct event_data *ev = NULL;
+
+ safestrncpy(evname, "inventory_expansion::OnInvExpandRejected", EVENT_NAME_LENGTH);
+ if ((ev = strdb_get(npc->ev_db, evname))) {
+ script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id);
+ } else {
+ ShowError("clif_parse_inventoryExpansionRejected: event '%s' not found, operation failed.\n", evname);
+ }
+#endif
+}
+
+// CZ_REQ_REMAINTIME
+static void clif_parse_reqRemainTime(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_reqRemainTime(int fd, struct map_session_data *sd)
+{
+}
+
/// Removes cart (ZC_CARTOFF).
/// 012b
/// Client behavior:
@@ -3244,7 +3400,12 @@ static void clif_updatestatus(struct map_session_data *sd, int type)
WFIFOL(fd,4)=sd->battle_status.max_sp;
break;
case SP_HP:
- WFIFOL(fd,4)=sd->battle_status.hp;
+ if (sd->battle_status.hp == 0 && battle_config.display_fake_hp_when_dead) {
+ // On official servers, the HP displayed when dead is the HP that the character will have at respawn.
+ WFIFOL(fd, 4) = status->get_restart_hp(sd, &sd->battle_status);
+ } else {
+ WFIFOL(fd, 4) = sd->battle_status.hp;
+ }
break;
case SP_SP:
WFIFOL(fd,4)=sd->battle_status.sp;
@@ -3713,7 +3874,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));
@@ -3748,20 +3909,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
@@ -3792,17 +3949,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).
@@ -3818,6 +3974,7 @@ static void clif_equipitemack(struct map_session_data *sd, int n, int pos, enum
p.index = n+2;
p.wearLocation = pos;
#if PACKETVER >= 20100629
+ Assert_retv(n >= 0 && n < sd->status.inventorySize);
if (result == EIA_SUCCESS && sd->inventory_data[n]->equip&EQP_VISIBLE)
p.wItemSpriteNumber = sd->inventory_data[n]->view_sprite;
else
@@ -3959,7 +4116,7 @@ static void clif_useitemack(struct map_session_data *sd, int index, int amount,
nullpo_retv(sd);
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return;
fd = sd->fd;
@@ -4181,22 +4338,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).
@@ -4308,7 +4468,7 @@ static void clif_tradeadditem(struct map_session_data *sd, struct map_session_da
if (index != 0)
{
index -= 2; //index fix
- Assert_retv(index >= 0 && index < MAX_INVENTORY);
+ Assert_retv(index >= 0 && index < sd->status.inventorySize);
if(sd->inventory_data[index] && sd->inventory_data[index]->view_id > 0)
p.itemId = sd->inventory_data[index]->view_id;
else
@@ -4517,7 +4677,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
@@ -4598,7 +4758,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:
@@ -4630,9 +4790,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;
}
/*==========================================
@@ -4663,7 +4823,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;
@@ -4904,9 +5064,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;
@@ -4915,7 +5074,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;
@@ -5093,58 +5252,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, sizeof(struct PACKET_ZC_SKILLINFO_LIST) + MAX_SKILL_DB * sizeof(struct SKILLDATA));
+ struct PACKET_ZC_SKILLINFO_LIST *p = WFIFOP(fd, 0);
- 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;
+ 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)
**/
@@ -5153,36 +5333,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).
@@ -5235,32 +5400,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.
@@ -5280,32 +5447,31 @@ static void clif_skillinfo(struct map_session_data *sd, int skill_id, int inf)
/// 1 = no text
static void clif_useskill(struct block_list *bl, int src_id, int dst_id, int dst_x, int dst_y, uint16 skill_id, uint16 skill_lv, int casttime)
{
-#if PACKETVER < 20091124
- const int cmd = 0x13e;
-#else
- const int cmd = 0x7fb;
-#endif
- unsigned char buf[32];
- int property = skill->get_ele(skill_id, skill_lv);
+ nullpo_retv(bl);
- WBUFW(buf,0) = cmd;
- WBUFL(buf,2) = src_id;
- WBUFL(buf,6) = dst_id;
- WBUFW(buf,10) = dst_x;
- WBUFW(buf,12) = dst_y;
- WBUFW(buf,14) = skill_id;
- WBUFL(buf,16) = property<0?0:property; //Avoid sending negatives as element [Skotlex]
- WBUFL(buf,20) = casttime;
-#if PACKETVER >= 20091124
- WBUFB(buf,24) = 0; // isDisposable
+ const int element = skill->get_ele(skill_id, skill_lv);
+ struct PACKET_ZC_USESKILL_ACK p;
+ p.packetType = HEADER_ZC_USESKILL_ACK;
+ p.srcId = src_id;
+ p.dstId = dst_id;
+ p.x = dst_x;
+ p.y = dst_y;
+ p.skillId = skill_id;
+ p.element = element < 0 ? 0 : element; //Avoid sending negatives as element [Skotlex]
+ p.delayTime = casttime;
+#if PACKETVER_MAIN_NUM >= 20091124 || PACKETVER_RE_NUM >= 20091124 || defined(PACKETVER_ZERO)
+ p.disposable = 0;
+#endif
+#if PACKETVER_MAIN_NUM >= 20181212 || PACKETVER_RE_NUM >= 20181212 || PACKETVER_ZERO_NUM >= 20190130
+ p.unknown = 0;
#endif
if (clif->isdisguised(bl)) {
- clif->send(buf,packet_len(cmd), bl, AREA_WOS);
- WBUFL(buf,2) = -src_id;
- clif->send(buf,packet_len(cmd), bl, SELF);
+ clif->send(&p, sizeof(p), bl, AREA_WOS);
+ p.srcId = -src_id;
+ clif->send(&p, sizeof(p), bl, SELF);
} else {
- clif->send(buf,packet_len(cmd), bl, AREA);
+ clif->send(&p, sizeof(p), bl, AREA);
}
#if PACKETVER >= 20151223
if ((skill->get_inf2(skill_id) & INF2_SHOW_SKILL_SCALE) != 0)
@@ -5408,7 +5574,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;
@@ -5510,7 +5676,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;
@@ -5646,7 +5812,7 @@ static void clif_skill_warppoint(struct map_session_data *sd, uint16 skill_id, u
nullpo_retv(sd);
fd = sd->fd;
#if PACKETVER_MAIN_NUM >= 20170502 || PACKETVER_RE_NUM >= 20170419 || defined(PACKETVER_ZERO)
- len = sizeof(struct PACKET_ZC_WARPLIST) + sizeof(struct PACKET_ZC_WARPLIST_sub) * mapsCount;
+ len = sizeof(struct PACKET_ZC_WARPLIST) + sizeof(struct PACKET_ZC_WARPLIST_sub) * 6;
#else
len = sizeof(struct PACKET_ZC_WARPLIST);
#endif
@@ -5734,7 +5900,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);
@@ -5756,9 +5922,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);
@@ -5833,7 +5999,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;
@@ -5876,7 +6042,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;
@@ -5886,7 +6052,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);
@@ -5905,7 +6071,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;
@@ -5915,7 +6081,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 )
@@ -5929,7 +6095,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;
@@ -5940,6 +6106,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)
@@ -6293,7 +6466,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;
@@ -6371,10 +6544,10 @@ static void clif_use_card(struct map_session_data *sd, int idx)
if (!pc->can_insert_card(sd, idx))
return;
- WFIFOHEAD(fd, MAX_INVENTORY * 2 + 4);
+ WFIFOHEAD(fd, sd->status.inventorySize * 2 + 4);
WFIFOW(fd, 0) = 0x17b;
- for (i = c = 0; i < MAX_INVENTORY; i++) {
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
if (!pc->can_insert_card_into(sd, idx, i))
continue;
WFIFOW(fd, 4 + c * 2) = i + 2;
@@ -6418,9 +6591,9 @@ static void clif_item_identify_list(struct map_session_data *sd)
fd=sd->fd;
- WFIFOHEAD(fd,MAX_INVENTORY * 2 + 4);
+ WFIFOHEAD(fd, sd->status.inventorySize * 2 + 4);
WFIFOW(fd,0)=0x177;
- for(i=c=0;i<MAX_INVENTORY;i++){
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && !sd->status.inventory[i].identify){
WFIFOW(fd,c*2+4)=i+2;
c++;
@@ -6465,11 +6638,11 @@ static void clif_item_repair_list(struct map_session_data *sd, struct map_sessio
fd = sd->fd;
- len = MAX_INVENTORY * sizeof(struct PACKET_ZC_REPAIRITEMLIST_sub) + sizeof(struct PACKET_ZC_REPAIRITEMLIST);
+ len = dstsd->status.inventorySize * sizeof(struct PACKET_ZC_REPAIRITEMLIST_sub) + sizeof(struct PACKET_ZC_REPAIRITEMLIST);
WFIFOHEAD(fd, len);
p = WFIFOP(fd, 0);
p->packetType = 0x1fc;
- for (i = c = 0; i < MAX_INVENTORY; i++) {
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
int nameid = dstsd->status.inventory[i].nameid;
if (nameid > 0 && (dstsd->status.inventory[i].attribute & ATTR_BROKEN) != 0) { // && skill_can_repair(sd,nameid)) {
p->items[c].index = i;
@@ -6545,11 +6718,11 @@ static void clif_item_refine_list(struct map_session_data *sd)
skill_lv = pc->checkskill(sd, WS_WEAPONREFINE);
fd = sd->fd;
- len = MAX_INVENTORY * sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub) + sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST);
+ len = sd->status.inventorySize * sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub) + sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST);
WFIFOHEAD(fd, len);
p = WFIFOP(fd, 0);
p->packetType = 0x221;
- for (i = c = 0; i < MAX_INVENTORY; i++) {
+ for (i = c = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify
&& itemdb_wlv(sd->status.inventory[i].nameid) >= 1
&& !sd->inventory_data[i]->flag.no_refine
@@ -6994,7 +7167,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
}
@@ -7005,14 +7178,17 @@ static void clif_party_job_and_level(struct map_session_data *sd)
/// 1 = auto-deny party invites
static void clif_partyinvitationstate(struct map_session_data *sd)
{
+#if PACKETVER_MAIN_NUM >= 20070911 || defined(PACKETVER_RE) || PACKETVER_AD_NUM >= 20070911 || PACKETVER_SAK_NUM >= 20070904 || defined(PACKETVER_ZERO)
int fd;
nullpo_retv(sd);
fd = sd->fd;
- WFIFOHEAD(fd, packet_len(0x2c9));
- WFIFOW(fd, 0) = 0x2c9;
- WFIFOB(fd, 2) = sd->status.allow_party ? 1 : 0;
- WFIFOSET(fd, packet_len(0x2c9));
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_PARTY_CONFIG));
+ struct PACKET_ZC_PARTY_CONFIG *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_PARTY_CONFIG;
+ p->denyPartyInvites = sd->status.allow_party ? 1 : 0;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_PARTY_CONFIG));
+#endif
}
/// Party invitation request.
@@ -7379,9 +7555,9 @@ static void clif_sendegg(struct map_session_data *sd)
return;
}
- WFIFOHEAD(fd, MAX_INVENTORY * 2 + 4);
+ WFIFOHEAD(fd, sd->status.inventorySize * 2 + 4);
WFIFOW(fd,0) = 0x1a6;
- for (i = n = 0; i < MAX_INVENTORY; i++) {
+ for (i = n = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].nameid <= 0 || sd->inventory_data[i] == NULL || sd->inventory_data[i]->type!=IT_PETEGG || sd->status.inventory[i].amount <= 0)
continue;
WFIFOW(fd, n * 2 + 4) = i + 2;
@@ -7503,46 +7679,47 @@ static void clif_pet_food(struct map_session_data *sd, int foodid, int fail)
/// 01cd { <skill id>.L }*7
static void clif_autospell(struct map_session_data *sd, uint16 skill_lv)
{
- int fd;
-
+#if PACKETVER_MAIN_NUM >= 20090406 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_SAK_NUM >= 20080618
nullpo_retv(sd);
- fd=sd->fd;
- WFIFOHEAD(fd,packet_len(0x1cd));
- WFIFOW(fd, 0)=0x1cd;
+ int fd = sd->fd;
+#if PACKETVER_MAIN_NUM >= 20181128 || PACKETVER_RE_NUM >= 20181031
+ // reserve space for 7 skills
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_AUTOSPELLLIST) + 4 * 7);
+#else
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_AUTOSPELLLIST));
+#endif
+ struct PACKET_ZC_AUTOSPELLLIST *p = WFIFOP(fd, 0);
+ memset(p, 0, sizeof(struct PACKET_ZC_AUTOSPELLLIST));
+ p->packetType = HEADER_ZC_AUTOSPELLLIST;
+ int index = 0;
- if(skill_lv>0 && pc->checkskill(sd,MG_NAPALMBEAT)>0)
- WFIFOL(fd,2)= MG_NAPALMBEAT;
- else
- WFIFOL(fd,2)= 0x00000000;
- if(skill_lv>1 && pc->checkskill(sd,MG_COLDBOLT)>0)
- WFIFOL(fd,6)= MG_COLDBOLT;
- else
- WFIFOL(fd,6)= 0x00000000;
- if(skill_lv>1 && pc->checkskill(sd,MG_FIREBOLT)>0)
- WFIFOL(fd,10)= MG_FIREBOLT;
- else
- WFIFOL(fd,10)= 0x00000000;
- if(skill_lv>1 && pc->checkskill(sd,MG_LIGHTNINGBOLT)>0)
- WFIFOL(fd,14)= MG_LIGHTNINGBOLT;
- else
- WFIFOL(fd,14)= 0x00000000;
- if(skill_lv>4 && pc->checkskill(sd,MG_SOULSTRIKE)>0)
- WFIFOL(fd,18)= MG_SOULSTRIKE;
- else
- WFIFOL(fd,18)= 0x00000000;
- if(skill_lv>7 && pc->checkskill(sd,MG_FIREBALL)>0)
- WFIFOL(fd,22)= MG_FIREBALL;
- else
- WFIFOL(fd,22)= 0x00000000;
- if(skill_lv>9 && pc->checkskill(sd,MG_FROSTDIVER)>0)
- WFIFOL(fd,26)= MG_FROSTDIVER;
- else
- WFIFOL(fd,26)= 0x00000000;
+ if (skill_lv > 0 && pc->checkskill(sd, MG_NAPALMBEAT) > 0)
+ p->skills[index++] = MG_NAPALMBEAT;
+ if (skill_lv > 1 && pc->checkskill(sd, MG_COLDBOLT) > 0)
+ p->skills[index++] = MG_COLDBOLT;
+ if (skill_lv > 1 && pc->checkskill(sd, MG_FIREBOLT) > 0)
+ p->skills[index++] = MG_FIREBOLT;
+ if (skill_lv > 1 && pc->checkskill(sd, MG_LIGHTNINGBOLT) > 0)
+ p->skills[index++] = MG_LIGHTNINGBOLT;
+ if (skill_lv > 4 && pc->checkskill(sd, MG_SOULSTRIKE) > 0)
+ p->skills[index++] = MG_SOULSTRIKE;
+ if (skill_lv > 7 && pc->checkskill(sd, MG_FIREBALL) > 0)
+ p->skills[index++] = MG_FIREBALL;
+ if (skill_lv > 9 && pc->checkskill(sd, MG_FROSTDIVER) > 0)
+ p->skills[index++] = MG_FROSTDIVER;
+
+#if PACKETVER_MAIN_NUM >= 20181128 || PACKETVER_RE_NUM >= 20181031
+ const int len = sizeof(struct PACKET_ZC_AUTOSPELLLIST) + index * 4;
+ p->packetLength = len;
+#else
+ const int len = sizeof(struct PACKET_ZC_AUTOSPELLLIST);
+#endif
+ WFIFOSET(fd, len);
- WFIFOSET(fd,packet_len(0x1cd));
sd->menuskill_id = SA_AUTOSPELL;
sd->menuskill_val = skill_lv;
+#endif
}
/// Devotion's visual effect (ZC_DEVOTIONLIST).
@@ -7601,17 +7778,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);
}
@@ -7721,6 +7908,7 @@ static void clif_mvp_noitem(struct map_session_data *sd)
/// 1 = "You are already in a Guild."
/// 2 = "That Guild Name already exists."
/// 3 = "You need the necessary item to create a Guild."
+/// 4 = "Can't create a Guild in this area."
static void clif_guild_created(struct map_session_data *sd, int flag)
{
int fd;
@@ -7926,6 +8114,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:
@@ -8207,6 +8443,7 @@ static void clif_guild_invite(struct map_session_data *sd, struct guild *g)
/// 1 = Offer rejected.
/// 2 = Offer accepted.
/// 3 = Guild full.
+/// 4 = Offline or not exists
static void clif_guild_inviteack(struct map_session_data *sd, int flag)
{
int fd;
@@ -8257,6 +8494,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
@@ -8268,42 +8506,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).
@@ -8505,14 +8745,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).
@@ -8847,22 +9087,84 @@ 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)
+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(&packet, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3), bl, target);
+
+ if (clif->isdisguised(bl)) {
+ 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)
{
- uint8 buf[14];
+#if PACKETVER_MAIN_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3));
- WBUFW(buf,0) = 0x284;
- WBUFL(buf,2) = bl->id;
- WBUFL(buf,6) = effect_id;
- WBUFL(buf,10) = num;
+ 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).
+/// 0b0d <id>.L <effect id>.L
+/// effect id:
+/// @see doc/effect_list.txt
+static void clif_removeSpecialEffect(struct block_list *bl, int effectId, enum send_target target)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ nullpo_retv(bl);
+
+ struct PACKET_ZC_REMOVE_EFFECT p;
+ p.packetType = 0xb0d;
+ p.aid = bl->id;
+ p.effectId = effectId;
- clif->send(buf, packet_len(0x284), bl, target);
+ clif->send(&p, sizeof(p), bl, target);
if (clif->isdisguised(bl)) {
- WBUFL(buf,2) = -bl->id;
- clif->send(buf, packet_len(0x284), bl, SELF);
+ p.aid = -bl->id;
+ clif->send(&p, sizeof(p), bl, SELF);
}
+#endif
+}
+
+static void clif_removeSpecialEffect_single(struct block_list *bl, int effectId, struct block_list *targetBl)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ nullpo_retv(bl);
+ nullpo_retv(targetBl);
+
+ struct PACKET_ZC_REMOVE_EFFECT p;
+ p.packetType = 0xb0d;
+ p.aid = bl->id;
+ p.effectId = effectId;
+
+ clif->send(&p, sizeof(p), targetBl, SELF);
+#endif
}
+
/**
* Modification of clif_messagecolor to send colored messages to players to chat log only (doesn't display overhead).
*
@@ -8922,6 +9224,34 @@ static void clif_messagecolor(struct block_list *bl, uint32 color, const char *m
clif->send(buf, WBUFW(buf,2), bl, AREA_CHAT_WOC);
}
+// Message without owner, not logged in chat
+static void clif_serviceMessageColor(struct map_session_data *sd, uint32 color, const char *msg)
+{
+#if PACKETVER_MAIN_NUM >= 20170830 || PACKETVER_RE_NUM >= 20170830 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+ nullpo_retv(msg);
+
+ int msg_len = (int)strlen(msg) + 1;
+
+ if (msg_len > 512) {
+ ShowWarning("clif_serviceMessageColor: Truncating too long message '%s' (len=%d).\n", msg, msg_len);
+ msg_len = 512;
+ }
+
+ const int len = sizeof(struct PACKET_ZC_SERVICE_MESSAGE_COLOR) + msg_len;
+ const int fd = sd->fd;
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_SERVICE_MESSAGE_COLOR *p = WFIFOP(fd, 0);
+
+ p->packetType = HEADER_ZC_SERVICE_MESSAGE_COLOR;
+ p->packetLength = len;
+ p->color = RGB2BGR(color);
+ safestrncpy(p->message, msg, msg_len);
+
+ WFIFOSET(fd, len);
+#endif
+}
+
/**
* Notifies the client that the storage window is still open
*
@@ -9008,6 +9338,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);
@@ -9017,149 +9349,384 @@ static void clif_refresh(struct map_session_data *sd)
clif->refresh_storagewindow(sd);
}
+static void clif_send_selforarea(int fd, struct block_list *bl, const void *buf, int len)
+{
+ // if no recipient specified just update nearby clients
+ // if no recipient specified just update nearby clients
+ if (fd == 0) {
+ clif->send(buf, len, bl, AREA);
+ } else {
+ struct map_session_data *sd = sockt->session_is_valid(fd) ? sockt->session[fd]->session_data : NULL;
+ if (sd != NULL) {
+ clif->send(buf, len, &sd->bl, SELF);
+ } else {
+ clif->send(buf, len, bl, SELF);
+ }
+ }
+}
+
/// Updates the object's (bl) name on client.
/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
-static void clif_charnameack(int fd, struct block_list *bl)
+static void clif_pcname_ack(int fd, struct block_list *bl)
{
- struct packet_reqnameall_ack packet = { 0 };
- int len = sizeof(struct packet_reqnameall_ack);
-
nullpo_retv(bl);
+ Assert_retv(bl->type == BL_PC);
- packet.packet_id = reqName;
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
+ int len = sizeof(struct PACKET_ZC_ACK_REQNAMEALL);
packet.gid = bl->id;
- switch(bl->type) {
- case BL_PC:
- {
- const struct map_session_data *ssd = BL_UCCAST(BL_PC, bl);
- const struct party_data *p = NULL;
- const struct guild *g = NULL;
- int ps = -1;
+ const struct map_session_data *ssd = BL_UCCAST(BL_PC, bl);
- if (ssd->fakename[0] != '\0' || ssd->status.guild_id > 0 || ssd->status.party_id > 0 || ssd->status.title_id > 0) {
- packet.packet_id = reqNameAllType;
- }
+ if (ssd->fakename[0] != '\0') {
+ packet.packet_id = reqName;
+ len = sizeof(struct packet_reqname_ack);
+ } else {
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ len = sizeof(struct PACKET_ZC_ACK_REQNAMEALL);
+ }
- //Requesting your own "shadow" name. [Skotlex]
- if (ssd->fd == fd && ssd->disguise != -1) {
- packet.gid = -bl->id;
- }
+ //Requesting your own "shadow" name. [Skotlex]
+ if (ssd->fd == fd && ssd->disguise != -1) {
+ packet.gid = -bl->id;
+ }
- if (ssd->fakename[0] != '\0') {
- memcpy(packet.name, ssd->fakename, NAME_LENGTH);
- break;
+ if (ssd->fakename[0] != '\0') {
+ memcpy(packet.name, ssd->fakename, NAME_LENGTH);
+ } else {
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO)
+ // Title System [Dastgir/Hercules]
+ if (ssd->status.title_id > 0) {
+ packet.title_id = ssd->status.title_id;
+ }
+#endif
+ memcpy(packet.name, ssd->status.name, NAME_LENGTH);
+
+ const struct party_data *p = NULL;
+ int ps = -1;
+ if (ssd->status.party_id != 0) {
+ p = party->search(ssd->status.party_id);
+ }
+ const struct guild *g = NULL;
+ if (ssd->status.guild_id != 0) {
+ if ((g = ssd->guild) != NULL) {
+ int i;
+ ARR_FIND(0, g->max_member, i, g->member[i].account_id == ssd->status.account_id && g->member[i].char_id == ssd->status.char_id);
+ if (i < g->max_member)
+ ps = g->member[i].position;
}
+ }
+
+ if (!battle_config.display_party_name && g == NULL) {
+ // do not display party unless the player is also in a guild
+ p = NULL;
+ }
+
+ if (p != NULL) {
+ memcpy(packet.party_name, p->party.name, NAME_LENGTH);
+ }
-#if PACKETVER >= 20150503
- // Title System [Dastgir/Hercules]
- if (ssd->status.title_id > 0) {
- packet.title_id = ssd->status.title_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);
+ }
+ else if (ssd->status.clan_id != 0) {
+ struct clan *c = clan->search(ssd->status.clan_id);
+ if (c != 0) {
+ memcpy(packet.position_name, c->name, NAME_LENGTH);
}
+ }
+ }
+
+ clif->send_selforarea(fd, bl, &packet, len);
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_homname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_HOM);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_HOM, bl)->homunculus.name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
#endif
- memcpy(packet.name, ssd->status.name, NAME_LENGTH);
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
- if (ssd->status.party_id != 0) {
- p = party->search(ssd->status.party_id);
- }
- if (ssd->status.guild_id != 0) {
- if ((g = ssd->guild) != NULL) {
- int i;
- ARR_FIND(0, g->max_member, i, g->member[i].account_id == ssd->status.account_id && g->member[i].char_id == ssd->status.char_id);
- if (i < g->max_member)
- ps = g->member[i].position;
- }
- }
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mername_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MER);
- if (!battle_config.display_party_name && g == NULL) {
- // do not display party unless the player is also in a guild
- p = NULL;
- }
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_MER, bl)->db->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
- if (p == NULL && g == NULL)
- break;
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
- if (p != NULL) {
- memcpy(packet.party_name, p->party.name, NAME_LENGTH);
- }
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_petname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_PET);
- if (g != NULL && ps >= 0 && ps < MAX_GUILDPOSITION) {
- memcpy(packet.guild_name, g->name,NAME_LENGTH);
- memcpy(packet.position_name, g->position[ps].name, NAME_LENGTH);
- }
- }
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_PET, bl)->pet.name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_npcname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_NPC);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_NPC, bl)->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_guardian_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+ Assert_retv(md->guardian_data && md->guardian_data->g);
+
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ packet.gid = bl->id;
+ memcpy(packet.name, md->name, NAME_LENGTH);
+ memcpy(packet.guild_name, md->guardian_data->g->name, NAME_LENGTH);
+ memcpy(packet.position_name, md->guardian_data->castle->castle_name, NAME_LENGTH);
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAMEALL));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_normal_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ 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
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_additional_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ packet.gid = bl->id;
+
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+
+ memcpy(packet.name, md->name, NAME_LENGTH);
+ char mobhp[100];
+ char *str_p = mobhp;
+ if (battle_config.show_mob_info&4)
+ str_p += sprintf(str_p, "Lv. %d | ", md->level);
+ if (battle_config.show_mob_info&1)
+ str_p += sprintf(str_p, "HP: %u/%u | ", md->status.hp, md->status.max_hp);
+ if (battle_config.show_mob_info&2)
+ str_p += sprintf(str_p, "HP: %u%% | ", get_percentage(md->status.hp, md->status.max_hp));
+ //Even thought mobhp ain't a name, we send it as one so the client
+ //can parse it. [Skotlex]
+ if (str_p != mobhp) {
+ *(str_p-3) = '\0'; //Remove trailing space + pipe.
+ memcpy(packet.party_name, mobhp, NAME_LENGTH);
+ }
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAMEALL));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_mobname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MOB);
+
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+
+ if (md->guardian_data && md->guardian_data->g) {
+ clif->mobname_guardian_ack(fd, bl);
+ } else if (battle_config.show_mob_info) {
+ clif->mobname_additional_ack(fd, bl);
+ } else {
+ clif->mobname_normal_ack(fd, bl);
+ }
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_chatname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_CHAT);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+
+#if 0 // Clients DO request this... what should be done about it? The chat's title may not fit... [Skotlex]
+ memcpy(packet.name, BL_UCCAST(BL_CHAT, bl)->title, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+/// Updates the object's (bl) name on client.
+/// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME)
+/// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL)
+/// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2)
+static void clif_elemname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_ELEM);
+
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ memcpy(packet.name, BL_UCCAST(BL_ELEM, bl)->db->name, NAME_LENGTH);
+#if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud != NULL) {
+ memcpy(packet.title, ud->title, NAME_LENGTH);
+ packet.groupId = ud->groupId;
+ }
+#endif
+
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
+
+static void clif_unknownname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ ShowError("clif_blname_ack: bad type %u(%d)\n", bl->type, bl->id);
+}
+
+static void clif_blname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+
+ switch(bl->type) {
+ case BL_PC:
+ clif->pcname_ack(fd, bl);
break;
- //[blackhole89]
case BL_HOM:
- memcpy(packet.name, BL_UCCAST(BL_HOM, bl)->homunculus.name, NAME_LENGTH);
+ clif->homname_ack(fd, bl);
break;
case BL_MER:
- memcpy(packet.name, BL_UCCAST(BL_MER, bl)->db->name, NAME_LENGTH);
+ clif->mername_ack(fd, bl);
break;
case BL_PET:
- memcpy(packet.name, BL_UCCAST(BL_PET, bl)->pet.name, NAME_LENGTH);
+ clif->petname_ack(fd, bl);
break;
case BL_NPC:
- memcpy(packet.name, BL_UCCAST(BL_NPC, bl)->name, NAME_LENGTH);
+ clif->npcname_ack(fd, bl);
break;
case BL_MOB:
- {
- const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
-
- memcpy(packet.name, md->name, NAME_LENGTH);
- if (md->guardian_data && md->guardian_data->g) {
- packet.packet_id = reqNameAllType;
- memcpy(packet.guild_name, md->guardian_data->g->name, NAME_LENGTH);
- memcpy(packet.position_name, md->guardian_data->castle->castle_name, NAME_LENGTH);
- } else if (battle_config.show_mob_info) {
- char mobhp[50], *str_p = mobhp;
- packet.packet_id = reqNameAllType;
- if (battle_config.show_mob_info&4)
- str_p += sprintf(str_p, "Lv. %d | ", md->level);
- if (battle_config.show_mob_info&1)
- str_p += sprintf(str_p, "HP: %u/%u | ", md->status.hp, md->status.max_hp);
- if (battle_config.show_mob_info&2)
- str_p += sprintf(str_p, "HP: %u%% | ", get_percentage(md->status.hp, md->status.max_hp));
- //Even thought mobhp ain't a name, we send it as one so the client
- //can parse it. [Skotlex]
- if (str_p != mobhp) {
- *(str_p-3) = '\0'; //Remove trailing space + pipe.
- memcpy(packet.party_name, mobhp, NAME_LENGTH);
- }
- }
- }
+ clif->mobname_ack(fd, bl);
break;
case BL_CHAT:
-#if 0 //FIXME: Clients DO request this... what should be done about it? The chat's title may not fit... [Skotlex]
- memcpy(packet.name, BL_UCCAST(BL_CHAT, bl)->title, NAME_LENGTH);
+ clif->chatname_ack(fd, bl);
break;
-#endif
- return;
case BL_ELEM:
- memcpy(packet.name, BL_UCCAST(BL_ELEM, bl)->db->name, NAME_LENGTH);
+ clif->elemname_ack(fd, bl);
break;
default:
- ShowError("clif_charnameack: bad type %u(%d)\n", bl->type, bl->id);
- return;
- }
-
- if (packet.packet_id == reqName) {
- len = sizeof(struct packet_reqname_ack);
- }
- // if no recipient specified just update nearby clients
- // if no recipient specified just update nearby clients
- if (fd == 0) {
- clif->send(&packet, len, bl, AREA);
- } else {
- struct map_session_data *sd = sockt->session_is_valid(fd) ? sockt->session[fd]->session_data : NULL;
- if (sd != NULL) {
- clif->send(&packet, len, &sd->bl, SELF);
- } else {
- clif->send(&packet, len, bl, SELF);
- }
+ clif->unknownname_ack(fd, bl);
+ break;
}
}
@@ -9170,14 +9737,14 @@ static void clif_charnameupdate(struct map_session_data *ssd)
int ps = -1;
struct party_data *p = NULL;
struct guild *g = NULL;
- struct packet_reqnameall_ack packet = { 0 };
+ struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 };
nullpo_retv(ssd);
if (ssd->fakename[0])
return; //No need to update as the party/guild was not displayed anyway.
- packet.packet_id = reqNameAllType;
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
packet.gid = ssd->bl.id;
memcpy(packet.name, ssd->status.name, NAME_LENGTH);
@@ -9204,7 +9771,7 @@ static void clif_charnameupdate(struct map_session_data *ssd)
memcpy(packet.position_name, g->position[ps].name, NAME_LENGTH);
}
-#if PACKETVER >= 20150503
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO)
// Achievement System [Dastgir/Hercules]
if (ssd->status.title_id > 0) {
packet.title_id = ssd->status.title_id;
@@ -9631,7 +10198,9 @@ static void clif_msgtable_str_color(struct map_session_data *sd, enum clif_messa
p->PacketType = 0xa6f;
p->PacketLength = len;
p->messageId = msg_id;
+#if PACKETVER >= 20160406
p->color = color;
+#endif
safestrncpy(p->messageString, value, message_len);
p->messageString[message_len] = 0;
@@ -10129,7 +10698,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
first_time = true;
sd->state.connect_new = 0;
clif->skillinfoblock(sd);
- clif->hotkeys(sd);
+ clif->hotkeysAll(sd);
clif->updatestatus(sd,SP_BASEEXP);
clif->updatestatus(sd,SP_NEXTBASEEXP);
clif->updatestatus(sd,SP_JOBEXP);
@@ -10138,11 +10707,11 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
clif->initialstatus(sd);
if (pc_isfalcon(sd))
- clif->status_change(&sd->bl, SI_FALCON, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_FALCON), status->get_sc_relevant_bl_types(SC_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);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_RIDING), status->get_sc_relevant_bl_types(SC_RIDING), 1, 0, 0, 0, 0);
else if (pc_isridingwug(sd))
- clif->status_change(&sd->bl, SI_WUGRIDER, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_WUGRIDER), status->get_sc_relevant_bl_types(SC_WUGRIDER), 1, 0, 0, 0, 0);
if(sd->status.manner < 0)
sc_start(NULL,&sd->bl,SC_NOCHAT,100,0,0);
@@ -10166,7 +10735,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
if (map->night_flag && map->list[sd->bl.m].flag.nightenabled) {
sd->state.night = 1;
- clif->status_change(&sd->bl, SI_SKE, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_SKE), status->get_sc_relevant_bl_types(SC_SKE), 1, 0, 0, 0, 0);
}
// Notify everyone that this char logged in [Skotlex].
@@ -10218,11 +10787,11 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
//Display night.
if( !sd->state.night ) {
sd->state.night = 1;
- clif->status_change(&sd->bl, SI_SKE, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_SKE), status->get_sc_relevant_bl_types(SC_SKE), 1, 0, 0, 0, 0);
}
} else if( sd->state.night ) { //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 ) {
@@ -10233,7 +10802,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
if( map->list[sd->bl.m].flag.allowks && !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);
}
@@ -10270,7 +10839,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
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);
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_DEVIL1));
if (sd->sc.opt2) //Client loses these on warp.
clif->changeoption(&sd->bl);
@@ -10311,15 +10880,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
// NPC Quest / Event Icon Check [Kisuka]
#if PACKETVER >= 20090218
- {
- int i;
- for (i = 0; i < VECTOR_LENGTH(map->list[sd->bl.m].qi_data); i++) {
- struct questinfo *qi = &VECTOR_INDEX(map->list[sd->bl.m].qi_data, i);
-
- if (quest->questinfo_validate(sd, qi))
- clif->quest_show_event(sd, &qi->nd->bl, qi->icon, qi->color);
- }
- }
+ quest->questinfo_refresh(sd);
#endif
}
@@ -10350,53 +10911,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
}
@@ -10459,9 +11072,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;
@@ -10486,7 +11103,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])
@@ -10531,8 +11148,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);
}
@@ -10564,18 +11183,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)
{
@@ -10644,7 +11263,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;
@@ -10845,14 +11467,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) {
@@ -11030,8 +11654,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;
}
@@ -11041,8 +11665,8 @@ static void clif_parse_WisMessage(int fd, struct map_session_data *sd)
if (chan) {
int k;
- ARR_FIND(0, sd->channel_count, k, sd->channels[k] == chan);
- if (k < sd->channel_count || channel->join(chan, sd, "", true) == HCS_STATUS_OK) {
+ ARR_FIND(0, VECTOR_LENGTH(sd->channels), k, VECTOR_INDEX(sd->channels, k) == chan);
+ if (k < VECTOR_LENGTH(sd->channels) || channel->join(chan, sd, "", true) == HCS_STATUS_OK) {
channel->send(chan,sd,message);
} else {
clif->message(fd, msg_fd(fd,1402)); //You're not in that channel, type '@join <#channel_name>'
@@ -11055,15 +11679,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;
}
@@ -11079,7 +11699,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;
}
@@ -11110,7 +11730,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);
@@ -11210,6 +11830,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;
@@ -11222,7 +11845,7 @@ static void clif_parse_UseItem(int fd, struct map_session_data *sd)
pc->update_idle_time(sd, BCIDLE_USEITEM);
n = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0])-2;
- if (n < 0 || n >= MAX_INVENTORY)
+ if (n < 0 || n >= sd->status.inventorySize)
return;
if (!pc->useitem(sd,n))
clif->useitemack(sd,n,0,false); //Send an empty ack packet or the client gets stuck.
@@ -11235,15 +11858,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 >= MAX_INVENTORY)
+ int index = p->index - 2;
+ if (index < 0 || index >= sd->status.inventorySize)
return; //Out of bounds check.
if( sd->npc_id ) {
@@ -11254,15 +11879,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;
}
@@ -11270,7 +11895,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);
@@ -11283,6 +11908,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;
@@ -11316,7 +11944,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
@@ -11324,7 +11952,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) {
@@ -11355,7 +11983,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));
}
@@ -11367,11 +11995,18 @@ static void clif_parse_NpcBuySellSelected(int fd, struct map_session_data *sd)
/// 1 = "You do not have enough zeny."
/// 2 = "You are over your Weight Limit."
/// 3 = "Out of the maximum capacity, you have too many items."
+/// 9 = "Amounts are exceeded the possession of the item is not available for purchase."
+/// 10 = "Props open-air store sales will be traded in RODEX"
+/// 11 = "The exchange failed."
+/// 12 = "The exchange was well done."
+/// 13 = "The item is already sold and out of stock."
+/// 14 = "There is not enough goods to exchange."
static void clif_npc_buy_result(struct map_session_data *sd, unsigned char result)
{
int fd;
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0xca));
WFIFOW(fd,0) = 0xca;
@@ -11384,9 +12019,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);
@@ -11425,6 +12063,7 @@ static void clif_npc_sell_result(struct map_session_data *sd, unsigned char resu
int fd;
nullpo_retv(sd);
+ pc->update_idle_time(sd, BCIDLE_SCRIPT);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0xcb));
WFIFOW(fd,0) = 0xcb;
@@ -11443,7 +12082,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 };
@@ -11478,6 +12117,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;
@@ -11494,6 +12136,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)) {
@@ -11520,6 +12165,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
@@ -11534,6 +12182,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;
@@ -11546,6 +12197,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
@@ -11564,6 +12217,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
}
@@ -11572,6 +12228,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
}
@@ -11580,6 +12239,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);
}
@@ -11604,9 +12266,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.
@@ -11633,6 +12296,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));
}
@@ -11641,6 +12307,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);
@@ -11655,6 +12324,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);
}
@@ -11663,6 +12334,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);
}
@@ -11671,6 +12345,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);
}
@@ -11688,7 +12365,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;
@@ -11703,6 +12380,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));
@@ -11726,6 +12405,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
@@ -11918,33 +12633,24 @@ static void clif_parse_UseSkillToPos_mercenary(struct mercenary_data *md, struct
unit->skilluse_pos(&md->bl, x, y, skill_id, skill_lv);
}
-static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-/// Request to use a targeted skill.
-/// 0113 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL)
-/// 0438 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL2)
-/// There are various variants of this packet, some of them have padding between fields.
-static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
+static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id) __attribute__((nonnull (2)));
+static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id)
{
- uint16 skill_id, skill_lv;
- int tmp, target_id;
int64 tick = timer->gettick();
- skill_lv = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0]);
- skill_id = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[1]);
- target_id = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[2]);
+ if (skill_lv < 1)
+ skill_lv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
- if( skill_lv < 1 ) skill_lv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
-
- tmp = skill->get_inf(skill_id);
- if (tmp&INF_GROUND_SKILL || !tmp)
+ int tmp = skill->get_inf(skill_id);
+ if (tmp & INF_GROUND_SKILL || !tmp)
return; //Using a ground/passive skill on a target? WRONG.
- if( skill_id >= HM_SKILLBASE && skill_id < HM_SKILLBASE + MAX_HOMUNSKILL ) {
+ if (skill_id >= HM_SKILLBASE && skill_id < HM_SKILLBASE + MAX_HOMUNSKILL) {
clif->pUseSkillToId_homun(sd->hd, sd, tick, skill_id, skill_lv, target_id);
return;
}
- if( skill_id >= MC_SKILLBASE && skill_id < MC_SKILLBASE + MAX_MERCSKILL ) {
+ if (skill_id >= MC_SKILLBASE && skill_id < MC_SKILLBASE + MAX_MERCSKILL) {
clif->pUseSkillToId_mercenary(sd->md, sd, tick, skill_id, skill_lv, target_id);
return;
}
@@ -11961,51 +12667,52 @@ static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
return;
}
- if( pc_cant_act(sd)
- && skill_id != RK_REFRESH
- && !(skill_id == SR_GENTLETOUCH_CURE && (sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN))
- && (sd->state.storage_flag != STORAGE_FLAG_CLOSED && !(tmp&INF_SELF_SKILL)) // SELF skills can be used with the storage open, issue: 8027
- )
+ if (pc_cant_act(sd)
+ && skill_id != RK_REFRESH
+ && !(skill_id == SR_GENTLETOUCH_CURE && (sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN))
+ && (sd->state.storage_flag != STORAGE_FLAG_CLOSED && !(tmp&INF_SELF_SKILL)) // SELF skills can be used with the storage open, issue: 8027
+ ) {
return;
+ }
- if( pc_issit(sd) )
+ if (pc_issit(sd))
return;
- if( skill->not_ok(skill_id, sd) )
+ if (skill->not_ok(skill_id, sd))
return;
- if( sd->bl.id != target_id && tmp&INF_SELF_SKILL )
+ if (sd->bl.id != target_id && tmp & INF_SELF_SKILL)
target_id = sd->bl.id; // never trust the client
- if( target_id < 0 && -target_id == sd->bl.id ) // for disguises [Valaris]
+ if (target_id < 0 && -target_id == sd->bl.id) // for disguises [Valaris]
target_id = sd->bl.id;
- if( sd->ud.skilltimer != INVALID_TIMER ) {
- if( skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST )
+ if (sd->ud.skilltimer != INVALID_TIMER) {
+ if (skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST)
return;
- } else if( DIFF_TICK(tick, sd->ud.canact_tick) < 0 ) {
- if( sd->skillitem != skill_id ) {
+ } else if (DIFF_TICK(tick, sd->ud.canact_tick) < 0) {
+ if (sd->skillitem != skill_id) {
clif->skill_fail(sd, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0, 0);
return;
}
}
- if( sd->sc.option&OPTION_COSTUME )
+ if (sd->sc.option & OPTION_COSTUME)
return;
- if( sd->sc.data[SC_BASILICA] && (skill_id != HP_BASILICA || sd->sc.data[SC_BASILICA]->val4 != sd->bl.id) )
+ if (sd->sc.data[SC_BASILICA] && (skill_id != HP_BASILICA || sd->sc.data[SC_BASILICA]->val4 != sd->bl.id))
return; // On basilica only caster can use Basilica again to stop it.
- if( sd->menuskill_id ) {
- if( sd->menuskill_id == SA_TAMINGMONSTER ) {
+ if (sd->menuskill_id) {
+ if (sd->menuskill_id == SA_TAMINGMONSTER) {
clif_menuskill_clear(sd); //Cancel pet capture.
- } else if( sd->menuskill_id != SA_AUTOSPELL )
+ } else if (sd->menuskill_id != SA_AUTOSPELL)
return; //Can't use skills while a menu is open.
}
- if( sd->skillitem == skill_id ) {
- if( skill_lv != sd->skillitemlv )
+ if (sd->skillitem == skill_id) {
+ if (skill_lv != sd->skillitemlv)
skill_lv = sd->skillitemlv;
- if( !(tmp&INF_SELF_SKILL) )
+ if (!(tmp&INF_SELF_SKILL))
pc->delinvincibletimer(sd); // Target skills through items cancel invincibility. [Inkfish]
unit->skilluse_id(&sd->bl, target_id, skill_id, skill_lv);
return;
@@ -12014,22 +12721,56 @@ static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
sd->skillitem = sd->skillitemlv = 0;
if (skill_id >= GD_SKILLBASE && skill_id < GD_MAX) {
- if( sd->state.gmaster_flag )
+ if (sd->state.gmaster_flag)
skill_lv = guild->checkskill(sd->guild, skill_id);
else
skill_lv = 0;
} else {
tmp = pc->checkskill(sd, skill_id);
- if( skill_lv > tmp )
+ if (skill_lv > tmp)
skill_lv = tmp;
}
pc->delinvincibletimer(sd);
- if( skill_lv )
+ if (skill_lv)
unit->skilluse_id(&sd->bl, target_id, skill_id, skill_lv);
}
+static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+/// Request to use a targeted skill.
+/// 0113 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL)
+/// 0438 <skill lv>.W <skill id>.W <target id>.L (CZ_USE_SKILL2)
+/// There are various variants of this packet, some of them have padding between fields.
+static void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
+{
+ clif->useSkillToIdReal(fd,
+ sd,
+ RFIFOW(fd, packet_db[RFIFOW(fd, 0)].pos[1]),
+ RFIFOW(fd, packet_db[RFIFOW(fd, 0)].pos[0]),
+ RFIFOL(fd, packet_db[RFIFOW(fd, 0)].pos[2]));
+}
+
+static void clif_parse_startUseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_startUseSkillToId(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ const struct PACKET_CZ_START_USE_SKILL *p = RFIFOP(fd, 0);
+ clif->useSkillToIdReal(fd, sd, p->skillId, p->skillLv, p->targetId);
+#endif
+}
+
+static void clif_parse_stopUseSkillToId(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_stopUseSkillToId(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ const struct PACKET_CZ_STOP_USE_SKILL *p = RFIFOP(fd, 0);
+ if (p->skillId != GC_ROLLINGCUTTER) {
+ ShowWarning("Packet CZ_STOP_USE_SKILL usage for unknown skill: %d\n", p->skillId);
+ }
+#endif
+}
+
/*==========================================
* Client tells server he'd like to use AoE skill id 'skill_id' of level 'skill_lv' on 'x','y' location
*------------------------------------------*/
@@ -12071,7 +12812,7 @@ 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 )
@@ -12205,7 +12946,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);
@@ -12236,7 +12977,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);
@@ -12256,7 +12997,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);
@@ -12271,19 +13012,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);
}
@@ -12298,10 +13037,13 @@ 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);
- if( (select > sd->npc_menu && select != 0xff) || select == 0 ) {
+ if( (select > sd->npc_menu && select != MAX_MENU_OPTIONS) || select == 0 ) {
#ifdef SECURE_NPCTIMEOUT
if( sd->npc_idle_timer != INVALID_TIMER ) {
#endif
@@ -12323,6 +13065,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);
}
@@ -12331,13 +13076,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);
}
@@ -12346,6 +13103,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
@@ -12373,6 +13133,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);
}
@@ -12384,6 +13146,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)
@@ -12402,14 +13167,17 @@ 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;
- if (idx < 0 || idx >= MAX_INVENTORY || sd->inventory_data[idx] == NULL || sd->status.inventory[idx].nameid <= 0)
+ if (idx < 0 || idx >= sd->status.inventorySize || sd->inventory_data[idx] == NULL || sd->status.inventory[idx].nameid <= 0)
return;
- if ((n = pc->have_magnifier(sd) ) != INDEX_NOT_FOUND &&
+ 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);
}
@@ -12420,13 +13188,13 @@ 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);
return;
}
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
itemId = RFIFOL(fd, 2);
#else
itemId = RFIFOW(fd, 2);
@@ -12457,6 +13225,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;
@@ -12476,6 +13247,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);
}
@@ -12484,6 +13258,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);
}
@@ -12509,6 +13286,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) )
@@ -12551,12 +13331,12 @@ static void clif_parse_MoveToKafra(int fd, struct map_session_data *sd)
{
int item_index, item_amount;
- if (pc_istrading(sd))
+ if (pc_istrading(sd) || sd->state.prevend)
return;
item_index = RFIFOW(fd,packet_db[RFIFOW(fd,0)].pos[0])-2;
item_amount = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[1]);
- if (item_index < 0 || item_index >= MAX_INVENTORY || item_amount < 1)
+ if (item_index < 0 || item_index >= sd->status.inventorySize || item_amount < 1)
return;
if (sd->state.storage_flag == STORAGE_FLAG_NORMAL)
@@ -12572,6 +13352,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;
@@ -12588,7 +13371,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;
@@ -12604,7 +13387,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;
@@ -12691,6 +13474,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);
@@ -12711,6 +13497,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);
@@ -12736,6 +13525,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) {
@@ -12757,6 +13549,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];
@@ -12768,7 +13563,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);
@@ -12787,13 +13582,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)));
@@ -12801,7 +13606,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;
@@ -12814,12 +13622,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)));
@@ -12828,6 +13639,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;
@@ -12880,6 +13694,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)));
}
@@ -12892,6 +13709,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];
@@ -12934,6 +13754,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);
@@ -12985,7 +13808,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;
@@ -13021,11 +13847,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
@@ -13038,8 +13866,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;
@@ -13106,7 +13937,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);
@@ -13177,6 +14011,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);
@@ -13194,7 +14031,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;
@@ -13230,6 +14070,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);
@@ -13303,6 +14146,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);
@@ -13317,6 +14163,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);
@@ -13331,6 +14180,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);
@@ -13407,6 +14259,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);
@@ -13436,6 +14291,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);
@@ -13511,6 +14369,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);
}
@@ -13519,6 +14380,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;
}
@@ -13530,6 +14394,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;
@@ -13551,6 +14418,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;
@@ -13577,25 +14447,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)) {
@@ -13614,11 +14484,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;
}
@@ -13653,6 +14526,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);
@@ -13679,6 +14553,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;
@@ -13696,6 +14573,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;
@@ -13861,10 +14741,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;
+
+ unsigned int emblem_len = RFIFOW(fd, 2) - 4;
+ const uint8* emblem = RFIFOP(fd, 4);
- if( !emblem_len || !sd->state.gmaster_flag )
+ if (!emblem_len || !sd->state.gmaster_flag)
return;
if (!clif->validate_emblem(emblem, emblem_len)) {
@@ -13881,7 +14764,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)
@@ -13933,6 +14819,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))
@@ -13948,7 +14837,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);
}
@@ -13961,7 +14850,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)));
@@ -13969,16 +14858,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)));
@@ -13986,11 +14878,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));
}
/**
@@ -14023,6 +14918,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)
@@ -14063,6 +14961,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;
@@ -14078,6 +14979,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)
@@ -14107,6 +15011,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.
@@ -14130,7 +15037,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)));
@@ -14138,7 +15048,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)));
@@ -14146,10 +15059,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);
}
@@ -14189,6 +15105,9 @@ 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));
}
@@ -14197,6 +15116,9 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd) __attr
/// 09fb <Length>.W <EvolvedPetEggID>.W {<index>.W <amount>.W}*items
static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_PET_EVOLUTION *p = RP2PTR(fd);
int i = 0, idx, petIndex;
@@ -14207,10 +15129,10 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
return;
}
- ARR_FIND(0, MAX_INVENTORY, idx, sd->status.inventory[idx].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, idx, sd->status.inventory[idx].card[0] == CARD0_PET &&
sd->status.pet_id == MakeDWord(sd->status.inventory[idx].card[1], sd->status.inventory[idx].card[2]));
- if (idx == MAX_INVENTORY) {
+ if (idx == sd->status.inventorySize) {
clif->petEvolutionResult(fd, PET_EVOL_NO_PETEGG);
return;
}
@@ -14274,7 +15196,7 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
intif->create_pet(
sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_, mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
clif->petEvolutionResult(fd, PET_EVOL_SUCCESS);
@@ -14385,7 +15307,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);
@@ -14404,7 +15326,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);
}
@@ -14441,7 +15363,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);
}
@@ -14472,7 +15394,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;
@@ -14772,6 +15694,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) {
@@ -14798,6 +15723,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) */
@@ -14941,13 +15869,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);
@@ -15062,6 +15993,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;
@@ -15151,60 +16085,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
}
@@ -15254,14 +16226,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)));
@@ -15291,14 +16265,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)));
@@ -15328,14 +16304,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)));
@@ -15395,6 +16373,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;
@@ -15419,6 +16400,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);
@@ -15435,6 +16417,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));
}
@@ -15443,6 +16428,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;
@@ -15464,6 +16452,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;
@@ -15487,6 +16478,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),
@@ -15513,6 +16507,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);
@@ -15528,7 +16525,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) {
@@ -15538,18 +16544,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).
@@ -15599,6 +16602,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;
@@ -15607,7 +16613,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;
}
@@ -15751,7 +16757,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);
}
}
@@ -15761,6 +16767,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) )
@@ -15844,6 +16853,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 )
@@ -15859,6 +16871,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;
@@ -15927,6 +16942,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;
@@ -15958,6 +16976,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;
@@ -15982,6 +17003,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;
@@ -16004,6 +17028,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)
@@ -16018,6 +17045,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);
@@ -16094,7 +17124,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 )
@@ -16174,7 +17204,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;
@@ -16185,8 +17218,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 )
@@ -16195,7 +17231,7 @@ static void clif_parse_Auction_setitem(int fd, struct map_session_data *sd)
if( sd->auction.amount > 0 )
sd->auction.amount = 0;
- if( idx < 0 || idx >= MAX_INVENTORY ) {
+ if (idx < 0 || idx >= sd->status.inventorySize) {
ShowWarning("Character %s trying to set invalid item index in auctions.\n", sd->status.name);
return;
}
@@ -16264,13 +17300,16 @@ 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;
if (!battle_config.feature_auction)
return;
- Assert_retv(sd->auction.index >= 0 && sd->auction.index < MAX_INVENTORY);
+ Assert_retv(sd->auction.index >= 0 && sd->auction.index < sd->status.inventorySize);
memset(&auction, 0, sizeof(auction));
auction.price = RFIFOL(fd,2);
@@ -16359,7 +17398,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);
}
@@ -16369,6 +17411,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);
@@ -16379,8 +17424,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.
@@ -16411,9 +17459,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;
@@ -16432,7 +17483,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;
@@ -16542,6 +17596,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);
@@ -16634,6 +17691,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) ) {
@@ -16650,6 +17710,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);
@@ -16717,6 +17780,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);
@@ -16744,6 +17810,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);
@@ -16767,6 +17836,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;
@@ -16777,13 +17849,20 @@ static void clif_parse_cz_config(int fd, struct map_session_data *sd)
static void clif_parse_PartyTick(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
/// Request to change party invitation tick.
/// value:
-/// 0 = disabled
-/// 1 = enabled
+/// 0 = enabled
+/// 1 = disabled
static void clif_parse_PartyTick(int fd, struct map_session_data *sd)
{
- bool flag = RFIFOB(fd,6)?true:false;
- sd->status.allow_party = flag;
- clif->partytickack(sd, flag);
+ const struct PACKET_CZ_PARTY_CONFIG *const p = RFIFOP(fd, 0);
+ const bool newAllowParty = p->refuseInvite ? true : false;
+ if (newAllowParty != sd->status.allow_party) {
+ sd->status.allow_party = newAllowParty;
+ if ((map->save_settings & 512) != 0)
+ chrif->save(sd, 0); // send to char server
+ } else {
+ sd->status.allow_party = newAllowParty;
+ }
+ clif->partytickack(sd, sd->status.allow_party);
}
/// Questlog System [Kevin] [Inkfish]
@@ -16831,7 +17910,11 @@ static void clif_quest_send_list(struct map_session_data *sd)
real_len += sizeof(info->objectives[j]);
mob_data = mob->db(qi->objectives[j].mob);
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ info->objectives[j].huntIdent = sd->quest_log[i].quest_id;
+ info->objectives[j].huntIdent2 = j;
+ info->objectives[j].mobType = 0; // Info Needed
+#elif PACKETVER >= 20150513
info->objectives[j].huntIdent = (sd->quest_log[i].quest_id * 1000) + j;
info->objectives[j].mobType = 0; // Info Needed
#endif
@@ -16920,7 +18003,11 @@ static void clif_quest_add(struct map_session_data *sd, struct quest *qd)
monster = mob->db(qi->objectives[i].mob);
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ packet->objectives[i].huntIdent = qd->quest_id;
+ packet->objectives[i].huntIdent2 = i;
+ packet->objectives[i].mobType = 0; // Info Needed
+#elif PACKETVER >= 20150513
packet->objectives[i].huntIdent = (qd->quest_id * 1000) + i;
packet->objectives[i].mobType = 0; // Info Needed
#endif
@@ -16981,7 +18068,10 @@ static void clif_quest_update_objective(struct map_session_data *sd, struct ques
real_len += sizeof(packet->objectives[i]);
packet->objectives[i].questID = qd->quest_id;
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ packet->objectives[i].huntIdent = qd->quest_id;
+ packet->objectives[i].huntIdent2 = i;
+#elif PACKETVER >= 20150513
packet->objectives[i].huntIdent = (qd->quest_id * 1000) + i;
#else
packet->objectives[i].mob_id = qi->objectives[i].mob;
@@ -17038,6 +18128,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);
}
@@ -17257,6 +18350,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;
@@ -17556,6 +18652,7 @@ static int clif_instance(int instance_id, int type, int flag)
case 2:
// S 0x2cc <Standby Position>.W
// To announce Instancing queue creation if no maps available
+ // flag is priority, negative value mean cancel reservation
WBUFW(buf,0) = 0x02CC;
WBUFW(buf,2) = flag;
clif->send(buf,packet_len(0x02CC),&sd->bl,target);
@@ -17724,6 +18821,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
@@ -17738,8 +18838,8 @@ static void clif_parse_ItemListWindowSelected(int fd, struct map_session_data *s
return; // Canceled by player.
}
- if (n > MAX_INVENTORY)
- n = MAX_INVENTORY; // It should be impossible to have more than that.
+ if (n > sd->status.inventorySize)
+ n = sd->status.inventorySize; // It should be impossible to have more than that.
if (sd->menuskill_id != SO_EL_ANALYSIS && sd->menuskill_id != GN_CHANGEMATERIAL) {
clif_menuskill_clear(sd);
@@ -17853,6 +18953,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];
@@ -18016,6 +19119,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]);
@@ -18060,6 +19166,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;
@@ -18198,6 +19307,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;
@@ -18326,6 +19438,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
@@ -18345,6 +19458,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);
}
@@ -18383,6 +19499,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);
}
@@ -18413,7 +19532,7 @@ static void clif_parse_debug(int fd, struct map_session_data *sd)
cmd = RFIFOW(fd,0);
if( sd ) {
- packet_len = packet_db[cmd].len;
+ packet_len = packets->db[cmd];
if( packet_len == -1 ) {// variable length
packet_len = RFIFOW(fd,2); // clif_parse ensures, that this amount of data is already received
@@ -18432,27 +19551,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;
-
- 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 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;
+
+ 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;
}
@@ -18483,33 +19605,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 < MAX_INVENTORY; 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);
}
@@ -18524,17 +19646,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 < MAX_INVENTORY; i ++ ) {
- if( itemdb_is_element(sd->status.inventory[i].nameid) ) {
- WFIFOW(fd, c * 2 + 4) = sd->status.inventory[i].nameid;
+ for (i = 0, c = 0; i < sd->status.inventorySize; i ++) {
+ if (itemdb_is_element(sd->status.inventory[i].nameid)) {
+ p->items[c].itemId = sd->status.inventory[i].nameid;
c ++;
}
}
@@ -18543,8 +19666,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;
@@ -18561,25 +19686,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 < MAX_INVENTORY; i ++ ) {
+ for (i = 0, c = 0; i < sd->status.inventorySize; i ++) {
if( itemdb_is_poison(sd->status.inventory[i].nameid) ) {
- WFIFOW(fd, c * 2 + 4) = sd->status.inventory[i].nameid;
+ 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;
@@ -18657,11 +19785,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;
@@ -18704,13 +19834,12 @@ 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;
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return;
if ( sd->status.inventory[index].favorite && RFIFOB(fd, 4) == 1 )
@@ -18729,7 +19858,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);
@@ -18837,36 +19967,86 @@ static void clif_monster_hp_bar(struct mob_data *md, struct map_session_data *sd
}
/* [Ind/Hercules] placeholder for unsupported incoming packets (avoids server disconnecting client) */
-static void __attribute__ ((unused)) clif_parse_dull(int fd, struct map_session_data *sd)
+static void clif_parse_dull(int fd, struct map_session_data *sd)
{
+ const int cmd = clif->cmd;
+ Assert_retv(cmd <= MAX_PACKET_DB && cmd >= MIN_PACKET_DB);
+
+ int packet_len = packets->db[cmd];
+ if (packet_len == -1) { // variable-length packet
+ packet_len = RFIFOW(fd, 2);
+ }
+ if (sd) {
+ ShowWarning("Unhandled packet 0x%04X (length %d), %s session #%d, %d/%d (AID/CID)\n", (uint32)cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id);
+ } else {
+ ShowWarning("Unhandled packet 0x%04X (length %d), session #%d\n", (uint32)cmd, packet_len, fd);
+ }
return;
}
-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;
+ }
+
+ 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_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;
}
- 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);
+#if PACKETVER >= 20191224
+ const struct PACKET_CZ_SE_CASHSHOP_OPEN2 *p = RFIFOP(fd, 0);
+ clif->cashShopOpen(fd, sd, p->tab);
+#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)
+static void clif_cashShopOpen(int fd, struct map_session_data *sd, int tab)
+{
+#if PACKETVER_MAIN_NUM >= 20101123 || PACKETVER_RE_NUM >= 20120328 || PACKETVER_ZERO_NUM >= 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_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);
}
@@ -18901,9 +20081,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;
@@ -18958,7 +20141,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;
@@ -18998,24 +20181,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;
@@ -19084,15 +20278,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];
@@ -19113,7 +20310,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
}
@@ -19170,6 +20367,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 */
@@ -19210,6 +20410,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) {
@@ -19222,6 +20425,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 )
@@ -19233,6 +20439,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;
@@ -19297,7 +20506,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;
@@ -19305,7 +20518,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! */
@@ -19323,12 +20536,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~! */
@@ -19388,6 +20602,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;
@@ -19404,6 +20621,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;
@@ -19421,6 +20641,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;
@@ -19487,7 +20710,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);
}
@@ -19552,7 +20775,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;
@@ -19623,31 +20846,31 @@ static void clif_parse_NPCShopClosed(int fd, struct map_session_data *sd)
/* NPC Market (by Ind after an extensive debugging of the packet, only possible thanks to Yommy <3) */
static void clif_npc_market_open(struct map_session_data *sd, struct npc_data *nd)
{
-#if PACKETVER >= 20131223
- struct npc_item_list *shop;
- unsigned short shop_size, i, c;
-
+#if PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20131106 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
nullpo_retv(nd);
- shop = nd->u.scr.shop->item;
- shop_size = nd->u.scr.shop->items;
- npcmarket_open.PacketType = npcmarketopenType;
+ struct npc_item_list *shop = nd->u.scr.shop->item;
+ const int shop_size = nd->u.scr.shop->items;
+
+ int c = 0;
+ int maxCount = (sizeof(packet_buf) - sizeof(struct PACKET_ZC_NPC_MARKET_OPEN)) / sizeof(struct PACKET_ZC_NPC_MARKET_OPEN_sub);
+ struct PACKET_ZC_NPC_MARKET_OPEN *packet = (struct PACKET_ZC_NPC_MARKET_OPEN*)&packet_buf[0];
+ packet->packetType = HEADER_ZC_NPC_MARKET_OPEN;
- for(i = 0, c = 0; i < shop_size; i++) {
+ for (int i = 0; i < shop_size && c < maxCount; i++) {
struct item_data *id = NULL;
if (shop[i].nameid && (id = itemdb->exists(shop[i].nameid)) != NULL) {
- npcmarket_open.list[c].nameid = shop[i].nameid;
- npcmarket_open.list[c].price = shop[i].value;
- npcmarket_open.list[c].qty = shop[i].qty;
- npcmarket_open.list[c].type = itemtype(id->type);
- npcmarket_open.list[c].view = ( id->view_id > 0 ) ? id->view_id : id->nameid;
+ packet->list[c].nameid = shop[i].nameid;
+ packet->list[c].price = shop[i].value;
+ packet->list[c].qty = shop[i].qty;
+ packet->list[c].type = itemtype(id->type);
+ packet->list[c].weight = id->weight * 10;
c++;
}
}
- npcmarket_open.PacketLength = 4 + ( sizeof(npcmarket_open.list[0]) * c );
-
- clif->send(&npcmarket_open,npcmarket_open.PacketLength,&sd->bl,SELF);
+ packet->packetLength = sizeof(struct PACKET_ZC_NPC_MARKET_OPEN) + sizeof(struct PACKET_ZC_NPC_MARKET_OPEN_sub) * c;
+ clif->send(packet, packet->packetLength, &sd->bl, SELF);
#endif
}
@@ -19658,40 +20881,49 @@ static void clif_parse_NPCMarketClosed(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_parse_NPCBarterClosed(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_NPCBarterClosed(int fd, struct map_session_data *sd)
{
-#if PACKETVER >= 20131223
- unsigned short c = 0;
+ sd->npc_shopid = 0;
+}
+static void clif_npc_market_purchase_ack(struct map_session_data *sd, const struct itemlist *item_list, enum market_buy_result response)
+{
+#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
}
@@ -19699,17 +20931,19 @@ 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;
- Assert_retv(count >= 0 && count <= MAX_INVENTORY);
+ Assert_retv(count >= 0 && count <= sd->status.inventorySize);
VECTOR_INIT(item_list);
VECTOR_ENSURE(item_list, count, 1);
- for (i = 0; i < count; i++) {
+ for (int i = 0; i < count; i++) {
struct itemlist_entry entry = { 0 };
entry.id = p->list[i].ITID;
@@ -19718,7 +20952,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);
@@ -19743,6 +20977,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 ) {
@@ -19751,7 +20988,7 @@ static void clif_parse_RouletteOpen(int fd, struct map_session_data *sd)
}
p.PacketType = 0xa1a;
- p.Result = 0;
+ p.Result = OPEN_ROULETTE_SUCCESS;
p.Serial = 0;
p.Step = sd->roulette.stage - 1;
p.Idx = (char)sd->roulette.prizeIdx;
@@ -19768,6 +21005,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;
@@ -19813,6 +21053,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;
@@ -19872,6 +21115,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 ) {
@@ -19921,7 +21166,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++ ) {
@@ -20010,7 +21256,7 @@ static bool clif_parse_roulette_db(void)
/**
*
**/
-static void clif_roulette_generate_ack(struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID)
+static void clif_roulette_generate_ack(struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID)
{
#if PACKETVER >= 20140612
struct packet_roulette_generate_ack p;
@@ -20029,20 +21275,34 @@ static void clif_roulette_generate_ack(struct map_session_data *sd, unsigned cha
#endif
}
+static void clif_roulette_close(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20141008 || PACKETVER_RE_NUM >= 20140903 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ struct PACKET_ZC_ACK_CLOSE_ROULETTE p;
+ p.packetType = HEADER_ZC_ACK_CLOSE_ROULETTE;
+ p.result = 0; // close window
+
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
/**
* Stackable items merger
*/
static void clif_openmergeitem(int fd, struct map_session_data *sd)
{
-#if PACKETVER > 20120228
- int i = 0, n = 0, j = 0;
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ int n = 0, j = 0;
struct merge_item merge_items[MAX_INVENTORY];
struct merge_item *merge_items_[MAX_INVENTORY] = {0};
- nullpo_retv(sd);
- memset(&merge_items,'\0',sizeof(merge_items));
+ memset(&merge_items, '\0', sizeof(merge_items));
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
struct item *item_data = &sd->status.inventory[i];
if (item_data->nameid == 0 || !itemdb->isstackable(item_data->nameid) || item_data->bound != IBT_NONE)
@@ -20053,17 +21313,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++;
@@ -20071,12 +21332,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
}
@@ -20092,35 +21355,42 @@ static int clif_comparemergeitem(const void *a, const void *b)
return a_->nameid > b_->nameid ? -1 : 1;
}
+static void clif_mergeitems(int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason)
+{
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_MERGE_ITEM));
+ struct PACKET_ZC_ACK_MERGE_ITEM *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_MERGE_ITEM;
+ p->index = index + 2;
+ p->amount = amount;
+ p->reason = reason;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_MERGE_ITEM));
+#endif
+}
+
static void clif_ackmergeitems(int fd, struct map_session_data *sd)
{
-#if PACKETVER > 20120228
- int i = 0, n = 0, length = 0, count = 0;
+#if PACKETVER_MAIN_NUM >= 20120314 || PACKETVER_RE_NUM >= 20120221 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+
+ int i = 0, n = 0, count = 0;
int nameid = 0;
int16 indexes[MAX_INVENTORY] = {0}, amounts[MAX_INVENTORY] = {0};
- struct item item_data;
- nullpo_retv(sd);
- length = (RFIFOW(fd,2) - 4)/2;
+ int length = (RFIFOW(fd, 2) - 4) / 2;
- if (length >= MAX_INVENTORY || length < 2) {
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = 0;
- WFIFOW(fd,4) = 0;
- WFIFOB(fd,6) = MERGEITEM_FAILD;
- WFIFOSET(fd,7);
+ if (length >= sd->status.inventorySize || length < 2) {
+ clif->mergeitems(fd, sd, 0, 0, MERGEITEM_FAILD);
return;
}
for (i = 0, n = 0; i < length; i++) {
- int16 idx = RFIFOW(fd,i*2+4) - 2;
- struct item *it = NULL;
+ int16 idx = RFIFOW(fd, i * 2 + 4) - 2;
- if (idx < 0 || idx >= MAX_INVENTORY)
+ if (idx < 0 || idx >= sd->status.inventorySize)
continue;
- it = &sd->status.inventory[idx];
+ struct item *it = &sd->status.inventory[idx];
if (it->nameid == 0 || !itemdb->isstackable(it->nameid) || it->bound != IBT_NONE)
continue;
@@ -20138,43 +21408,29 @@ static void clif_ackmergeitems(int fd, struct map_session_data *sd)
}
if (n < 2 || count == 0) {
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = 0;
- WFIFOW(fd,4) = 0;
- WFIFOB(fd,6) = MERGEITEM_FAILD;
- WFIFOSET(fd,7);
+ clif->mergeitems(fd, sd, 0, 0, MERGEITEM_FAILD);
return;
}
if (count > MAX_AMOUNT) {
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = 0;
- WFIFOW(fd,4) = 0;
- WFIFOB(fd,6) = MERGEITEM_MAXCOUNTFAILD;
- WFIFOSET(fd,7);
+ clif->mergeitems(fd, sd, 0, 0, MERGEITEM_MAXCOUNTFAILD);
return;
}
for (i = 0; i < n; i++)
- pc->delitem(sd,indexes[i],amounts[i],0,DELITEM_NORMAL,LOG_TYPE_NPC);
+ pc->delitem(sd, indexes[i], amounts[i], 0, DELITEM_NORMAL, LOG_TYPE_NPC);
- memset(&item_data,'\0',sizeof(item_data));
+ struct item item_data;
+ memset(&item_data, '\0', sizeof(item_data));
item_data.nameid = nameid;
item_data.identify = 1;
item_data.unique_id = itemdb->unique_id(sd);
- pc->additem(sd,&item_data,count,LOG_TYPE_NPC);
+ pc->additem(sd, &item_data, count, LOG_TYPE_NPC);
- ARR_FIND(0,MAX_INVENTORY,i,item_data.unique_id == sd->status.inventory[i].unique_id);
+ ARR_FIND(0, sd->status.inventorySize, i, item_data.unique_id == sd->status.inventory[i].unique_id);
- WFIFOHEAD(fd,7);
- WFIFOW(fd,0) = 0x96f;
- WFIFOW(fd,2) = i+2;
- WFIFOW(fd,4) = count;
- WFIFOB(fd,6) = MERGEITEM_SUCCESS;
- WFIFOSET(fd,7);
+ clif->mergeitems(fd, sd, i, count, MERGEITEM_SUCCESS);
#endif
}
@@ -20286,21 +21542,21 @@ static const char *clif_get_bl_name(const struct block_list *bl)
*/
static void clif_clan_basicinfo(struct map_session_data *sd)
{
-#if PACKETVER >= 20120716
+#if PACKETVER_MAIN_NUM >= 20130626 || PACKETVER_RE_NUM >= 20130605 || defined(PACKETVER_ZERO)
int len, i, fd;
struct clan *c, *ally, *antagonist;
struct PACKET_ZC_CLANINFO *packet = NULL;
-
nullpo_retv(sd);
nullpo_retv(c = sd->clan);
len = sizeof(struct PACKET_ZC_CLANINFO);
fd = sd->fd;
- WFIFOHEAD(fd, len);
+ const int maxEntries = 100; // max entries with clan names
+ WFIFOHEAD(fd, len + maxEntries * 24);
packet = WFIFOP(fd, 0);
- packet->PacketType = clanBasicInfo;
+ packet->PacketType = HEADER_ZC_CLANINFO;
packet->ClanID = c->clan_id;
safestrncpy(packet->ClanName, c->name, NAME_LENGTH);
@@ -20311,24 +21567,27 @@ static void clif_clan_basicinfo(struct map_session_data *sd)
packet->AllyCount = VECTOR_LENGTH(c->allies);
packet->AntagonistCount = VECTOR_LENGTH(c->antagonists);
+ int cnt = 0;
// All allies and antagonists are assumed as valid entries
// since it only gets inside the vector after the validation
// on clan->config_read
- for (i = 0; i < VECTOR_LENGTH(c->allies); i++) {
+ for (i = 0; i < VECTOR_LENGTH(c->allies) && cnt < maxEntries; i++) {
struct clan_relationship *al = &VECTOR_INDEX(c->allies, i);
if ((ally = clan->search(al->clan_id)) != NULL) {
safestrncpy(WFIFOP(fd, len), ally->name, NAME_LENGTH);
len += NAME_LENGTH;
+ cnt ++;
}
}
- for (i = 0; i < VECTOR_LENGTH(c->antagonists); i++) {
+ for (i = 0; i < VECTOR_LENGTH(c->antagonists) && cnt < maxEntries; i++) {
struct clan_relationship *an = &VECTOR_INDEX(c->antagonists, i);
if ((antagonist = clan->search(an->clan_id)) != NULL) {
safestrncpy(WFIFOP(fd, len), antagonist->name, NAME_LENGTH);
len += NAME_LENGTH;
+ cnt ++;
}
}
@@ -20459,7 +21718,7 @@ static unsigned short clif_parse_cmd_optional(int fd, struct map_session_data *s
unsigned short cmd = RFIFOW(fd,0);
// filter out invalid / unsupported packets
- if( cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packet_db[cmd].len == 0 ) {
+ if( cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packets->db[cmd] == 0 ) {
if( sd )
sd->parse_cmd_func = clif_parse_cmd_decrypt;
return clif_parse_cmd_decrypt(fd, sd);
@@ -20596,6 +21855,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;
@@ -20624,7 +21886,7 @@ static void clif_achievement_reward_ack(int fd, struct map_session_data *sd, con
nullpo_retv(ad);
p.packet_id = achievementRewardAckType;
- p.received = 1;
+ p.failed = 0;
p.ach_id = ad->id;
clif->send(&p, packet_len(achievementRewardAckType), &sd->bl, SELF);
@@ -20638,6 +21900,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
@@ -20672,8 +21937,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
@@ -20685,6 +21950,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;
@@ -20710,6 +21978,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;
@@ -20723,7 +21994,7 @@ static void clif_rodex_add_item_result(struct map_session_data *sd, int16 idx, i
int fd, j;
nullpo_retv(sd);
- if (idx < 0 || idx >= MAX_INVENTORY)
+ if (idx < 0 || idx >= sd->status.inventorySize)
return;
fd = sd->fd;
@@ -20763,6 +22034,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;
@@ -20776,7 +22050,7 @@ static void clif_rodex_remove_item_result(struct map_session_data *sd, int16 idx
int fd;
nullpo_retv(sd);
- Assert_retv(idx >= 0 && idx < MAX_INVENTORY);
+ Assert_retv(idx >= 0 && idx < sd->status.inventorySize);
fd = sd->fd;
@@ -20796,7 +22070,7 @@ static void clif_parse_rodex_checkname(int fd, struct map_session_data *sd)
{
const struct PACKET_CZ_CHECKNAME *rPacket = RFIFOP(fd, 0);
int char_id = 0, base_level = 0;
- short class = 0;
+ int class = 0;
char name[NAME_LENGTH];
safestrncpy(name, rPacket->Name, NAME_LENGTH);
@@ -20804,7 +22078,7 @@ static void clif_parse_rodex_checkname(int fd, struct map_session_data *sd)
rodex->check_player(sd, name, &base_level, &char_id, &class);
}
-static void clif_rodex_checkname_result(struct map_session_data *sd, int char_id, short class_, int base_level, const char *name)
+static void clif_rodex_checkname_result(struct map_session_data *sd, int char_id, int class_, int base_level, const char *name)
{
#if PACKETVER >= 20140521
struct PACKET_ZC_CHECKNAME *sPacket;
@@ -20835,6 +22109,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;
@@ -21065,6 +22342,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);
@@ -21073,6 +22353,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);
@@ -21142,6 +22425,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);
@@ -21169,6 +22455,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);
@@ -21197,6 +22486,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);
@@ -21236,6 +22528,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);
@@ -21247,6 +22542,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);
@@ -21259,6 +22557,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);
}
@@ -21266,6 +22567,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);
}
@@ -21299,53 +22603,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);
+
+ p->packetType = HEADER_ZC_HAT_EFFECT;
+ p->packetLength = len;
+ p->aid = bl->id;
+ p->status = enable;
+ p->effects[0] = effectId;
- clif_send(buf, 13, bl, AREA);
+ clif->send(p, len, bl, AREA);
+ aFree(p);
#endif
}
@@ -21353,7 +22651,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))
@@ -21430,8 +22729,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);
}
@@ -21454,6 +22755,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)) {
@@ -21490,6 +22803,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;
@@ -21540,6 +22855,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)
@@ -21559,7 +22885,10 @@ static void clif_ui_action(struct map_session_data *sd, int32 UIType, int32 data
static void clif_parse_private_airship_request(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_private_airship_request(int fd, struct map_session_data *sd)
{
-#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620
+#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620 || defined(PACKETVER_ZERO)
+ 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);
@@ -21579,7 +22908,7 @@ static void clif_parse_private_airship_request(int fd, struct map_session_data *
static void clif_private_airship_response(struct map_session_data *sd, uint32 flag)
{
-#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620
+#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620 || defined(PACKETVER_ZERO)
struct PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE p;
nullpo_retv(sd);
@@ -21598,162 +22927,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;
}
@@ -21761,46 +22954,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)
@@ -21836,6 +23019,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
@@ -21860,6 +23046,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) {
@@ -21868,6 +23057,497 @@ static void clif_parse_memorial_dungeon_command(int fd, struct map_session_data
}
}
+static void clif_camera_showWindow(struct map_session_data *sd)
+{
+#if PACKETVER >= 20160525
+ nullpo_retv(sd);
+ struct PACKET_ZC_CAMERA_INFO p;
+ p.packetType = HEADER_ZC_CAMERA_INFO;
+ p.action = 1;
+ p.range = 0;
+ p.rotation = 0;
+ p.latitude = 0;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
+static void clif_camera_change(struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target)
+{
+#if PACKETVER >= 20160525
+ nullpo_retv(sd);
+ struct PACKET_ZC_CAMERA_INFO p;
+ p.packetType = HEADER_ZC_CAMERA_INFO;
+ p.action = 0;
+ p.range = range;
+ p.rotation = rotation;
+ p.latitude = latitude;
+ clif->send(&p, sizeof(p), &sd->bl, target);
+#endif
+}
+
+static void clif_parse_cameraInfo(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cameraInfo(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20160525
+ 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) {
+ sprintf(command, "%ccamerainfo", atcommand->at_symbol);
+ } else {
+ sprintf(command, "%ccamerainfo %15f %15f %15f", atcommand->at_symbol, p->range, p->rotation, p->latitude);
+ }
+ atcommand->exec(fd, sd, command, true);
+#endif
+}
+
+// show item preview in already opened preview window
+static void clif_item_preview(struct map_session_data *sd, int n)
+{
+#if PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+ nullpo_retv(sd);
+ Assert_retv(n >= 0 && n < sd->status.inventorySize);
+
+ struct PACKET_ZC_ITEM_PREVIEW p;
+ p.packetType = HEADER_ZC_ITEM_PREVIEW;
+ p.index = n + 2;
+#if PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+ p.isDamaged = (sd->status.inventory[n].attribute & ATTR_BROKEN) != 0 ? 1 : 0;
+#endif
+ p.refiningLevel = sd->status.inventory[n].refine;
+ clif->addcards(&p.slot, &sd->status.inventory[n]);
+ clif->add_item_options(&p.option_data[0], &sd->status.inventory[n]);
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
+// insert cardId into equipped item in pos equipment slot into slot cardSlot.
+static bool clif_enchant_equipment(struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId)
+{
+#if PACKETVER_MAIN_NUM >= 20160831 || PACKETVER_RE_NUM >= 20151118 || defined(PACKETVER_ZERO)
+ nullpo_ret(sd);
+ Assert_ret(cardSlot >= 0 && cardSlot < MAX_SLOTS);
+ struct PACKET_ZC_ENCHANT_EQUIPMENT p;
+ p.packetType = HEADER_ZC_ENCHANT_EQUIPMENT;
+ p.wearState = pos;
+ p.cardSlot = cardSlot;
+ p.itemId = cardId;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+ return true;
+#else
+ return false;
+#endif
+}
+
+static void clif_npc_barter_open(struct map_session_data *sd, struct npc_data *nd)
+{
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+ nullpo_retv(sd);
+ nullpo_retv(nd);
+ struct npc_item_list *shop = nd->u.scr.shop->item;
+ const int shop_size = nd->u.scr.shop->items;
+
+ int c = 0;
+ int maxCount = (sizeof(packet_buf) - sizeof(struct PACKET_ZC_NPC_BARTER_OPEN)) / sizeof(struct PACKET_ZC_NPC_BARTER_OPEN_sub);
+ struct PACKET_ZC_NPC_BARTER_OPEN *packet = (struct PACKET_ZC_NPC_BARTER_OPEN*)&packet_buf[0];
+ packet->packetType = HEADER_ZC_NPC_BARTER_OPEN;
+
+ for (int i = 0; i < shop_size && c < maxCount; i++) {
+ if (shop[i].nameid) {
+ struct item_data *id = itemdb->exists(shop[i].nameid);
+ if (id == NULL)
+ continue;
+
+ packet->list[c].nameid = shop[i].nameid;
+ packet->list[c].type = itemtype(id->type);
+ packet->list[c].amount = shop[i].qty;
+ packet->list[c].currencyNameid = shop[i].value;
+ packet->list[c].currencyAmount = shop[i].value2;
+ packet->list[c].weight = id->weight * 10;
+ packet->list[c].index = i;
+ c++;
+ }
+ }
+
+ packet->packetLength = sizeof(struct PACKET_ZC_NPC_BARTER_OPEN) + sizeof(struct PACKET_ZC_NPC_BARTER_OPEN_sub) * c;
+ clif->send(packet, packet->packetLength, &sd->bl, SELF);
+#endif
+}
+
+static void clif_parse_NPCBarterPurchase(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_NPCBarterPurchase(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+ 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;
+
+ Assert_retv(count >= 0 && count <= sd->status.inventorySize);
+
+ VECTOR_INIT(item_list);
+ VECTOR_ENSURE(item_list, count, 1);
+
+ for (int i = 0; i < count; i++) {
+ struct barter_itemlist_entry entry = { 0 };
+ entry.addId = p->list[i].itemId;
+ entry.addAmount = p->list[i].amount;
+ entry.removeIndex = p->list[i].invIndex - 2;
+ entry.shopIndex = p->list[i].shopIndex;
+
+ VECTOR_PUSH(item_list, entry);
+ }
+
+ int response = npc->barter_buylist(sd, &item_list);
+ clif->npc_buy_result(sd, response);
+
+ VECTOR_CLEAR(item_list);
+#endif
+}
+
+static void clif_parse_clientVersion(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_clientVersion(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_RE_NUM >= 20090408 || PACKETVER_SAK_NUM >= 20090408 || defined(PACKETVER_ZERO)
+ // TODO: show or store client version
+#endif
+}
+
+static void clif_parse_ping(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_ping(int fd, struct map_session_data *sd)
+{
+ // do nothing, any packet update client tick
+}
+
+static void clif_ping(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 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
*------------------------------------------*/
@@ -21919,6 +23599,7 @@ static int clif_parse(int fd)
parse_cmd_func = clif->parse_cmd;
cmd = parse_cmd_func(fd,sd);
+ clif->cmd = cmd;
if (VECTOR_LENGTH(HPM->packets[hpClif_Parse]) > 0) {
int result = HPM->parse_packets(fd,cmd,hpClif_Parse);
@@ -21929,7 +23610,7 @@ static int clif_parse(int fd)
}
// filter out invalid / unsupported packets
- if (cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packet_db[cmd].len == 0) {
+ if (cmd > MAX_PACKET_DB || cmd < MIN_PACKET_DB || packets->db[cmd] == 0) {
ShowWarning("clif_parse: Received unsupported packet (packet 0x%04x (0x%04x), %"PRIuS" bytes received), disconnecting session #%d.\n",
(unsigned int)cmd, RFIFOW(fd,0), RFIFOREST(fd), fd);
#ifdef DUMP_INVALID_PACKET
@@ -21940,7 +23621,7 @@ static int clif_parse(int fd)
}
// determine real packet length
- if ( ( packet_len = packet_db[cmd].len ) == -1) { // variable-length packet
+ if ((packet_len = packets->db[cmd]) == -1) { // variable-length packet
if (RFIFOREST(fd) < 4)
return 0;
@@ -21982,8 +23663,8 @@ static int clif_parse(int fd)
else
packet_db[cmd].func(fd, sd);
}
-#ifdef DUMP_UNKNOWN_PACKET
else {
+#ifdef DUMP_UNKNOWN_PACKET
const char* packet_txt = "save/packet.txt";
FILE* fp;
@@ -22009,8 +23690,10 @@ static int clif_parse(int fd)
ShowDump(RFIFOP(fd,0), packet_len);
}
- }
+#else
+ clif->pDull(fd, sd);
#endif
+ }
RFIFOSKIP(fd, packet_len);
@@ -22027,12 +23710,12 @@ static int clif_parse(int fd)
*/
static const struct s_packet_db *clif_packet(int packet_id)
{
- if (packet_id < MIN_PACKET_DB || packet_id > MAX_PACKET_DB || packet_db[packet_id].len == 0)
+ if (packet_id < MIN_PACKET_DB || packet_id > MAX_PACKET_DB || packets->db[packet_id] == 0)
return NULL;
return &packet_db[packet_id];
}
-static void __attribute__ ((unused)) packetdb_addpacket(short cmd, int len, ...)
+static void __attribute__ ((unused)) packetdb_addpacket(int cmd, ...)
{
va_list va;
int i;
@@ -22049,21 +23732,19 @@ static void __attribute__ ((unused)) packetdb_addpacket(short cmd, int len, ...)
return;
}
- packet_db[cmd].len = len;
-
- va_start(va,len);
+ va_start(va, cmd);
pos = va_arg(va, int);
va_end(va);
- if( pos == 0xFFFF ) { /* nothing more to do */
+ if (pos == 0xFFFF) { /* nothing more to do */
return;
}
- va_start(va,len);
+ va_start(va, cmd);
- func = va_arg(va,pFunc);
+ func = va_arg(va, pFunc);
packet_db[cmd].func = func;
@@ -22082,14 +23763,14 @@ static void packetdb_loaddb(void)
{
memset(packet_db,0,sizeof(packet_db));
-#define packet(id, size, ...) packetdb_addpacket((id), (size), ##__VA_ARGS__, 0xFFFF)
-#include "packets.h" /* load structure data */
+#define packet(id, ...) packetdb_addpacket((id), ##__VA_ARGS__, 0xFFFF)
+#include "map/packets.h" /* load structure data */
#ifdef PACKETVER_ZERO
-#include "packets_shuffle_zero.h"
+#include "map/packets_shuffle_zero.h"
#elif defined(PACKETVER_RE)
-#include "packets_shuffle_re.h"
+#include "map/packets_shuffle_re.h"
#else // PACKETVER_ZERO
-#include "packets_shuffle_main.h"
+#include "map/packets_shuffle_main.h"
#endif // PACKETVER_ZERO
#undef packet
#define packetKeys(a,b,c) do { clif->cryptKey[0] = (a); clif->cryptKey[1] = (b); clif->cryptKey[2] = (c); } while(0)
@@ -22097,9 +23778,9 @@ static void packetdb_loaddb(void)
packetKeys(OBFUSCATIONKEY1,OBFUSCATIONKEY2,OBFUSCATIONKEY3);
#else // defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
#ifdef PACKETVER_ZERO
-#include "packets_keys_zero.h"
+#include "map/packets_keys_zero.h"
#else // PACKETVER_ZERO
-#include "packets_keys_main.h"
+#include "map/packets_keys_main.h"
#endif // PACKETVER_ZERO
#endif // defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
#undef packetKeys
@@ -22108,9 +23789,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:
@@ -22136,6 +23817,7 @@ static int do_init_clif(bool minimal)
packetdb_loaddb();
sockt->set_defaultparse(clif->parse);
+ sockt->validate = true;
if (sockt->make_listen_bind(clif->bind_ip,clif->map_port) == -1) {
ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",clif->map_port);
exit(EXIT_FAILURE);
@@ -22147,6 +23829,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;
}
@@ -22182,6 +23870,7 @@ void clif_defaults(void)
clif->map_port = 5121;
clif->ally_only = false;
clif->delayed_damage_ers = NULL;
+ clif->cmd = -1;
/* core */
clif->init = do_init_clif;
clif->final = do_final_clif;
@@ -22302,9 +23991,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;
@@ -22317,6 +24009,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;
@@ -22324,6 +24017,12 @@ void clif_defaults(void)
clif->equipItems = clif_equipItems;
clif->cartList = clif_cartList;
clif->cartItems = clif_cartItems;
+ clif->inventoryExpansionInfo = clif_inventoryExpansionInfo;
+ clif->inventoryExpandAck = clif_inventoryExpandAck;
+ clif->inventoryExpandResult = clif_inventoryExpandResult;
+ clif->pInventoryExpansion = clif_parse_inventoryExpansion;
+ clif->pInventoryExpansionConfirmed = clif_parse_inventoryExpansionConfirmed;
+ clif->pInventoryExpansionRejected = clif_parse_inventoryExpansionRejected;
clif->favorite_item = clif_favorite_item;
clif->clearcart = clif_clearcart;
clif->item_identify_list = clif_item_identify_list;
@@ -22337,7 +24036,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;
@@ -22416,6 +24127,9 @@ 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;
clif->spiritcharm = clif_charm;
clif->charm_single = clif_charm_single;
@@ -22433,6 +24147,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;
@@ -22443,6 +24158,7 @@ void clif_defaults(void)
clif->broadcast2 = clif_broadcast2;
clif->messagecolor_self = clif_messagecolor_self;
clif->messagecolor = clif_messagecolor;
+ clif->serviceMessageColor = clif_serviceMessageColor;
clif->disp_overhead = clif_disp_overhead;
clif->notify_playerchat = clif_notify_playerchat;
clif->msgtable_skill = clif_msgtable_skill;
@@ -22494,6 +24210,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;
@@ -22517,6 +24234,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;
@@ -22694,11 +24413,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;
/* */
@@ -22720,7 +24441,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;
@@ -22767,6 +24489,9 @@ void clif_defaults(void)
clif->pUseSkillToId = clif_parse_UseSkillToId;
clif->pUseSkillToId_homun = clif_parse_UseSkillToId_homun;
clif->pUseSkillToId_mercenary = clif_parse_UseSkillToId_mercenary;
+ clif->pStartUseSkillToId = clif_parse_startUseSkillToId;
+ clif->pStopUseSkillToId = clif_parse_stopUseSkillToId;
+ clif->useSkillToIdReal = clif_useSkillToIdReal;
clif->pUseSkillToPos = clif_parse_UseSkillToPos;
clif->pUseSkillToPosSub = clif_parse_UseSkillToPosSub;
clif->pUseSkillToPos_homun = clif_parse_UseSkillToPos_homun;
@@ -22926,11 +24651,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;
@@ -22959,7 +24688,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] */
@@ -23015,20 +24745,47 @@ void clif_defaults(void)
clif->pPrivateAirshipRequest = clif_parse_private_airship_request;
clif->PrivateAirshipResponse = clif_private_airship_response;
- clif->stylist_vector_init = clif_stylist_vector_init;
- clif->stylist_vector_clear = clif_stylist_vector_clear;
- clif->stylist_read_db_libconfig = clif_stylist_read_db_libconfig;
- clif->stylist_read_db_libconfig_sub = clif_stylist_read_db_libconfig_sub;
- clif->style_change_validate_requirements = clif_style_change_validate_requirements;
- clif->stylist_send_rodexitem = clif_stylist_send_rodexitem;
clif->pReqStyleChange = clif_parse_cz_req_style_change;
clif->pReqStyleChange2 = clif_parse_cz_req_style_change2;
- clif->cz_req_style_change_sub = clif_cz_req_style_change_sub;
+ clif->pStyleClose = clif_parse_cz_style_close;
clif->style_change_response = clif_style_change_response;
+ clif->camera_showWindow = clif_camera_showWindow;
+ clif->camera_change = clif_camera_change;
+ clif->pCameraInfo = clif_parse_cameraInfo;
+ clif->item_preview = clif_item_preview;
+ clif->enchant_equipment = clif_enchant_equipment;
+
// -- Pet Evolution
clif->pPetEvolution = clif_parse_pet_evolution;
clif->petEvolutionResult = clif_pet_evolution_result;
clif->pMemorialDungeonCommand = clif_parse_memorial_dungeon_command;
+ clif->pReqRemainTime = clif_parse_reqRemainTime;
+
+ clif->npc_barter_open = clif_npc_barter_open;
+ clif->pNPCBarterClosed = clif_parse_NPCBarterClosed;
+ clif->pNPCBarterPurchase = clif_parse_NPCBarterPurchase;
+ clif->pClientVersion = clif_parse_clientVersion;
+ clif->pPing = clif_parse_ping;
+ clif->ping = clif_ping;
+ clif->pingTimer = clif_pingTimer;
+ clif->pingTimerSub = clif_pingTimerSub;
+ clif->pResetCooldown = clif_parse_ResetCooldown;
+ clif->loadConfirm = clif_loadConfirm;
+ clif->send_selforarea = clif_send_selforarea;
+ clif->OpenRefineryUI = clif_OpenRefineryUI;
+ clif->pAddItemRefineryUI = clif_parse_AddItemRefineryUI;
+ clif->AddItemRefineryUIAck = clif_AddItemRefineryUIAck;
+ clif->pRefineryUIClose = clif_parse_RefineryUIClose;
+ clif->pRefineryUIRefine = clif_parse_RefineryUIRefine;
+ clif->announce_refine_status = clif_announce_refine_status;
+ 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 86e53e1e9..99560f52e 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -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;
@@ -64,17 +68,13 @@ enum rodex_get_items;
/**
* Defines
**/
-#define packet_len(cmd) packet_db[cmd].len
+#define packet_len(cmd) packets->db[cmd]
#define clif_menuskill_clear(sd) ((sd)->menuskill_id = (sd)->menuskill_val = (sd)->menuskill_val2 = 0)
#define clif_disp_onlyself(sd, mes) clif->disp_message(&(sd)->bl, (mes), SELF)
#define MAX_ROULETTE_LEVEL 7 /** client-defined value **/
#define MAX_ROULETTE_COLUMNS 9 /** client-defined value **/
#define RGB2BGR(c) (((c) & 0x0000FF) << 16 | ((c) & 0x00FF00) | ((c) & 0xFF0000) >> 16)
-#ifndef MAX_STYLIST_TYPE
-#define MAX_STYLIST_TYPE LOOK_MAX
-#endif
-
#define COLOR_CYAN 0x00ffffU
#define COLOR_RED 0xff0000U
#define COLOR_GREEN 0x00ff00U
@@ -82,6 +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
**/
@@ -237,13 +242,13 @@ typedef enum emotion_type {
E_MAX
} emotion_type;
-typedef enum clr_type {
+enum clr_type {
CLR_OUTSIGHT = 0,
CLR_DEAD,
CLR_RESPAWN,
CLR_TELEPORT,
CLR_TRICKDEAD,
-} clr_type;
+};
enum map_property { // clif_map_property
MAPPROPERTY_NOTHING = 0,
@@ -409,23 +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 {
@@ -493,13 +501,17 @@ enum RECV_ROULETTE_ITEM_ACK {
};
enum GENERATE_ROULETTE_ACK {
- GENERATE_ROULETTE_SUCCESS = 0x0,
- GENERATE_ROULETTE_FAILED = 0x1,
- GENERATE_ROULETTE_NO_ENOUGH_POINT = 0x2,
- GENERATE_ROULETTE_LOSING = 0x3,
+ GENERATE_ROULETTE_SUCCESS = 0x0,
+ GENERATE_ROULETTE_FAILED = 0x1,
+ GENERATE_ROULETTE_NO_ENOUGH_POINT = 0x2,
+ GENERATE_ROULETTE_LOSING = 0x3,
+ GENERATE_ROULETTE_NO_ENOUGH_INVENTORY_SPACE = 0x4,
+#if PACKETVER >= 20141001
+ GENERATE_ROULETTE_CANT_PLAY = 0x5,
+#endif
};
-enum OPEN_ROULETTE_ACK{
+enum OPEN_ROULETTE_ACK {
OPEN_ROULETTE_SUCCESS = 0x0,
OPEN_ROULETTE_FAILED = 0x1,
};
@@ -554,7 +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,
};
@@ -583,8 +595,8 @@ enum zc_ui_types {
**/
enum cz_ui_types {
CZ_STYLIST_UI = 1,
- //unknown = 2,
- //unknown = 3,
+ CZ_MACRO_REGISTER_UI = 2,
+ CZ_MACRO_DETECTOR_UI = 3,
CZ_ATTENDANCE_UI = 5
};
@@ -621,12 +633,18 @@ 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
**/
typedef void (*pFunc)(int, struct map_session_data *); //cant help but put it first
struct s_packet_db {
- short len;
pFunc func;
short pos[MAX_PACKET_POS];
};
@@ -652,15 +670,14 @@ struct attendance_entry {
int qty;
};
-/* Stylist data [Asheraf/Hercules]*/
-struct stylist_data_entry {
- int16 id;
- int32 zeny;
- int itemid;
- int boxid;
- bool allow_doram;
+struct barter_itemlist_entry {
+ int addId;
+ int addAmount;
+ int removeIndex;
+ int shopIndex;
};
-VECTOR_DECL(struct stylist_data_entry) stylist_data[MAX_STYLIST_TYPE];
+
+VECTOR_STRUCT_DECL(barteritemlist, struct barter_itemlist_entry);
/**
* Stylist Shop Responds
@@ -674,6 +691,58 @@ enum memorial_dungeon_command {
COMMAND_MEMORIALDUNGEON_DESTROY_FORCE = 0x3,
};
+enum expand_inventory {
+ EXPAND_INVENTORY_ASK_CONFIRMATION = 0,
+ EXPAND_INVENTORY_FAILED = 1,
+ EXPAND_INVENTORY_OTHER_WORK = 2,
+ EXPAND_INVENTORY_MISSING_ITEM = 3,
+ EXPAND_INVENTORY_MAX_SIZE = 4
+};
+
+enum expand_inventory_result {
+ EXPAND_INVENTORY_RESULT_SUCCESS = 0,
+ EXPAND_INVENTORY_RESULT_FAILED = 1,
+ EXPAND_INVENTORY_RESULT_OTHER_WORK = 2,
+ EXPAND_INVENTORY_RESULT_MISSING_ITEM = 3,
+ EXPAND_INVENTORY_RESULT_MAX_SIZE = 4
+};
+
+#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
**/
@@ -684,6 +753,7 @@ struct clif_interface {
uint16 map_port;
char map_ip_str[128];
int map_fd;
+ int cmd;
/* for clif_clearunit_delayed */
struct eri *delay_clearunit_ers;
/* Cash Shop [Ind/Hercules] */
@@ -752,9 +822,9 @@ struct clif_interface {
void (*package_announce) (struct map_session_data *sd, int nameid, int containerid);
void (*item_drop_announce) (struct map_session_data *sd, int nameid, char *monsterName);
/* unit-related */
- void (*clearunit_single) (int id, clr_type type, int fd);
- void (*clearunit_area) (struct block_list* bl, clr_type type);
- void (*clearunit_delayed) (struct block_list* bl, clr_type type, int64 tick);
+ void (*clearunit_single) (int id, enum clr_type type, int fd);
+ void (*clearunit_area) (struct block_list* bl, enum clr_type type);
+ void (*clearunit_delayed) (struct block_list* bl, enum clr_type type, int64 tick);
void (*walkok) (struct map_session_data *sd);
void (*move) (struct unit_data *ud);
void (*move2) (struct block_list *bl, struct view_data *vd, struct unit_data *ud);
@@ -815,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);
@@ -825,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);
@@ -839,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);
@@ -847,6 +921,12 @@ struct clif_interface {
void (*equipItems) (struct map_session_data *sd, enum inventory_type type);
void (*cartList) (struct map_session_data *sd);
void (*cartItems) (struct map_session_data *sd, enum inventory_type type);
+ void (*inventoryExpansionInfo) (struct map_session_data *sd);
+ void (*inventoryExpandAck) (struct map_session_data *sd, enum expand_inventory result, int itemId);
+ void (*inventoryExpandResult) (struct map_session_data *sd, enum expand_inventory_result result);
+ void (*pInventoryExpansion) (int fd, struct map_session_data *sd);
+ void (*pInventoryExpansionConfirmed) (int fd, struct map_session_data *sd);
+ void (*pInventoryExpansionRejected) (int fd, struct map_session_data *sd);
void (*favorite_item) (struct map_session_data* sd, unsigned short index);
void (*clearcart) (int fd);
void (*item_identify_list) (struct map_session_data *sd);
@@ -860,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);
@@ -920,7 +1012,7 @@ struct clif_interface {
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);
@@ -938,7 +1030,10 @@ 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 );
void (*spiritcharm) (struct map_session_data *sd);
void (*charm_single) (int fd, struct map_session_data *sd);
@@ -956,6 +1051,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);
@@ -966,6 +1062,7 @@ struct clif_interface {
void (*broadcast2) (struct block_list *bl, const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target);
void (*messagecolor_self) (int fd, uint32 color, const char *msg);
void (*messagecolor) (struct block_list* bl, uint32 color, const char* msg);
+ void (*serviceMessageColor) (struct map_session_data *sd, uint32 color, const char *msg);
void (*disp_overhead) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl);
void (*notify_playerchat) (struct block_list *bl, const char *mes);
void (*msgtable) (struct map_session_data* sd, enum clif_messages msg_id);
@@ -983,7 +1080,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);
@@ -1018,6 +1115,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);
@@ -1041,6 +1139,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]
@@ -1210,19 +1310,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, unsigned char result, short stage, short prizeIdx, int bonusItemID);
+ void (*roulette_generate_ack) (struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID);
+ void (*roulette_close) (struct map_session_data *sd);
/* Merge Items */
void (*openmergeitem) (int fd, struct map_session_data *sd);
void (*cancelmergeitem) (int fd, struct map_session_data *sd);
int (*comparemergeitem) (const void *a, const void *b);
void (*ackmergeitems) (int fd, struct map_session_data *sd);
+ void (*mergeitems) (int fd, struct map_session_data *sd, int index, int amount, enum mergeitem_reason reason);
/* */
bool (*isdisguised) (struct block_list* bl);
void (*navigate_to) (struct map_session_data *sd, const char* mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id);
@@ -1240,7 +1342,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);
@@ -1283,7 +1386,10 @@ struct clif_interface {
void (*pChangeCart) (int fd,struct map_session_data *sd);
void (*pStatusUp) (int fd,struct map_session_data *sd);
void (*pSkillUp) (int fd,struct map_session_data *sd);
+ void (*useSkillToIdReal) (int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id);
void (*pUseSkillToId) (int fd, struct map_session_data *sd);
+ void (*pStartUseSkillToId) (int fd, struct map_session_data *sd);
+ void (*pStopUseSkillToId) (int fd, struct map_session_data *sd);
void (*pUseSkillToId_homun) (struct homun_data *hd, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id);
void (*pUseSkillToId_mercenary) (struct mercenary_data *md, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id);
void (*pUseSkillToPos) (int fd, struct map_session_data *sd);
@@ -1442,13 +1548,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);
@@ -1474,7 +1584,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 */
@@ -1502,7 +1613,7 @@ struct clif_interface {
void (*pRodexCancelWriteMail) (int fd, struct map_session_data *sd);
void (*pRodexOpenMailbox) (int fd, struct map_session_data *sd);
void (*pRodexCheckName) (int fd, struct map_session_data *sd);
- void (*rodex_checkname_result) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+ void (*rodex_checkname_result) (struct map_session_data *sd, int char_id, int class_, int base_level, const char *name);
void (*pRodexDeleteMail) (int fd, struct map_session_data *sd);
void (*rodex_delete_mail) (struct map_session_data *sd, int8 opentype, int64 mail_id);
void (*pRodexRefreshMaillist) (int fd, struct map_session_data *sd);
@@ -1535,20 +1646,45 @@ struct clif_interface {
void (*pPrivateAirshipRequest) (int fd, struct map_session_data *sd);
void (*PrivateAirshipResponse) (struct map_session_data *sd, uint32 flag);
- void (*stylist_vector_init) (void);
- void (*stylist_vector_clear) (void);
- bool (*stylist_read_db_libconfig) (void);
- bool (*stylist_read_db_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
- bool (*style_change_validate_requirements) (struct map_session_data *sd, int type, int16 idx);
- void (*stylist_send_rodexitem) (struct map_session_data *sd, int itemid);
void (*pReqStyleChange) (int fd, struct map_session_data *sd);
void (*pReqStyleChange2) (int fd, struct map_session_data *sd);
- void (*cz_req_style_change_sub) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+ void (*pStyleClose) (int fd, struct map_session_data *sd);
void (*style_change_response) (struct map_session_data *sd, enum stylist_shop flag);
void (*pPetEvolution) (int fd, struct map_session_data *sd);
void (*petEvolutionResult) (int fd, enum pet_evolution_result result);
void (*party_dead_notification) (struct map_session_data *sd);
void (*pMemorialDungeonCommand) (int fd, struct map_session_data *sd);
+ void (*camera_showWindow) (struct map_session_data *sd);
+ void (*camera_change) (struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target);
+ void (*pCameraInfo) (int fd, struct map_session_data *sd);
+ void (*item_preview) (struct map_session_data *sd, int n);
+ bool (*enchant_equipment) (struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId);
+ void (*pReqRemainTime) (int fd, struct map_session_data *sd);
+ void (*npc_barter_open) (struct map_session_data *sd, struct npc_data *nd);
+ void (*pNPCBarterClosed) (int fd, struct map_session_data *sd);
+ void (*pNPCBarterPurchase) (int fd, struct map_session_data *sd);
+ void (*pClientVersion) (int fd, struct map_session_data *sd);
+ void (*pPing) (int fd, struct map_session_data *sd);
+ void (*ping) (struct map_session_data *sd);
+ int (*pingTimer) (int tid, int64 tick, int id, intptr_t data);
+ int (*pingTimerSub) (struct map_session_data *sd, va_list ap);
+ void (*pResetCooldown) (int fd, struct map_session_data *sd);
+ void (*loadConfirm) (struct map_session_data *sd);
+ void (*send_selforarea) (int fd, struct block_list *bl, const void *buf, int len);
+ void (*OpenRefineryUI) (struct map_session_data *sd);
+ void (*pAddItemRefineryUI) (int fd, struct map_session_data *sd);
+ void (*AddItemRefineryUIAck) (struct map_session_data *sd, int item_index, struct s_refine_requirement *req);
+ void (*pRefineryUIClose) (int fd, struct map_session_data *sd);
+ void (*pRefineryUIRefine) (int fd, struct map_session_data *sd);
+ void (*announce_refine_status) (struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target);
+ 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/guild.c b/src/map/guild.c
index 780d21326..2fcbe02e7 100644
--- a/src/map/guild.c
+++ b/src/map/guild.c
@@ -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));
+
+ 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));
- //intif->guild_castle_info(gc->castle_id);
+ 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)
@@ -721,7 +826,6 @@ static int guild_reply_invite(struct map_session_data *sd, int guild_id, int fla
}
else
{// accepted
- struct guild_member m;
struct guild* g;
int i;
@@ -741,8 +845,8 @@ static int guild_reply_invite(struct map_session_data *sd, int guild_id, int fla
return 0;
}
- guild->makemember(&m,sd);
- intif->guild_addmember(guild_id, &m);
+ guild->makemember(&g->member[i], sd);
+ intif->guild_addmember(guild_id, &g->member[i]);
//TODO: send a minimap update to this player
}
@@ -773,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;
@@ -829,6 +935,11 @@ static int guild_member_added(int guild_id, int account_id, int char_id, int fla
//Next line commented because it do nothing, look at guild_recv_info [LuzZza]
//clif->charnameupdate(sd); //Update display name [Skotlex]
+ // Makes the character join their respective guild's channel for #ally chat
+ if (channel->config->ally && channel->config->ally_autojoin) {
+ channel->join(g->channel, sd, "", true);
+ }
+
return 0;
}
@@ -1014,7 +1125,7 @@ static int guild_send_memberinfoshort(struct map_session_data *sd, int online)
}
// cleaned up [LuzZza]
-static int guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login)
+static int guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login)
{
int i, alv, c, idx = INDEX_NOT_FOUND, om = 0, oldonline = -1;
struct guild *g = guild->search(guild_id);
@@ -1082,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);
@@ -1097,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)
@@ -1895,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) {
@@ -1903,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
@@ -2317,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");
@@ -2426,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;
@@ -2453,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 3df86a3ca..5a14b8a34 100644
--- a/src/map/guild.h
+++ b/src/map/guild.h
@@ -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);
@@ -126,7 +126,7 @@ struct guild_interface {
int (*check_alliance) (int guild_id1, int guild_id2, int flag);
/* */
int (*send_memberinfoshort) (struct map_session_data *sd,int online);
- int (*recv_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login);
+ int (*recv_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login);
int (*change_memberposition) (int guild_id,int account_id,int char_id,short idx);
int (*memberposition_changed) (struct guild *g,int idx,int pos);
int (*change_position) (int guild_id,int idx,int mode,int exp_mode,const char *name);
@@ -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 6df272243..fbb94334c 100644
--- a/src/map/homunculus.c
+++ b/src/map/homunculus.c
@@ -172,7 +172,7 @@ 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;
@@ -185,13 +185,13 @@ static int homunculus_vaporize(struct map_session_data *sd, enum homun_state fla
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);
@@ -411,7 +411,7 @@ static bool homunculus_levelup(struct homun_data *hd)
return true;
}
-static int homunculus_change_class(struct homun_data *hd, short class_)
+static int homunculus_change_class(struct homun_data *hd, int class_)
{
int i = homun->db_search(class_,HOMUNCULUS_CLASS);
nullpo_retr(0, hd);
@@ -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 f0a156fd7..2914a26cc 100644
--- a/src/map/homunculus.h
+++ b/src/map/homunculus.h
@@ -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,17 +167,18 @@ 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);
int (*skill_tree_get_max) (int id, int b_class);
void (*skillup) (struct homun_data *hd, uint16 skill_id);
bool (*levelup) (struct homun_data *hd);
- int (*change_class) (struct homun_data *hd, short class_);
+ int (*change_class) (struct homun_data *hd, int class_);
bool (*evolve) (struct homun_data *hd);
bool (*mutate) (struct homun_data *hd, int homun_id);
int (*gainexp) (struct homun_data *hd, unsigned int exp);
+ 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..e87cc03bb 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -295,13 +295,6 @@ static int instance_add_map(const char *name, int instance_id, bool usebasename,
}
}
- //Mimic questinfo
- VECTOR_INIT(map->list[im].qi_data);
- VECTOR_ENSURE(map->list[im].qi_data, VECTOR_LENGTH(map->list[m].qi_data), 1);
- for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
- VECTOR_PUSH(map->list[im].qi_data, VECTOR_INDEX(map->list[m].qi_data, i));
- }
-
map->list[im].m = im;
map->list[im].instance_id = instance_id;
map->list[im].instance_src_map = m;
@@ -518,7 +511,7 @@ static void instance_del_map(int16 m)
aFree(map->list[m].zone_mf);
}
- quest->questinfo_vector_clear(m);
+ VECTOR_CLEAR(map->list[m].qi_list);
// Remove from instance
for( i = 0; i < instance->list[map->list[m].instance_id].num_map; i++ ) {
diff --git a/src/map/intif.c b/src/map/intif.c
index ed4c0e2d2..5a62f9644 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -71,26 +71,26 @@ static int CheckForCharServer(void)
}
// pet
-static int intif_create_pet(int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id,
+static int intif_create_pet(int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name)
{
if (intif->CheckForCharServer())
return 0;
nullpo_ret(pet_name);
- WFIFOHEAD(inter_fd, 28 + NAME_LENGTH);
+ WFIFOHEAD(inter_fd, 32 + NAME_LENGTH);
WFIFOW(inter_fd, 0) = 0x3080;
WFIFOL(inter_fd, 2) = account_id;
WFIFOL(inter_fd, 6) = char_id;
- WFIFOW(inter_fd, 10) = pet_class;
- WFIFOW(inter_fd, 12) = pet_lv;
- WFIFOL(inter_fd, 14) = pet_egg_id;
- WFIFOL(inter_fd, 18) = pet_equip;
- WFIFOW(inter_fd, 22) = intimate;
- WFIFOW(inter_fd, 24) = hungry;
- WFIFOB(inter_fd, 26) = rename_flag;
- WFIFOB(inter_fd, 27) = incubate;
- memcpy(WFIFOP(inter_fd, 28), pet_name, NAME_LENGTH);
- WFIFOSET(inter_fd, 28 + NAME_LENGTH);
+ WFIFOL(inter_fd, 10) = pet_class;
+ WFIFOL(inter_fd, 14) = pet_lv;
+ WFIFOL(inter_fd, 18) = pet_egg_id;
+ WFIFOL(inter_fd, 22) = pet_equip;
+ WFIFOW(inter_fd, 26) = intimate;
+ WFIFOW(inter_fd, 28) = hungry;
+ WFIFOB(inter_fd, 30) = rename_flag;
+ WFIFOB(inter_fd, 31) = incubate;
+ memcpy(WFIFOP(inter_fd, 32), pet_name, NAME_LENGTH);
+ WFIFOSET(inter_fd, 32 + NAME_LENGTH);
return 0;
}
@@ -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)
{
@@ -903,19 +730,19 @@ static int intif_guild_leave(int guild_id, int account_id, int char_id, int flag
}
//Update request / Lv online status of the guild members
-static int intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class)
+static int intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class)
{
if (intif->CheckForCharServer())
return 0;
- WFIFOHEAD(inter_fd, 19);
+ WFIFOHEAD(inter_fd, 23);
WFIFOW(inter_fd, 0) = 0x3035;
WFIFOL(inter_fd, 2) = guild_id;
WFIFOL(inter_fd, 6) = account_id;
WFIFOL(inter_fd,10) = char_id;
WFIFOB(inter_fd,14) = online;
- WFIFOW(inter_fd,15) = lv;
- WFIFOW(inter_fd,17) = class;
- WFIFOSET(inter_fd,19);
+ WFIFOL(inter_fd,15) = lv;
+ WFIFOL(inter_fd,19) = class;
+ WFIFOSET(inter_fd,23);
return 0;
}
@@ -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),RFIFOW(fd,17),RFIFOL(fd,19));
+ guild->recv_memberinfoshort(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOL(fd,17),RFIFOL(fd,21));
}
// ACK guild break
@@ -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)
{
@@ -1640,7 +1341,7 @@ static void intif_parse_GuildMasterChanged(int fd)
// Request pet creation
static void intif_parse_CreatePet(int fd)
{
- pet->get_egg(RFIFOL(fd,2), RFIFOW(fd,6), RFIFOL(fd,8));
+ pet->get_egg(RFIFOL(fd, 2), RFIFOL(fd, 6), RFIFOL(fd, 10));
}
// ACK pet data
@@ -2754,16 +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;
}
@@ -2830,11 +2536,11 @@ static void intif_parse_RodexCheckName(int fd)
struct map_session_data *sd = NULL;
int reqchar_id = RFIFOL(fd, 2);
int target_char_id = RFIFOL(fd, 6);
- short target_class = RFIFOW(fd, 10);
- int target_level = RFIFOL(fd, 12);
+ int target_class = RFIFOL(fd, 10);
+ int target_level = RFIFOL(fd, 14);
char name[NAME_LENGTH];
- safestrncpy(name, RFIFOP(inter_fd, 16), NAME_LENGTH);
+ safestrncpy(name, RFIFOP(inter_fd, 18), NAME_LENGTH);
if (reqchar_id <= 0)
return;
@@ -2855,6 +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,23, 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]
- 12,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3880
- -1,-1, 7, 3, 0,-1, 7, 15,16 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, 0, //0x3890 Homunculus [albator] / RoDEX [KirieZ]
+ 14,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3880
+ -1,-1, 7, 3, 0,-1, 7, 15,18 + NAME_LENGTH, 23, 16 + sizeof(struct rodex_item) * RODEX_MAX_ITEM, 0, 0, 0, 0, 0, //0x3890 Homunculus [albator] / RoDEX [KirieZ]
};
intif = &intif_s;
@@ -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 21f7a494c..ffac4a1c9 100644
--- a/src/map/intif.h
+++ b/src/map/intif.h
@@ -58,13 +58,8 @@ struct intif_interface {
int packet_len_table[INTIF_PACKET_LEN_TABLE_SIZE];
/* funcs */
int (*parse) (int fd);
- int (*create_pet)(int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id,
+ int (*create_pet)(int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id,
int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
- int (*broadcast) (const char *mes, int len, int type);
- int (*broadcast2) (const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY);
- 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,15 +73,13 @@ 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);
int (*guild_addmember) (int guild_id, struct guild_member *m);
int (*guild_leave) (int guild_id, int account_id, int char_id, int flag, const char *mes);
- int (*guild_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*guild_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int class);
int (*guild_break) (int guild_id);
- int (*guild_message) (int guild_id, int account_id, const char *mes, int len);
int (*guild_change_gm) (int guild_id, const char *name, int len);
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 6f37fa4a6..a0c7276a9 100644
--- a/src/map/irc-bot.c
+++ b/src/map/irc-bot.c
@@ -63,6 +63,7 @@ static int irc_connect_timer(int tid, int64 tick, int id, intptr_t data)
if ((ircbot->fd = sockt->make_connection(ircbot->ip, channel->config->irc_server_port, &opt)) > 0) {
sockt->session[ircbot->fd]->func_parse = ircbot->parse;
sockt->session[ircbot->fd]->flag.server = 1;
+ sockt->session[ircbot->fd]->flag.validate = 0;
timer->add(timer->gettick() + 3000, ircbot->identify_timer, 0, 0);
ircbot->isOn = true;
}
@@ -395,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);
}
}
@@ -413,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);
}
}
@@ -432,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/itemdb.c b/src/map/itemdb.c
index 5e447d4c0..b016af1c9 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -27,6 +27,7 @@
#include "map/map.h"
#include "map/mob.h" // MAX_MOB_DB
#include "map/pc.h" // W_MUSICAL, W_WHIP
+#include "map/refine.h"
#include "map/script.h" // item script processing
#include "common/HPM.h"
#include "common/conf.h"
@@ -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;
+ 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;
+ }
- lines++;
+ 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 (line[0] == '/' && line[1] == '/')
- continue;
+ struct item_combo *combo = NULL;
+ RECREATE(itemdb->combos, struct item_combo *, ++itemdb->combo_count);
+ CREATE(combo, struct item_combo, 1);
- memset(str, 0, sizeof(str));
+ combo->id = itemdb->combo_count - 1;
+ combo->count = len;
- p = line;
- p = trim(p);
- if (*p == '\0')
- continue;// empty line
+ for (int i = 0; i < len; i++) {
+ struct item_data *item = NULL;
+ const char *name = libconfig->setting_get_string_elem(t, i);
- 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;
+ 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;
+ }
- str[0] = p;
- p = strchr(p,',');
- *p = '\0';
- p++;
-
- str[1] = p;
- p = strchr(p,',');
- p++;
-
- if (str[1][0] != '{') {
- ShowError("itemdb_read_combos(#1): Invalid format (Script column) in line %u of \"%s\", skipping.\n", lines, filepath);
- continue;
- }
-
- /* 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;
}
/*======================================
@@ -1700,7 +1696,12 @@ static int itemdb_validate_entry(struct item_data *entry, int n, const char *sou
nullpo_ret(entry);
nullpo_ret(source);
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
if (entry->nameid <= 0 || entry->nameid > MAX_ITEM_ID) {
+#else
+ if (entry->nameid <= 0) {
+#endif
+ // item id wrong for any packet versions
ShowWarning("itemdb_validate_entry: Invalid item ID %d in entry %d of '%s', allowed values 0 < ID < %d (MAX_ITEM_ID), skipping.\n",
entry->nameid, n, source, MAX_ITEM_ID);
if (entry->script) {
@@ -1715,8 +1716,23 @@ 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
}
+#else
+ } else if (entry->nameid > MAX_ITEM_ID) {
+ // item id too big for packet version before item id in 4 bytes
+ entry->view_id = UNKNOWN_ITEM_ID;
+ }
+#endif
{
const char *c = entry->name;
@@ -1738,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;
}
}
@@ -1865,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;
}
@@ -1981,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) ) {
@@ -2258,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);
}
@@ -2394,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;
}
@@ -2409,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.
*/
@@ -2434,17 +2565,37 @@ 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();
+}
+
+/**
+ * Add item name with high id into map
+ * @see DBApply
+ */
+static int itemdb_addname_sub(union DBKey key, struct DBData *data, va_list ap)
+{
+ struct item_data *item = DB->data2ptr(data);
+ struct DBData prev;
+
+ if (itemdb->names->put(itemdb->names, DB->str2key(item->name), DB->ptr2data(item), &prev)) {
+ struct item_data *oldItem = DB->data2ptr(&prev);
+ ShowError("itemdb_read: duplicate AegisName '%s' in item ID %d and %d\n", item->name, item->nameid, oldItem->nameid);
+ }
+
+ return 0;
}
/**
@@ -2482,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
@@ -2676,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)
@@ -2686,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)
@@ -2770,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;
@@ -2789,4 +2948,8 @@ void itemdb_defaults(void)
itemdb->is_item_usable = itemdb_is_item_usable;
itemdb->lookup_const = itemdb_lookup_const;
itemdb->lookup_const_mask = itemdb_lookup_const_mask;
+ itemdb->addname_sub = itemdb_addname_sub;
+ 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 d92940445..ecdcbcafc 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -38,8 +38,8 @@ struct hplugin_data_store;
#endif
#ifndef MAX_ITEM_ID
-#if PACKETVER_RE_NUM >= 20180704
-#define MAX_ITEM_ID 0x20000
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+#define MAX_ITEM_ID INT32_MAX
#else
#define MAX_ITEM_ID 0xFFFF
#endif
@@ -72,8 +72,8 @@ struct hplugin_data_store;
#if MAX_ITEM_ID < MAX_ITEMDB
#error "MAX_ITEM_ID must be bigger or same with MAX_ITEMDB"
#endif
-#if MAX_ITEM_ID > 0xFFFF && PACKETVER_RE_NUM < 20180704
-#error "For clients before 20180704 RE, MAX_ITEM_ID must be smaller than 0x10000"
+#if MAX_ITEM_ID > 0xFFFF && PACKETVER_MAIN_NUM < 20181121 && PACKETVER_RE_NUM < 20180704 && PACKETVER_ZERO_NUM < 20181114
+#error "For clients before 20181121 Main and 20180704 RE and 20181114 zero, MAX_ITEM_ID must be smaller than 0x10000"
#endif
enum item_itemid {
@@ -130,6 +130,7 @@ enum item_itemid {
ITEMID_INDIGO_PTS = 6361,
ITEMID_YELLOW_WISH_PTS = 6362,
ITEMID_LIME_GREEN_PTS = 6363,
+ ITEMID_BLACKSMITH_BLESSING = 6635,
ITEMID_STONE = 7049,
ITEMID_FIRE_BOTTLE = 7135,
ITEMID_ACID_BOTTLE = 7136,
@@ -138,7 +139,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 +358,8 @@ enum geneticist_item_list {
//
enum e_chain_cache {
ECC_ORE,
+ ECC_SIEGFRIED,
+ ECC_NEO_INSURANCE,
/* */
ECC_MAX,
};
@@ -411,6 +413,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 +493,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 +535,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 +570,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 +655,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 +688,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);
@@ -683,6 +707,10 @@ struct itemdb_interface {
bool (*is_item_usable) (struct item_data *item);
bool (*lookup_const) (const struct config_setting_t *it, const char *name, int *value);
bool (*lookup_const_mask) (const struct config_setting_t *it, const char *name, int *value);
+ int (*addname_sub) (union DBKey key, struct DBData *data, va_list ap);
+ 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..45335b16a 100644
--- a/src/map/log.c
+++ b/src/map/log.c
@@ -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..5035e9526 100644
--- a/src/map/log.h
+++ b/src/map/log.h
@@ -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 d67e658fd..0a6603a45 100644
--- a/src/map/mail.c
+++ b/src/map/mail.c
@@ -100,7 +100,7 @@ static unsigned char mail_setitem(struct map_session_data *sd, int idx, int amou
idx -= 2;
mail->removeitem(sd, 0);
- if( idx < 0 || idx >= MAX_INVENTORY )
+ if (idx < 0 || idx >= sd->status.inventorySize)
return 1;
if( amount <= 0 || amount > sd->status.inventory[idx].amount )
return 1;
@@ -128,7 +128,7 @@ static bool mail_setattachment(struct map_session_data *sd, struct mail_message
return false;
n = sd->mail.index;
- Assert_retr(false, n >= 0 && n < MAX_INVENTORY);
+ Assert_retr(false, n >= 0 && n < sd->status.inventorySize);
if( sd->mail.amount )
{
if( sd->status.inventory[n].nameid != sd->mail.nameid )
@@ -177,7 +177,7 @@ static int mail_openmail(struct map_session_data *sd)
{
nullpo_ret(sd);
- if (sd->state.storage_flag != STORAGE_FLAG_CLOSED || sd->state.vending || sd->state.buyingstore || sd->state.trading)
+ if (sd->state.storage_flag != STORAGE_FLAG_CLOSED || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->state.trading)
return 0;
clif->mail_window(sd->fd, 0);
diff --git a/src/map/map.c b/src/map/map.c
index 343f219b8..9db868329 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -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"
@@ -635,6 +636,18 @@ static int map_foreachinmap(int (*func)(struct block_list*, va_list), int16 m, i
return returnCount;
}
+static int map_forcountinmap(int (*func)(struct block_list*, va_list), int16 m, int count, int type, ...)
+{
+ int returnCount;
+ va_list ap;
+
+ va_start(ap, type);
+ returnCount = map->vforcountinarea(func, m, 0, 0, map->list[m].xs, map->list[m].ys, count, type, ap);
+ va_end(ap);
+
+ return returnCount;
+}
+
/**
* Applies func to every block_list object of bl_type type on all maps
* of instance instance_id.
@@ -2254,30 +2267,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;
+
+ if (battle_config.partial_name_scan && allow_partial) {
+ int nicklen = (int)strlen(nick);
+ int qty = 0;
- 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 )
- {
+ // 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;
}
@@ -2285,17 +2293,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;
}
@@ -3572,23 +3583,27 @@ static void map_zone_db_clear(void)
}
static void map_clean(int i)
{
- int v;
Assert_retv(i >= 0 && i < map->count);
- if(map->list[i].cell && map->list[i].cell != (struct mapcell *)0xdeadbeaf) aFree(map->list[i].cell);
- if(map->list[i].block) aFree(map->list[i].block);
- if(map->list[i].block_mob) aFree(map->list[i].block_mob);
- if(battle_config.dynamic_mobs) { //Dynamic mobs flag by [random]
- int j;
- if(map->list[i].mob_delete_timer != INVALID_TIMER)
+ if (map->list[i].cell && map->list[i].cell != (struct mapcell *)0xdeadbeaf)
+ aFree(map->list[i].cell);
+ if (map->list[i].block)
+ aFree(map->list[i].block);
+ if (map->list[i].block_mob)
+ aFree(map->list[i].block_mob);
+
+ if (battle_config.dynamic_mobs != 0) { //Dynamic mobs flag by [random]
+ if (map->list[i].mob_delete_timer != INVALID_TIMER)
timer->delete(map->list[i].mob_delete_timer, map->removemobs_timer);
- for (j=0; j<MAX_MOB_LIST_PER_MAP; j++)
- if (map->list[i].moblist[j]) aFree(map->list[i].moblist[j]);
+ for (int j = 0; j < MAX_MOB_LIST_PER_MAP; j++) {
+ if (map->list[i].moblist[j] != NULL)
+ aFree(map->list[i].moblist[j]);
+ }
}
- if( map->list[i].unit_count ) {
- if( map->list[i].units ) {
- for(v = 0; v < map->list[i].unit_count; v++) {
+ if (map->list[i].unit_count != 0) {
+ if (map->list[i].units != NULL) {
+ for (int v = 0; v < map->list[i].unit_count; v++) {
aFree(map->list[i].units[v]);
}
aFree(map->list[i].units);
@@ -3597,105 +3612,51 @@ static void map_clean(int i)
map->list[i].unit_count = 0;
}
- if( map->list[i].skill_count ) {
- if( map->list[i].skills ) {
- for(v = 0; v < map->list[i].skill_count; v++) {
- aFree(map->list[i].skills[v]);
- }
+ if (map->list[i].skill_count != 0) {
+ if (map->list[i].skills != NULL) {
+ for (int v = 0; v < map->list[i].skill_count; v++) {
+ aFree(map->list[i].skills[v]);
+ }
aFree(map->list[i].skills);
map->list[i].skills = NULL;
}
map->list[i].skill_count = 0;
}
- if( map->list[i].zone_mf_count ) {
- if( map->list[i].zone_mf ) {
- for(v = 0; v < map->list[i].zone_mf_count; v++) {
- aFree(map->list[i].zone_mf[v]);
- }
+ if (map->list[i].zone_mf_count != 0) {
+ if (map->list[i].zone_mf != NULL) {
+ for (int v = 0; v < map->list[i].zone_mf_count; v++) {
+ aFree(map->list[i].zone_mf[v]);
+ }
aFree(map->list[i].zone_mf);
map->list[i].zone_mf = NULL;
}
map->list[i].zone_mf_count = 0;
}
- if( map->list[i].channel )
+ if (map->list[i].drop_list_count != 0)
+ map->list[i].drop_list_count = 0;
+ if (map->list[i].drop_list != NULL)
+ aFree(map->list[i].drop_list);
+
+ if (map->list[i].channel != NULL)
channel->delete(map->list[i].channel);
+
+ VECTOR_CLEAR(map->list[i].qi_list);
+ HPM->data_store_destroy(&map->list[i].hdata);
}
static void do_final_maps(void)
{
- int i, v = 0;
-
- for( i = 0; i < map->count; i++ ) {
-
- if(map->list[i].cell && map->list[i].cell != (struct mapcell *)0xdeadbeaf ) aFree(map->list[i].cell);
- if(map->list[i].block) aFree(map->list[i].block);
- if(map->list[i].block_mob) aFree(map->list[i].block_mob);
-
- if(battle_config.dynamic_mobs) { //Dynamic mobs flag by [random]
- int j;
- if(map->list[i].mob_delete_timer != INVALID_TIMER)
- timer->delete(map->list[i].mob_delete_timer, map->removemobs_timer);
- for (j=0; j<MAX_MOB_LIST_PER_MAP; j++)
- if (map->list[i].moblist[j]) aFree(map->list[i].moblist[j]);
- }
-
- if( map->list[i].unit_count ) {
- if( map->list[i].units ) {
- for(v = 0; v < map->list[i].unit_count; v++) {
- aFree(map->list[i].units[v]);
- }
- aFree(map->list[i].units);
- map->list[i].units = NULL;
- }
- map->list[i].unit_count = 0;
- }
-
- if( map->list[i].skill_count ) {
- if( map->list[i].skills ) {
- for(v = 0; v < map->list[i].skill_count; v++) {
- aFree(map->list[i].skills[v]);
- }
- aFree(map->list[i].skills);
- map->list[i].skills = NULL;
- }
- map->list[i].skill_count = 0;
- }
-
- if( map->list[i].zone_mf_count ) {
- if( map->list[i].zone_mf ) {
- for(v = 0; v < map->list[i].zone_mf_count; v++) {
- aFree(map->list[i].zone_mf[v]);
- }
- aFree(map->list[i].zone_mf);
- map->list[i].zone_mf = NULL;
- }
- map->list[i].zone_mf_count = 0;
- }
-
- if( map->list[i].drop_list_count ) {
- map->list[i].drop_list_count = 0;
- }
- if( map->list[i].drop_list != NULL )
- aFree(map->list[i].drop_list);
-
- if( map->list[i].channel )
- channel->delete(map->list[i].channel);
-
- quest->questinfo_vector_clear(i);
-
- HPM->data_store_destroy(&map->list[i].hdata);
- }
-
+ for (int i = 0; i < map->count; i++)
+ map->clean(i);
map->zone_db_clear();
-
}
static void map_zonedb_reload(void)
{
// first, reset maps to their initial zones:
for (int i = 0; i < map->count; i++) {
- map->zone_remove(i);
+ map->zone_remove_all(i);
if (battle_config.pk_mode) {
map->list[i].flag.pvp = 1;
@@ -3779,7 +3740,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);
}
}
@@ -3807,8 +3769,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;
}
@@ -4092,6 +4075,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) {
@@ -4467,6 +4451,7 @@ static bool inter_config_read_database_names(const char *filename, const struct
libconfig->setting_lookup_mutable_string(setting, "autotrade_merchants_db", map->autotrade_merchants_db, sizeof(map->autotrade_merchants_db));
libconfig->setting_lookup_mutable_string(setting, "autotrade_data_db", map->autotrade_data_db, sizeof(map->autotrade_data_db));
libconfig->setting_lookup_mutable_string(setting, "npc_market_data_db", map->npc_market_data_db, sizeof(map->npc_market_data_db));
+ libconfig->setting_lookup_mutable_string(setting, "npc_barter_data_db", map->npc_barter_data_db, sizeof(map->npc_barter_data_db));
if (!mapreg->config_read(filename, setting, imported))
retval = false;
@@ -4676,6 +4661,27 @@ static void map_zone_remove(int m)
map->list[m].zone_mf = NULL;
map->list[m].zone_mf_count = 0;
}
+// this one removes every flag, even if they were previously turned on before
+// the current zone was applied
+static void map_zone_remove_all(int m)
+{
+ Assert_retv(m >= 0 && m < map->count);
+
+ for (unsigned short k = 0; k < map->list[m].zone_mf_count; k++) {
+ char flag[MAP_ZONE_MAPFLAG_LENGTH];
+
+ memcpy(flag, map->list[m].zone_mf[k], MAP_ZONE_MAPFLAG_LENGTH);
+ strtok(flag, "\t");
+
+ npc->parse_mapflag(map->list[m].name, "", flag, "off", "", "", "", NULL);
+ aFree(map->list[m].zone_mf[k]);
+ map->list[m].zone_mf[k] = NULL;
+ }
+
+ aFree(map->list[m].zone_mf);
+ map->list[m].zone_mf = NULL;
+ map->list[m].zone_mf_count = 0;
+}
static inline void map_zone_mf_cache_add(int m, char *rflag)
{
Assert_retv(m >= 0 && m < map->count);
@@ -5392,6 +5398,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;
@@ -5563,12 +5595,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;
@@ -5993,28 +6021,30 @@ static int map_get_new_bonus_id(void)
return map->bonus_id++;
}
-static void map_add_questinfo(int m, struct questinfo *qi)
+static bool map_add_questinfo(int m, struct npc_data *nd)
{
- nullpo_retv(qi);
- Assert_retv(m >= 0 && m < map->count);
+ nullpo_retr(false, nd);
+ Assert_retr(false, m >= 0 && m < map->count);
+
+ if (&VECTOR_LAST(map->list[m].qi_list) == nd)
+ 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;
}
@@ -6155,6 +6185,7 @@ int do_final(void)
atcommand->final_msg();
skill->final();
status->final();
+ refine->final();
unit->final();
bg->final();
duel->final();
@@ -6163,6 +6194,7 @@ int do_final(void)
vending->final();
rodex->final();
achievement->final();
+ stylist->final();
HPM_map_do_final();
@@ -6290,6 +6322,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)
{
@@ -6318,6 +6351,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));
@@ -6370,6 +6405,8 @@ static void map_load_defaults(void)
achievement_defaults();
npc_chat_defaults();
rodex_defaults();
+ stylist_defaults();
+ refine_defaults();
}
/**
* --run-once handler
@@ -6674,6 +6711,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);
@@ -6684,6 +6722,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);
@@ -6709,6 +6748,7 @@ int do_init(int argc, char *argv[])
npc->event_do_oninit( false ); // Init npcs (OnInit)
npc->market_fromsql(); /* after OnInit */
+ npc->barter_fromsql(); /* after OnInit */
if (battle_config.pk_mode)
ShowNotice("Server is running on '"CL_WHITE"PK Mode"CL_RESET"'.\n");
@@ -6754,6 +6794,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");
@@ -6815,7 +6856,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;
@@ -6828,6 +6872,7 @@ void map_defaults(void)
/* funcs */
map->zone_init = map_zone_init;
map->zone_remove = map_zone_remove;
+ map->zone_remove_all = map_zone_remove_all;
map->zone_apply = map_zone_apply;
map->zone_change = map_zone_change;
map->zone_change2 = map_zone_change2;
@@ -6901,6 +6946,7 @@ void map_defaults(void)
map->foreachinpath = map_foreachinpath;
map->vforeachinmap = map_vforeachinmap;
map->foreachinmap = map_foreachinmap;
+ map->forcountinmap = map_forcountinmap;
map->vforeachininstance = map_vforeachininstance;
map->foreachininstance = map_foreachininstance;
diff --git a/src/map/map.h b/src/map/map.h
index d50666d4b..6b360e1bc 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -45,42 +45,6 @@ enum E_MAPSERVER_ST {
MAPSERVER_ST_LAST
};
-#define MAX_NPC_PER_MAP 512
-#define AREA_SIZE (battle->bc->area_size)
-#define CHAT_AREA_SIZE (battle->bc->chat_area_size)
-#define DEAD_AREA_SIZE (battle->bc->dead_area_size)
-#define DAMAGELOG_SIZE 30
-#define LOOTITEM_SIZE 10
-#define MAX_MOBSKILL 50
-#define MAX_MOB_LIST_PER_MAP 100
-#define MAX_EVENTQUEUE 2
-#define MAX_EVENTTIMER 32
-#define NATURAL_HEAL_INTERVAL 500
-#define MIN_FLOORITEM 2
-#define MAX_FLOORITEM START_ACCOUNT_NUM
-#define MAX_IGNORE_LIST 20 // official is 14
-#define MAX_VENDING 12
-#define MAX_MAP_SIZE (512*512) // Wasn't there something like this already? Can't find it.. [Shinryo]
-
-#define BLOCK_SIZE 8
-#define block_free_max 1048576
-#define BL_LIST_MAX 1048576
-
-// The following system marks a different job ID system used by the map server,
-// which makes a lot more sense than the normal one. [Skotlex]
-// These marks the "level" of the job.
-#define JOBL_2_1 0x0100
-#define JOBL_2_2 0x0200
-#define JOBL_2 0x0300 // JOBL_2_1 | JOBL_2_2
-#define JOBL_UPPER 0x1000
-#define JOBL_BABY 0x2000
-#define JOBL_THIRD 0x4000
-
-// For filtering and quick checking.
-#define MAPID_BASEMASK 0x00ff
-#define MAPID_UPPERMASK 0x0fff
-#define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK)
-
//First Jobs
//Note the oddity of the novice:
//Super Novices are considered the 2-1 version of the novice! Novices are considered a first class type.
@@ -344,36 +308,6 @@ enum {
STATIC_ASSERT(((MAPID_1_1_MAX - 1) | MAPID_BASEMASK) == MAPID_BASEMASK, "First class map IDs do not fit into MAPID_BASEMASK");
-// Max size for inputs to Graffiti, Talkie Box and Vending text prompts
-#define MESSAGE_SIZE (79 + 1)
-// String length you can write in the 'talking box'
-#define CHATBOX_SIZE (70 + 1)
-// Chatroom-related string sizes
-#define CHATROOM_TITLE_SIZE (36 + 1)
-#define CHATROOM_PASS_SIZE (8 + 1)
-// Max allowed chat text length
-#define CHAT_SIZE_MAX (255 + 1)
-// 24 for npc name + 24 for label + 2 for a "::" and 1 for EOS
-#define EVENT_NAME_LENGTH ( NAME_LENGTH * 2 + 3 )
-#define DEFAULT_AUTOSAVE_INTERVAL (5*60*1000)
-// Specifies maps where players may hit each other
-#define map_flag_vs(m) ( \
- map->list[m].flag.pvp \
- || map->list[m].flag.gvg_dungeon \
- || map->list[m].flag.gvg \
- || ((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle) \
- || map->list[m].flag.battleground \
- || map->list[m].flag.cvc \
- )
-// Specifies maps that have special GvG/WoE restrictions
-#define map_flag_gvg(m) (map->list[m].flag.gvg || ((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle))
-// Specifies if the map is tagged as GvG/WoE (regardless of map->agit_flag status)
-#define map_flag_gvg2(m) (map->list[m].flag.gvg || map->list[m].flag.gvg_castle)
-// No Kill Steal Protection
-#define map_flag_ks(m) (map->list[m].flag.town || map->list[m].flag.pvp || map->list[m].flag.gvg || map->list[m].flag.battleground)
-// No ViewID
-#define map_no_view(m, view) (map->list[m].flag.noviewid & (view))
-
//This stackable implementation does not means a BL can be more than one type at a time, but it's
// meant to make it easier to check for multiple types at a time on invocations such as map_foreach* calls [Skotlex]
enum bl_type {
@@ -392,9 +326,6 @@ enum bl_type {
BL_ALL = 0xFFF,
};
-// For common mapforeach calls. Since pets cannot be affected, they aren't included here yet.
-#define BL_CHAR (BL_PC|BL_MOB|BL_HOM|BL_MER|BL_ELEM)
-
enum npc_subtype { WARP, SHOP, SCRIPT, CASHSHOP, TOMB };
/**
@@ -518,7 +449,7 @@ struct block_list {
// Mob List Held in memory for Dynamic Mobs [Wizputer]
// Expanded to specify all mob-related spawn data by [Skotlex]
struct spawn_data {
- short class_; ///< Class, used because a mob can change it's class
+ int class_; ///< Class, used because a mob can change it's class
unsigned short m, x, y; ///< Spawn information (map, point, spawn-area around point)
signed short xs, ys;
unsigned short num; ///< Number of mobs using this structure
@@ -748,16 +679,6 @@ enum map_zone_merge_type {
MZMT_NEVERMERGE, ///< Cannot merge with any zones.
};
-#define MAP_ZONE_NAME_LENGTH 60
-#define MAP_ZONE_ALL_NAME "All"
-#define MAP_ZONE_NORMAL_NAME "Normal"
-#define MAP_ZONE_PVP_NAME "PvP"
-#define MAP_ZONE_GVG_NAME "GvG"
-#define MAP_ZONE_BG_NAME "Battlegrounds"
-#define MAP_ZONE_CVC_NAME "CvC"
-#define MAP_ZONE_PK_NAME "PK Mode"
-#define MAP_ZONE_MAPFLAG_LENGTH 65
-
struct map_zone_data {
char name[MAP_ZONE_NAME_LENGTH];/* 20'd */
enum map_zone_merge_type merge_type;
@@ -784,40 +705,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 short job;/* perhaps a mapid mask would be most flexible? */
- bool sex_enabled;
- int sex;
- struct {
- int min;
- int max;
- } base_level;
- struct {
- int min;
- int max;
- } job_level;
- VECTOR_DECL(struct questinfo_itemreq) items;
- struct s_homunculus homunculus;
- int homunculus_type;
- VECTOR_DECL(struct questinfo_qreq) quest_requirement;
-};
-
-
struct map_data {
char name[MAP_NAME_LENGTH];
uint16 index; // The map index used by the mapindex* functions.
@@ -898,6 +785,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;
@@ -955,8 +844,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;
@@ -1166,6 +1055,7 @@ struct map_interface {
char autotrade_merchants_db[32];
char autotrade_data_db[32];
char npc_market_data_db[32];
+ char npc_barter_data_db[32];
char default_codepage[32];
char default_lang_str[64];
@@ -1219,6 +1109,7 @@ END_ZEROED_BLOCK;
/* funcs */
void (*zone_init) (void);
void (*zone_remove) (int m);
+ void (*zone_remove_all) (int m);
void (*zone_apply) (int m, struct map_zone_data *zone, const char* start, const char* buffer, const char* filepath);
void (*zone_change) (int m, struct map_zone_data *zone, const char* start, const char* buffer, const char* filepath);
void (*zone_change2) (int m, struct map_zone_data *zone);
@@ -1292,6 +1183,7 @@ END_ZEROED_BLOCK;
int (*foreachinpath) (int (*func)(struct block_list*,va_list), int16 m, int16 x0, int16 y0, int16 x1, int16 y1, int16 range, int length, int type, ...);
int (*vforeachinmap) (int (*func)(struct block_list*,va_list), int16 m, int type, va_list args);
int (*foreachinmap) (int (*func)(struct block_list*,va_list), int16 m, int type, ...);
+ int (*forcountinmap) (int (*func)(struct block_list*,va_list), int16 m, int count, int type, ...);
int (*vforeachininstance)(int (*func)(struct block_list*,va_list), int16 instance_id, int type, va_list ap);
int (*foreachininstance)(int (*func)(struct block_list*,va_list), int16 instance_id, int type,...);
@@ -1316,7 +1208,7 @@ 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);
@@ -1387,7 +1279,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..348ca98fd
--- /dev/null
+++ b/src/map/mapdefines.h
@@ -0,0 +1,111 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2018 Hercules Dev Team
+ * Copyright (C) Athena Dev Teams
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef MAP_MAPDEFINES_H
+#define MAP_MAPDEFINES_H
+
+#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
+#define MAX_MOB_LIST_PER_MAP 100
+#define MAX_EVENTQUEUE 2
+#define MAX_EVENTTIMER 32
+#define NATURAL_HEAL_INTERVAL 500
+#define MIN_FLOORITEM 2
+#define MAX_FLOORITEM START_ACCOUNT_NUM
+#define MAX_IGNORE_LIST 20 // official is 14
+#define MAX_VENDING 12
+#define MAX_MAP_SIZE (512*512) // Wasn't there something like this already? Can't find it.. [Shinryo]
+
+#define BLOCK_SIZE 8
+#define block_free_max 1048576
+#define BL_LIST_MAX 1048576
+
+// The following system marks a different job ID system used by the map server,
+// which makes a lot more sense than the normal one. [Skotlex]
+// These marks the "level" of the job.
+#define JOBL_2_1 0x0100
+#define JOBL_2_2 0x0200
+#define JOBL_2 0x0300 // JOBL_2_1 | JOBL_2_2
+#define JOBL_UPPER 0x1000
+#define JOBL_BABY 0x2000
+#define JOBL_THIRD 0x4000
+
+// For filtering and quick checking.
+#define MAPID_BASEMASK 0x00ff
+#define MAPID_UPPERMASK 0x0fff
+#define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK)
+
+// Max size for inputs to 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/messages.h b/src/map/messages.h
index 5bfd476a2..a46905a76 100644
--- a/src/map/messages.h
+++ b/src/map/messages.h
@@ -2,7 +2,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
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/messages_ad.h b/src/map/messages_ad.h
index 4345e078a..016858496 100644
--- a/src/map/messages_ad.h
+++ b/src/map/messages_ad.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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 f26fdb50b..5dce0b1ce 100644
--- a/src/map/messages_main.h
+++ b/src/map/messages_main.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -23,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20180829
+Latest version: 20200108
*/
enum clif_messages {
@@ -631,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
@@ -758,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
@@ -1237,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
@@ -4012,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
@@ -4629,9 +4633,11 @@ Thief
Knight
*/
MSG_KNIGHT = 0x364,
-/*20040913 to latest
+/*20040913 to 20181128
Prieset
Priest
+20181205 to latest
+Priest
*/
MSG_PRIEST = 0x365,
/*20040913 to latest
@@ -5261,16 +5267,18 @@ High Wizard
MSG_WIZARD_H = 0x3da,
/*20050613 to latest
White Smith
-WhiteSmith
+MasterSmith
*/
MSG_BLACKSMITH_H = 0x3db,
/*20050613 to latest
Sniper
*/
MSG_HUNTER_H = 0x3dc,
-/*20050613 to latest
+/*20050613 to 20181128
Saaassin Cross
Assassin Cross
+20181205 to latest
+Assassin Cross
*/
MSG_ASSASSIN_H = 0x3dd,
/*20050613 to latest
@@ -5298,9 +5306,11 @@ Sniper_W
Sniper
*/
MSG_HUNTER_H_W = 0x3e2,
-/*20050613 to latest
+/*20050613 to 20181128
Saaassin Cross_W
Assassin Cross
+20181205 to latest
+Assassin Cross_W
*/
MSG_ASSASSIN_H_W = 0x3e3,
/*20050613 to latest
@@ -7075,7 +7085,6 @@ Quest List
#if PACKETVER >= 20070807
/*20070807 to latest
RO SHOP
-RO Shop
*/
MSG_RO_SHOP = 0x526,
#endif
@@ -7254,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
@@ -10953,7 +10964,6 @@ ITEM
MSG_MACRO_SKILL = 0x775,
/*20110228 to 20110228
Next attack time :
-Next attack time:
20110308 to latest
TACTIC
20130807 to 20130814
@@ -10970,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
@@ -11014,7 +11025,6 @@ ATTACK
MSG_MACRO_ATTACK = 0x77d,
/*20110308 to latest
Next attack time :
-Next attack time:
20130807 to 20130814
ATTACK
*/
@@ -11023,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
*/
@@ -11036,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
@@ -11065,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.
@@ -11076,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
@@ -11344,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
@@ -11402,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
@@ -11415,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
@@ -11516,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
@@ -11594,6 +11587,7 @@ The same file exists already.
MSG_REPLAY_RECORDSTART = 0x7c6,
/*20110816 to latest
is Saved.
+Recording saved
20130807 to 20130814
Record Start
*/
@@ -11602,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
@@ -11620,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
@@ -11640,7 +11633,6 @@ Base Lv. %d
MSG__BASIC_MSG_JOB = 0x7cc,
/*20110831 to latest
Zeny : %s
-Zeny: %s
20130807 to 20130814
Job Lv. %d
*/
@@ -11649,7 +11641,6 @@ Job Lv. %d
Trilinear
20130807 to 20130814
Zeny : %s
-Zeny: %s
*/
MSG_GRAPHIC_MSG_TRILINEAR = 0x7ce,
/*20110831 to latest
@@ -11672,6 +11663,7 @@ skill
MSG_GRAPHIC_MSG_ITEM = 0x7d1,
/*20110831 to latest
NoCtrl
+Ctrl
20130807 to 20130814
item
*/
@@ -11681,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
@@ -11695,6 +11689,7 @@ Premium Service
VIP Service
20130807 to 20130814
(Character/Total Slot)
+(Characters/Total slots)
*/
MSG_CHARACTER_MSG_PREMIUMSERVICE = 0x7d5,
/*20110831 to latest
@@ -13033,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
@@ -13045,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
@@ -13364,7 +13361,6 @@ Change to Default UI
MSG_NAVIGATION_HELP = 0x89d,
/*20120417 to latest
ALL
-All
20130807 to 20130814
도움말
Help
@@ -13374,7 +13370,6 @@ Help
Map
20130807 to 20130814
ALL
-All
*/
MSG_NAVIGATION_MAP = 0x89f,
/*20120417 to latest
@@ -15509,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
@@ -15524,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
@@ -15557,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
@@ -15568,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
@@ -16345,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
@@ -16416,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
@@ -16677,7 +16667,6 @@ Adventure
%s GD
20141001 to latest
%s
-%s
*/
MSG_CASH_GEDARE_MONEY = 0xa5f,
/*20140723 to 20140723
@@ -16918,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
@@ -17374,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
@@ -17554,24 +17538,24 @@ 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
#if PACKETVER >= 20150826
-/*20150826 to latest
+/*20150826 to 20180919
해당 태그는 이름으로 사용하실 수 없습니다.
Name with this tag cannot be used.
+20181002 to latest
+ 해당 내용은 이름으로 사용하실 수 없습니다.
+You cannot use the tag as a name.
*/
MSG_ID_AFC = 0xafc,
#endif
@@ -17794,7 +17778,6 @@ SNS통신
TWITTER
20160824 to latest
Twitter
-TWITTER
*/
MSG_ID_B1D = 0xb1d,
/*20160224 to latest
@@ -18158,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
@@ -18775,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
@@ -19032,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
@@ -19048,6 +19034,7 @@ Exp
MSG_ID_C01 = 0xc01,
/*20161228 to latest
Play Replay Flie
+Start replay
*/
MSG_ID_C02 = 0xc02,
/*20161228 to latest
@@ -19064,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
@@ -19084,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
@@ -19096,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
@@ -19113,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
@@ -19666,6 +19661,7 @@ Loading the mailbox.
MSG_ID_C76 = 0xc76,
/*20170315 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_C77 = 0xc77,
/*20170315 to latest
@@ -19930,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
@@ -20088,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
@@ -20251,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
@@ -20380,6 +20380,7 @@ TokenAgency 서버 연결 실패
MSG_ID_D0D = 0xd0d,
/*20171025 to latest
삭제
+Delete
*/
MSG_ID_D0E = 0xd0e,
/*20171025 to latest
@@ -20443,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
@@ -20570,6 +20622,7 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D3B = 0xd3b,
/*20171108 to latest
태권
+Taekwon
*/
MSG_ID_D3C = 0xd3c,
#endif
@@ -20612,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
@@ -20698,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
@@ -20716,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
@@ -20812,8 +20876,10 @@ Password
불량 단어가 포함된 이름은 검색할 수 없습니다.
*/
MSG_ID_D71 = 0xd71,
-/*20171213 to latest
+/*20171213 to 20191127
파티 마스터가 요청을 받을 수 없는 맵에 있습니다.
+20191204 to latest
+파티 마스터가 요청을 받을 수 없는 상태입니다.
*/
MSG_ID_D72 = 0xd72,
/*20171213 to latest
@@ -20822,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
@@ -20982,6 +21050,7 @@ This is not the current attendance check event
MSG_ID_D93 = 0xd93,
/*20180207 to latest
개인 상납 경험치가 max에 도달하여, 더 이상 길드 경험치를 누적할 수 없습니다.
+
*/
MSG_ID_D94 = 0xd94,
#endif
@@ -21034,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
@@ -21052,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
@@ -21112,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
@@ -21124,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
@@ -21166,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
@@ -21256,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
@@ -21278,13 +21365,1105 @@ 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
+공지
+Notice
+*/
+ MSG_ID_DDA = 0xdda,
+/*20181002 to latest
+일반
+General
+*/
+ MSG_ID_DDB = 0xddb,
+/*20181002 to latest
+반송
+Clear
+*/
+ MSG_ID_DDC = 0xddc,
+/*20181002 to latest
+검색
+Search
+*/
+ MSG_ID_DDD = 0xddd,
+#endif
+#if PACKETVER >= 20181031
+/*20181031 to latest
+펫 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDE = 0xdde,
+/*20181031 to latest
+호문 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDF = 0xddf,
+/*20181031 to latest
+화폐
+*/
+ MSG_ID_DE0 = 0xde0,
+/*20181031 to latest
+%s %d개
+*/
+ MSG_ID_DE1 = 0xde1,
+/*20181031 to latest
+교환에 실패하였습니다.
+*/
+ MSG_ID_DE2 = 0xde2,
+/*20181031 to latest
+교환이 잘 이루어졌습니다.
+*/
+ MSG_ID_DE3 = 0xde3,
+/*20181031 to latest
+교환에 필요한 재화가 부족합니다.
+*/
+ MSG_ID_DE4 = 0xde4,
+/*20181031 to latest
+해당 아이템은 이미 판매되어 재고가 부족합니다.
+*/
+ MSG_ID_DE5 = 0xde5,
+/*20181031 to latest
+사망
+*/
+ MSG_ID_DE6 = 0xde6,
+/*20181031 to latest
+PvP
+*/
+ MSG_ID_DE7 = 0xde7,
+/*20181031 to latest
+아이템 소지 확장
+*/
+ MSG_ID_DE8 = 0xde8,
+/*20181031 to 20181031
+(^0000ff%s^000000)을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+20181107 to latest
+^0000ff%s^000000을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+*/
+ MSG_ID_DE9 = 0xde9,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장에 실패하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 실패하였습니다.
+*/
+ MSG_ID_DEA = 0xdea,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+*/
+ MSG_ID_DEB = 0xdeb,
+/*20181031 to 20181031
+아이템 소지 확장에 필요한 아이템을 소지하고 있지 않습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 필요한 아이템을 소지하고 있지 않습니다.
+*/
+ MSG_ID_DEC = 0xdec,
+/*20181031 to 20181031
+이미 아이템 소지 종류 수 확장이 최대로 적용 중입니다.
+20181107 to latest
+더 이상 아이템 최대 소지 종류수를 확장 할 수 없습니다.
+*/
+ MSG_ID_DED = 0xded,
+/*20181031 to 20181031
+아이템 소지 확장에 성공하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 성공하였습니다.
+*/
+ MSG_ID_DEE = 0xdee,
+#endif
+#if PACKETVER >= 20181121
+/*20181121 to latest
+같은 아이템을 %d개 이상 가질 수 없습니다.
+*/
+ MSG_ID_DEF = 0xdef,
+/*20181121 to latest
+소지 한계량 초과로 구입이 불가능합니다.
+*/
+ MSG_ID_DF0 = 0xdf0,
+/*20181121 to latest
+해당 아이템은 한 번에 한 개만 살 수 있습니다.
+*/
+ MSG_ID_DF1 = 0xdf1,
+#endif
+#if PACKETVER >= 20181205
+/*20181205 to latest
+성제
+*/
+ MSG_ID_DF2 = 0xdf2,
+/*20181205 to latest
+소울리퍼
+*/
+ MSG_ID_DF3 = 0xdf3,
+#endif
+#if PACKETVER >= 20181212
+/*20181212 to latest
+설정한 내용은 정상 종료 시 서버에 저장됩니다.
+*/
+ MSG_ID_DF4 = 0xdf4,
+#endif
+#if PACKETVER >= 20190109
+/*20190109 to latest
+Capture Monster
+Taming monster
+*/
+ MSG_ID_DF5 = 0xdf5,
+/*20190109 to latest
+message
+*/
+ MSG_ID_DF6 = 0xdf6,
+/*20190109 to latest
+TITLE
+Header
+*/
+ MSG_ID_DF7 = 0xdf7,
+/*20190109 to latest
+데미지 표기 확장
+*/
+ MSG_ID_DF8 = 0xdf8,
+#endif
+#if PACKETVER >= 20190213
+/*20190213 to latest
+맵 이름 표기
+*/
+ MSG_ID_DF9 = 0xdf9,
+/*20190213 to latest
+시스템 메세지 : 현재 노점보기 기능이 %s 상태입니다. (/노점보기)
+*/
+ MSG_ID_DFA = 0xdfa,
+/*20190213 to latest
+수직 동기
+*/
+ MSG_ID_DFB = 0xdfb,
+/*20190213 to latest
+자료
+*/
+ MSG_ID_DFC = 0xdfc,
+/*20190213 to 20190228
+http://rodata.zhaouc.com/renwu.html#container
+20190306 to latest
+http://rodata.zhaouc.com/renwu.html
+*/
+ MSG_ID_DFD = 0xdfd,
+/*20190213 to latest
+작위
+*/
+ MSG_ID_DFE = 0xdfe,
+/*20190213 to latest
+프레임 제한
+*/
+ MSG_ID_DFF = 0xdff,
+#endif
+#if PACKETVER >= 20190227
+/*20190227 to latest
+%d개를 초과할 경우 더 이상 설치 할 수 없습니다.
+*/
+ MSG_ID_E00 = 0xe00,
+/*20190227 to latest
+목적지
+*/
+ MSG_ID_E01 = 0xe01,
+#endif
+#if PACKETVER >= 20190306
+/*20190306 to latest
+잠시 후 다시 시도해주세요.
+Please try again in a moment.
+*/
+ MSG_ID_E02 = 0xe02,
+/*20190306 to latest
+등록할 수 없는 파일입니다.
+*/
+ MSG_ID_E03 = 0xe03,
+#endif
+#if PACKETVER >= 20190320
+/*20190320 to latest
+선택 삭제
+*/
+ MSG_ID_E04 = 0xe04,
+/*20190320 to latest
+모두 삭제
+*/
+ MSG_ID_E05 = 0xe05,
+/*20190320 to latest
+[%s]편지함의 모든 메일을 삭제하시겠습니까?
+*/
+ MSG_ID_E06 = 0xe06,
+/*20190320 to latest
+선택 받기
+*/
+ MSG_ID_E07 = 0xe07,
+/*20190320 to latest
+모두 받기
+*/
+ MSG_ID_E08 = 0xe08,
+/*20190320 to latest
+선택한 메일의 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E09 = 0xe09,
+/*20190320 to latest
+[%s]편지함의 모든 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E0A = 0xe0a,
+#endif
+#if PACKETVER >= 20190403
+/*20190403 to latest
+스킬바2
+*/
+ MSG_ID_E0B = 0xe0b,
+/*20190403 to latest
+스킬바 교체
+*/
+ MSG_ID_E0C = 0xe0c,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E0D = 0xe0d,
+/*20190403 to latest
+↑
+*/
+ MSG_ID_E0E = 0xe0e,
+/*20190403 to latest
+→
+*/
+ MSG_ID_E0F = 0xe0f,
+/*20190403 to latest
+↓
+*/
+ MSG_ID_E10 = 0xe10,
+/*20190403 to latest
+▤
+*/
+ MSG_ID_E11 = 0xe11,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E12 = 0xe12,
+/*20190403 to latest
+로딩중에는 창을 닫을 수 없습니다.
+*/
+ MSG_ID_E13 = 0xe13,
+#endif
+#if PACKETVER >= 20190417
+/*20190417 to latest
+리딩 스펠북으로 저장된 마법이 없습니다.
+*/
+ MSG_ID_E14 = 0xe14,
+/*20190417 to latest
+이동 시 사용한 아이템은 재교환이 불가능합니다.
+*/
+ MSG_ID_E15 = 0xe15,
+/*20190417 to latest
+자유이동권을 구매 하였습니다
+*/
+ MSG_ID_E16 = 0xe16,
+/*20190417 to latest
+자유이동권 사용 중, 관련 아이템을 소모하지 않습니다.
+*/
+ MSG_ID_E17 = 0xe17,
+/*20190417 to latest
+적용
+*/
+ MSG_ID_E18 = 0xe18,
+/*20190417 to latest
+중지
+*/
+ MSG_ID_E19 = 0xe19,
+#endif
+#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
};
#endif /* MAP_MESSAGES_MAIN_H */
diff --git a/src/map/messages_re.h b/src/map/messages_re.h
index c263150e3..294084c65 100644
--- a/src/map/messages_re.h
+++ b/src/map/messages_re.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -23,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20180919
+Latest version: 20200108
*/
enum clif_messages {
@@ -624,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
@@ -751,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
@@ -1228,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
@@ -3913,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
@@ -4394,9 +4398,11 @@ Thief
Knight
*/
MSG_KNIGHT = 0x364,
-/*20080827 to latest
+/*20080827 to 20181128
Prieset
Priest
+20181205 to latest
+Priest
*/
MSG_PRIEST = 0x365,
/*20080827 to latest
@@ -4964,16 +4970,18 @@ High Wizard
MSG_WIZARD_H = 0x3da,
/*20080827 to latest
White Smith
-WhiteSmith
+MasterSmith
*/
MSG_BLACKSMITH_H = 0x3db,
/*20080827 to latest
Sniper
*/
MSG_HUNTER_H = 0x3dc,
-/*20080827 to latest
+/*20080827 to 20181128
Saaassin Cross
Assassin Cross
+20181205 to latest
+Assassin Cross
*/
MSG_ASSASSIN_H = 0x3dd,
/*20080827 to latest
@@ -5001,9 +5009,11 @@ Sniper_W
Sniper
*/
MSG_HUNTER_H_W = 0x3e2,
-/*20080827 to latest
+/*20080827 to 20181128
Saaassin Cross_W
Assassin Cross
+20181205 to latest
+Assassin Cross_W
*/
MSG_ASSASSIN_H_W = 0x3e3,
/*20080827 to latest
@@ -6616,7 +6626,6 @@ Quest List
MSG_QUESTWIN = 0x525,
/*20080827 to latest
RO SHOP
-RO Shop
*/
MSG_RO_SHOP = 0x526,
/*20080827 to latest
@@ -6771,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
@@ -10427,7 +10438,6 @@ ITEM
MSG_MACRO_SKILL = 0x775,
/*20110228 to 20110228
Next attack time :
-Next attack time:
20110308 to latest
TACTIC
20130807 to 20130814
@@ -10444,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
@@ -10488,7 +10499,6 @@ ATTACK
MSG_MACRO_ATTACK = 0x77d,
/*20110308 to latest
Next attack time :
-Next attack time:
20130807 to 20130814
ATTACK
*/
@@ -10497,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
*/
@@ -10510,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
@@ -10539,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.
@@ -10550,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
@@ -10818,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
@@ -10876,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
@@ -10889,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
@@ -10990,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
@@ -11068,6 +11061,7 @@ The same file exists already.
MSG_REPLAY_RECORDSTART = 0x7c6,
/*20110816 to latest
is Saved.
+Recording saved
20130807 to 20130814
Record Start
*/
@@ -11076,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
@@ -11094,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
@@ -11114,7 +11107,6 @@ Base Lv. %d
MSG__BASIC_MSG_JOB = 0x7cc,
/*20110831 to latest
Zeny : %s
-Zeny: %s
20130807 to 20130814
Job Lv. %d
*/
@@ -11123,7 +11115,6 @@ Job Lv. %d
Trilinear
20130807 to 20130814
Zeny : %s
-Zeny: %s
*/
MSG_GRAPHIC_MSG_TRILINEAR = 0x7ce,
/*20110831 to latest
@@ -11146,6 +11137,7 @@ skill
MSG_GRAPHIC_MSG_ITEM = 0x7d1,
/*20110831 to latest
NoCtrl
+Ctrl
20130807 to 20130814
item
*/
@@ -11155,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
@@ -11169,6 +11163,7 @@ Premium Service
VIP Service
20130807 to 20130814
(Character/Total Slot)
+(Characters/Total slots)
*/
MSG_CHARACTER_MSG_PREMIUMSERVICE = 0x7d5,
/*20110831 to latest
@@ -12507,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
@@ -12519,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
@@ -12840,7 +12837,6 @@ Change to Default UI
MSG_NAVIGATION_HELP = 0x89d,
/*20120417 to latest
ALL
-All
20130807 to 20130814
도움말
Help
@@ -12850,7 +12846,6 @@ Help
Map
20130807 to 20130814
ALL
-All
*/
MSG_NAVIGATION_MAP = 0x89f,
/*20120417 to latest
@@ -14985,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
@@ -15000,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
@@ -15033,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
@@ -15044,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
@@ -15821,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
@@ -15892,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
@@ -16153,7 +16143,6 @@ Adventure
%s GD
20141001 to latest
%s
-%s
*/
MSG_CASH_GEDARE_MONEY = 0xa5f,
/*20140723 to 20140723
@@ -16394,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
@@ -16850,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
@@ -17030,24 +17014,24 @@ 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
#if PACKETVER >= 20150826
-/*20150826 to latest
+/*20150826 to 20180919
해당 태그는 이름으로 사용하실 수 없습니다.
Name with this tag cannot be used.
+20181002 to latest
+ 해당 내용은 이름으로 사용하실 수 없습니다.
+You cannot use the tag as a name.
*/
MSG_ID_AFC = 0xafc,
#endif
@@ -17270,7 +17254,6 @@ SNS통신
TWITTER
20160824 to latest
Twitter
-TWITTER
*/
MSG_ID_B1D = 0xb1d,
/*20160224 to latest
@@ -17634,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
@@ -18256,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
@@ -18513,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
@@ -18529,6 +18515,7 @@ Exp
MSG_ID_C01 = 0xc01,
/*20161228 to latest
Play Replay Flie
+Start replay
*/
MSG_ID_C02 = 0xc02,
/*20161228 to latest
@@ -18545,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
@@ -18565,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
@@ -18577,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
@@ -18594,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
@@ -19147,6 +19142,7 @@ Loading the mailbox.
MSG_ID_C76 = 0xc76,
/*20170315 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_C77 = 0xc77,
/*20170315 to latest
@@ -19409,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
@@ -19567,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
@@ -19730,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
@@ -19859,6 +19859,7 @@ TokenAgency 서버 연결 실패
MSG_ID_D0D = 0xd0d,
/*20171025 to latest
삭제
+Delete
*/
MSG_ID_D0E = 0xd0e,
/*20171025 to latest
@@ -19922,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
@@ -20049,6 +20101,7 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D3B = 0xd3b,
/*20171108 to latest
태권
+Taekwon
*/
MSG_ID_D3C = 0xd3c,
/*20171108 to 20171115
@@ -20091,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
@@ -20177,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
@@ -20195,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
@@ -20291,8 +20355,10 @@ Password
불량 단어가 포함된 이름은 검색할 수 없습니다.
*/
MSG_ID_D71 = 0xd71,
-/*20171213 to latest
+/*20171213 to 20191127
파티 마스터가 요청을 받을 수 없는 맵에 있습니다.
+20191204 to latest
+파티 마스터가 요청을 받을 수 없는 상태입니다.
*/
MSG_ID_D72 = 0xd72,
/*20171213 to latest
@@ -20301,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
@@ -20461,6 +20529,7 @@ This is not the current attendance check event
MSG_ID_D93 = 0xd93,
/*20180207 to latest
개인 상납 경험치가 max에 도달하여, 더 이상 길드 경험치를 누적할 수 없습니다.
+
*/
MSG_ID_D94 = 0xd94,
#endif
@@ -20513,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
@@ -20531,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
@@ -20591,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
@@ -20603,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
@@ -20645,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
@@ -20735,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
@@ -20757,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
@@ -20802,6 +20895,1052 @@ Search
*/
MSG_ID_DDD = 0xddd,
#endif
+#if PACKETVER >= 20181031
+/*20181031 to latest
+펫 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDE = 0xdde,
+/*20181031 to latest
+호문 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDF = 0xddf,
+/*20181031 to latest
+화폐
+*/
+ MSG_ID_DE0 = 0xde0,
+/*20181031 to latest
+%s %d개
+*/
+ MSG_ID_DE1 = 0xde1,
+/*20181031 to latest
+교환에 실패하였습니다.
+*/
+ MSG_ID_DE2 = 0xde2,
+/*20181031 to latest
+교환이 잘 이루어졌습니다.
+*/
+ MSG_ID_DE3 = 0xde3,
+/*20181031 to latest
+교환에 필요한 재화가 부족합니다.
+*/
+ MSG_ID_DE4 = 0xde4,
+/*20181031 to latest
+해당 아이템은 이미 판매되어 재고가 부족합니다.
+*/
+ MSG_ID_DE5 = 0xde5,
+/*20181031 to latest
+사망
+*/
+ MSG_ID_DE6 = 0xde6,
+/*20181031 to latest
+PvP
+*/
+ MSG_ID_DE7 = 0xde7,
+/*20181031 to latest
+아이템 소지 확장
+*/
+ MSG_ID_DE8 = 0xde8,
+/*20181031 to 20181031
+(^0000ff%s^000000)을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+20181107 to latest
+^0000ff%s^000000을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+*/
+ MSG_ID_DE9 = 0xde9,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장에 실패하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 실패하였습니다.
+*/
+ MSG_ID_DEA = 0xdea,
+/*20181031 to 20181031
+아이템 소지 종류 수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+*/
+ MSG_ID_DEB = 0xdeb,
+/*20181031 to 20181031
+아이템 소지 확장에 필요한 아이템을 소지하고 있지 않습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 필요한 아이템을 소지하고 있지 않습니다.
+*/
+ MSG_ID_DEC = 0xdec,
+/*20181031 to 20181031
+이미 아이템 소지 종류 수 확장이 최대로 적용 중입니다.
+20181107 to latest
+더 이상 아이템 최대 소지 종류수를 확장 할 수 없습니다.
+*/
+ MSG_ID_DED = 0xded,
+/*20181031 to 20181031
+아이템 소지 확장에 성공하였습니다.
+20181107 to latest
+아이템 최대 소지 종류수 확장에 성공하였습니다.
+*/
+ MSG_ID_DEE = 0xdee,
+#endif
+#if PACKETVER >= 20181121
+/*20181121 to latest
+같은 아이템을 %d개 이상 가질 수 없습니다.
+*/
+ MSG_ID_DEF = 0xdef,
+/*20181121 to latest
+소지 한계량 초과로 구입이 불가능합니다.
+*/
+ MSG_ID_DF0 = 0xdf0,
+/*20181121 to latest
+해당 아이템은 한 번에 한 개만 살 수 있습니다.
+*/
+ MSG_ID_DF1 = 0xdf1,
+#endif
+#if PACKETVER >= 20181205
+/*20181205 to latest
+성제
+*/
+ MSG_ID_DF2 = 0xdf2,
+/*20181205 to latest
+소울리퍼
+*/
+ MSG_ID_DF3 = 0xdf3,
+#endif
+#if PACKETVER >= 20181212
+/*20181212 to latest
+설정한 내용은 정상 종료 시 서버에 저장됩니다.
+*/
+ MSG_ID_DF4 = 0xdf4,
+#endif
+#if PACKETVER >= 20190109
+/*20190109 to latest
+Capture Monster
+Taming monster
+*/
+ MSG_ID_DF5 = 0xdf5,
+/*20190109 to latest
+message
+*/
+ MSG_ID_DF6 = 0xdf6,
+/*20190109 to latest
+TITLE
+Header
+*/
+ MSG_ID_DF7 = 0xdf7,
+/*20190109 to latest
+데미지 표기 확장
+*/
+ MSG_ID_DF8 = 0xdf8,
+#endif
+#if PACKETVER >= 20190213
+/*20190213 to latest
+맵 이름 표기
+*/
+ MSG_ID_DF9 = 0xdf9,
+/*20190213 to latest
+시스템 메세지 : 현재 노점보기 기능이 %s 상태입니다. (/노점보기)
+*/
+ MSG_ID_DFA = 0xdfa,
+/*20190213 to latest
+수직 동기
+*/
+ MSG_ID_DFB = 0xdfb,
+/*20190213 to latest
+자료
+*/
+ MSG_ID_DFC = 0xdfc,
+/*20190213 to 20190228
+http://rodata.zhaouc.com/renwu.html#container
+20190306 to latest
+http://rodata.zhaouc.com/renwu.html
+*/
+ MSG_ID_DFD = 0xdfd,
+/*20190213 to latest
+작위
+*/
+ MSG_ID_DFE = 0xdfe,
+/*20190213 to latest
+프레임 제한
+*/
+ MSG_ID_DFF = 0xdff,
+#endif
+#if PACKETVER >= 20190220
+/*20190220 to latest
+%d개를 초과할 경우 더 이상 설치 할 수 없습니다.
+*/
+ MSG_ID_E00 = 0xe00,
+/*20190220 to latest
+목적지
+*/
+ MSG_ID_E01 = 0xe01,
+#endif
+#if PACKETVER >= 20190306
+/*20190306 to latest
+잠시 후 다시 시도해주세요.
+Please try again in a moment.
+*/
+ MSG_ID_E02 = 0xe02,
+/*20190306 to latest
+등록할 수 없는 파일입니다.
+*/
+ MSG_ID_E03 = 0xe03,
+#endif
+#if PACKETVER >= 20190320
+/*20190320 to latest
+선택 삭제
+*/
+ MSG_ID_E04 = 0xe04,
+/*20190320 to latest
+모두 삭제
+*/
+ MSG_ID_E05 = 0xe05,
+/*20190320 to latest
+[%s]편지함의 모든 메일을 삭제하시겠습니까?
+*/
+ MSG_ID_E06 = 0xe06,
+/*20190320 to latest
+선택 받기
+*/
+ MSG_ID_E07 = 0xe07,
+/*20190320 to latest
+모두 받기
+*/
+ MSG_ID_E08 = 0xe08,
+/*20190320 to latest
+선택한 메일의 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E09 = 0xe09,
+/*20190320 to latest
+[%s]편지함의 모든 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E0A = 0xe0a,
+#endif
+#if PACKETVER >= 20190403
+/*20190403 to latest
+스킬바2
+*/
+ MSG_ID_E0B = 0xe0b,
+/*20190403 to latest
+스킬바 교체
+*/
+ MSG_ID_E0C = 0xe0c,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E0D = 0xe0d,
+/*20190403 to latest
+↑
+*/
+ MSG_ID_E0E = 0xe0e,
+/*20190403 to latest
+→
+*/
+ MSG_ID_E0F = 0xe0f,
+/*20190403 to latest
+↓
+*/
+ MSG_ID_E10 = 0xe10,
+/*20190403 to latest
+▤
+*/
+ MSG_ID_E11 = 0xe11,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E12 = 0xe12,
+/*20190403 to latest
+로딩중에는 창을 닫을 수 없습니다.
+*/
+ MSG_ID_E13 = 0xe13,
+#endif
+#if PACKETVER >= 20190417
+/*20190417 to latest
+리딩 스펠북으로 저장된 마법이 없습니다.
+*/
+ MSG_ID_E14 = 0xe14,
+/*20190417 to latest
+이동 시 사용한 아이템은 재교환이 불가능합니다.
+*/
+ MSG_ID_E15 = 0xe15,
+/*20190417 to latest
+자유이동권을 구매 하였습니다
+*/
+ MSG_ID_E16 = 0xe16,
+/*20190417 to latest
+자유이동권 사용 중, 관련 아이템을 소모하지 않습니다.
+*/
+ MSG_ID_E17 = 0xe17,
+/*20190417 to latest
+적용
+*/
+ MSG_ID_E18 = 0xe18,
+/*20190417 to latest
+중지
+*/
+ MSG_ID_E19 = 0xe19,
+#endif
+#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
};
#endif /* MAP_MESSAGES_RE_H */
diff --git a/src/map/messages_sak.h b/src/map/messages_sak.h
index 2cfe085c8..00e414b22 100644
--- a/src/map/messages_sak.h
+++ b/src/map/messages_sak.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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 c562bb07c..305f76911 100644
--- a/src/map/messages_zero.h
+++ b/src/map/messages_zero.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -23,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20180919
+Latest version: 20191224
*/
enum clif_messages {
@@ -624,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
@@ -751,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
@@ -1224,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
@@ -3901,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
@@ -4382,9 +4386,11 @@ Thief
Knight
*/
MSG_KNIGHT = 0x364,
-/*20171018 to latest
+/*20171018 to 20181128
Prieset
Priest
+20181212 to latest
+Priest
*/
MSG_PRIEST = 0x365,
/*20171018 to latest
@@ -4952,16 +4958,18 @@ High Wizard
MSG_WIZARD_H = 0x3da,
/*20171018 to latest
White Smith
-WhiteSmith
+MasterSmith
*/
MSG_BLACKSMITH_H = 0x3db,
/*20171018 to latest
Sniper
*/
MSG_HUNTER_H = 0x3dc,
-/*20171018 to latest
+/*20171018 to 20181128
Saaassin Cross
Assassin Cross
+20181212 to latest
+Assassin Cross
*/
MSG_ASSASSIN_H = 0x3dd,
/*20171018 to latest
@@ -4989,9 +4997,11 @@ Sniper_W
Sniper
*/
MSG_HUNTER_H_W = 0x3e2,
-/*20171018 to latest
+/*20171018 to 20181128
Saaassin Cross_W
Assassin Cross
+20181212 to latest
+Assassin Cross_W
*/
MSG_ASSASSIN_H_W = 0x3e3,
/*20171018 to latest
@@ -6570,7 +6580,6 @@ Quest List
MSG_QUESTWIN = 0x525,
/*20171018 to latest
RO SHOP
-RO Shop
*/
MSG_RO_SHOP = 0x526,
/*20171018 to latest
@@ -9551,7 +9560,6 @@ ATTACK
MSG_MACRO_ATTACK = 0x77d,
/*20171018 to latest
Next attack time :
-Next attack time:
*/
MSG_MACRO_NEXT_ATK_TIME = 0x77e,
/*20171018 to latest
@@ -9560,6 +9568,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
@@ -9582,7 +9591,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
@@ -9738,37 +9746,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
@@ -9778,17 +9779,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
@@ -9848,10 +9846,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
@@ -9898,16 +9898,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
@@ -9925,7 +9925,6 @@ Job Lv. %d
MSG__BASIC_MSG_JOB = 0x7cc,
/*20171018 to latest
Zeny : %s
-Zeny: %s
*/
MSG_BASIC_MSG_ZENY = 0x7cd,
/*20171018 to latest
@@ -9946,6 +9945,7 @@ item
MSG_GRAPHIC_MSG_ITEM = 0x7d1,
/*20171018 to latest
NoCtrl
+Ctrl
*/
MSG_GRAPHIC_MSG_NOCTRL = 0x7d2,
/*20171018 to latest
@@ -9955,6 +9955,7 @@ More
MSG_GRAPHIC_MSG_BATTLE = 0x7d3,
/*20171018 to latest
(Character/Total Slot)
+(Characters/Total slots)
*/
MSG_CHARACTER_MSG_CHARACTERTOTALSLOT = 0x7d4,
/*20171018 to latest
@@ -10754,6 +10755,7 @@ Rename
MSG_CHANGE_CHARACTER_NAME = 0x875,
/*20171018 to latest
Make Character
+Create Character
*/
MSG_MSG_MAKECHARCTER = 0x876,
/*20171018 to latest
@@ -10951,7 +10953,6 @@ Help
MSG_NAVIGATION_HELP = 0x89d,
/*20171018 to latest
ALL
-All
*/
MSG_NAVIGATION_ALL = 0x89e,
/*20171018 to latest
@@ -12216,7 +12217,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
@@ -12241,7 +12242,6 @@ The price of^0000FF %s^000000
MSG_WARNING_PRICE1 = 0x9a9,
/*20171018 to latest
100000000
-1000000000
*/
MSG_WARNING_PRICE2 = 0x9aa,
/*20171018 to latest
@@ -12890,7 +12890,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
@@ -12945,17 +12945,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
@@ -13139,7 +13136,6 @@ Cracker is low.
MSG_CASH_GEDARE_FAIL_MONEY = 0xa5e,
/*20171018 to latest
%s
-%s
*/
MSG_CASH_GEDARE_MONEY = 0xa5f,
/*20171018 to latest
@@ -13334,17 +13330,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
@@ -13751,12 +13744,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
@@ -13913,22 +13904,22 @@ 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 latest
+/*20171018 to 20180928
해당 태그는 이름으로 사용하실 수 없습니다.
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
@@ -14096,7 +14087,6 @@ Screenshots are not attached
MSG_ID_B1C = 0xb1c,
/*20171018 to latest
Twitter
-TWITTER
*/
MSG_ID_B1D = 0xb1d,
/*20171018 to latest
@@ -14434,7 +14424,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
@@ -14995,10 +14984,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
@@ -15230,10 +15221,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
@@ -15246,6 +15239,7 @@ Exp
MSG_ID_C01 = 0xc01,
/*20171018 to latest
Play Replay Flie
+Start replay
*/
MSG_ID_C02 = 0xc02,
/*20171018 to latest
@@ -15262,14 +15256,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
@@ -15282,10 +15279,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
@@ -15294,15 +15293,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
@@ -15311,10 +15311,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
@@ -15827,6 +15829,7 @@ Loading the mailbox.
MSG_ID_C76 = 0xc76,
/*20171018 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_C77 = 0xc77,
/*20171018 to latest
@@ -16046,6 +16049,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
@@ -16192,6 +16196,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
@@ -16347,9 +16352,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
@@ -16471,6 +16478,7 @@ TokenAgency 서버 연결 실패
MSG_ID_D0D = 0xd0d,
/*20171023 to latest
삭제
+Delete
*/
MSG_ID_D0E = 0xd0e,
/*20171023 to latest
@@ -16536,92 +16544,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
@@ -16665,6 +16724,7 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D3B = 0xd3b,
/*20171109 to latest
태권
+Taekwon
*/
MSG_ID_D3C = 0xd3c,
/*20171109 to 20171117
@@ -16705,10 +16765,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
@@ -16793,12 +16855,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
@@ -16811,12 +16878,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
@@ -16915,8 +16986,10 @@ Password
불량 단어가 포함된 이름은 검색할 수 없습니다.
*/
MSG_ID_D71 = 0xd71,
-/*20171213 to latest
+/*20171213 to 20191127
파티 마스터가 요청을 받을 수 없는 맵에 있습니다.
+20191204 to latest
+파티 마스터가 요청을 받을 수 없는 상태입니다.
*/
MSG_ID_D72 = 0xd72,
/*20171213 to latest
@@ -16925,8 +16998,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
@@ -17085,6 +17160,7 @@ This is not the current attendance check event
MSG_ID_D93 = 0xd93,
/*20180207 to latest
개인 상납 경험치가 max에 도달하여, 더 이상 길드 경험치를 누적할 수 없습니다.
+
*/
MSG_ID_D94 = 0xd94,
#endif
@@ -17135,10 +17211,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
@@ -17153,8 +17232,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
@@ -17215,16 +17296,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
@@ -17257,16 +17343,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
@@ -17345,14 +17435,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
@@ -17361,6 +17454,7 @@ DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
'
20180808 to latest
영문이나 러시아어 단독으로만 사용이 가능합니다.
+Forbidden symbols in character name.
*/
MSG_ID_DD2 = 0xdd2,
/*20180725 to 20180801
@@ -17373,30 +17467,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
@@ -17420,6 +17520,1022 @@ Search
*/
MSG_ID_DDD = 0xddd,
#endif
+#if PACKETVER >= 20181024
+/*20181024 to latest
+펫 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDE = 0xdde,
+/*20181024 to latest
+호문 먹이주기에 실패했습니다. 먹이를 줄 수 없는 상태입니다.
+*/
+ MSG_ID_DDF = 0xddf,
+/*20181024 to latest
+화폐
+*/
+ MSG_ID_DE0 = 0xde0,
+/*20181024 to latest
+%s %d개
+*/
+ MSG_ID_DE1 = 0xde1,
+/*20181024 to latest
+교환에 실패하였습니다.
+*/
+ MSG_ID_DE2 = 0xde2,
+/*20181024 to latest
+교환이 잘 이루어졌습니다.
+*/
+ MSG_ID_DE3 = 0xde3,
+/*20181024 to latest
+교환에 필요한 재화가 부족합니다.
+*/
+ MSG_ID_DE4 = 0xde4,
+/*20181024 to latest
+해당 아이템은 이미 판매되어 재고가 부족합니다.
+*/
+ MSG_ID_DE5 = 0xde5,
+/*20181024 to latest
+사망
+*/
+ MSG_ID_DE6 = 0xde6,
+/*20181024 to latest
+PvP
+*/
+ MSG_ID_DE7 = 0xde7,
+#endif
+#if PACKETVER >= 20181114
+/*20181114 to latest
+아이템 소지 확장
+*/
+ MSG_ID_DE8 = 0xde8,
+/*20181114 to latest
+^0000ff%s^000000을 소모하여, 아이템 최대 소지 종류수를 확장하시겠습니까?
+(^0000ff%d^000000)에서 (^0000ff%d^000000)로 확장됩니다.
+^ff0000※ 소모된 아이템 및 확장된 최대 소지 종류수는 되돌릴 수 없습니다.^000000
+*/
+ MSG_ID_DE9 = 0xde9,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장에 실패하였습니다.
+*/
+ MSG_ID_DEA = 0xdea,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장을 위해, 다른 작업을 종료하여 주시기 바랍니다.
+*/
+ MSG_ID_DEB = 0xdeb,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장에 필요한 아이템을 소지하고 있지 않습니다.
+*/
+ MSG_ID_DEC = 0xdec,
+/*20181114 to latest
+더 이상 아이템 최대 소지 종류수를 확장 할 수 없습니다.
+*/
+ MSG_ID_DED = 0xded,
+/*20181114 to latest
+아이템 최대 소지 종류수 확장에 성공하였습니다.
+*/
+ MSG_ID_DEE = 0xdee,
+/*20181114 to latest
+같은 아이템을 %d개 이상 가질 수 없습니다.
+*/
+ MSG_ID_DEF = 0xdef,
+/*20181114 to latest
+소지 한계량 초과로 구입이 불가능합니다.
+*/
+ MSG_ID_DF0 = 0xdf0,
+/*20181114 to latest
+해당 아이템은 한 번에 한 개만 살 수 있습니다.
+*/
+ MSG_ID_DF1 = 0xdf1,
+#endif
+#if PACKETVER >= 20181212
+/*20181212 to latest
+성제
+*/
+ MSG_ID_DF2 = 0xdf2,
+/*20181212 to latest
+소울리퍼
+*/
+ MSG_ID_DF3 = 0xdf3,
+/*20181212 to latest
+설정한 내용은 정상 종료 시 서버에 저장됩니다.
+*/
+ MSG_ID_DF4 = 0xdf4,
+#endif
+#if PACKETVER >= 20181226
+/*20181226 to latest
+Capture Monster
+Taming monster
+*/
+ MSG_ID_DF5 = 0xdf5,
+/*20181226 to latest
+message
+*/
+ MSG_ID_DF6 = 0xdf6,
+#endif
+#if PACKETVER >= 20190116
+/*20190116 to latest
+TITLE
+Header
+*/
+ MSG_ID_DF7 = 0xdf7,
+/*20190116 to latest
+데미지 표기 확장
+*/
+ MSG_ID_DF8 = 0xdf8,
+#endif
+#if PACKETVER >= 20190130
+/*20190130 to latest
+맵 이름 표기
+*/
+ MSG_ID_DF9 = 0xdf9,
+#endif
+#if PACKETVER >= 20190213
+/*20190213 to latest
+시스템 메세지 : 현재 노점보기 기능이 %s 상태입니다. (/노점보기)
+*/
+ MSG_ID_DFA = 0xdfa,
+/*20190213 to latest
+수직 동기
+*/
+ MSG_ID_DFB = 0xdfb,
+/*20190213 to latest
+자료
+*/
+ MSG_ID_DFC = 0xdfc,
+/*20190213 to 20190227
+http://rodata.zhaouc.com/renwu.html#container
+20190313 to latest
+http://rodata.zhaouc.com/renwu.html
+*/
+ MSG_ID_DFD = 0xdfd,
+/*20190213 to latest
+작위
+*/
+ MSG_ID_DFE = 0xdfe,
+/*20190213 to latest
+프레임 제한
+*/
+ MSG_ID_DFF = 0xdff,
+#endif
+#if PACKETVER >= 20190220
+/*20190220 to latest
+%d개를 초과할 경우 더 이상 설치 할 수 없습니다.
+*/
+ MSG_ID_E00 = 0xe00,
+/*20190220 to latest
+목적지
+*/
+ MSG_ID_E01 = 0xe01,
+#endif
+#if PACKETVER >= 20190313
+/*20190313 to latest
+잠시 후 다시 시도해주세요.
+Please try again in a moment.
+*/
+ MSG_ID_E02 = 0xe02,
+/*20190313 to latest
+등록할 수 없는 파일입니다.
+*/
+ MSG_ID_E03 = 0xe03,
+#endif
+#if PACKETVER >= 20190327
+/*20190327 to latest
+선택 삭제
+*/
+ MSG_ID_E04 = 0xe04,
+/*20190327 to latest
+모두 삭제
+*/
+ MSG_ID_E05 = 0xe05,
+/*20190327 to latest
+[%s]편지함의 모든 메일을 삭제하시겠습니까?
+*/
+ MSG_ID_E06 = 0xe06,
+/*20190327 to latest
+선택 받기
+*/
+ MSG_ID_E07 = 0xe07,
+/*20190327 to latest
+모두 받기
+*/
+ MSG_ID_E08 = 0xe08,
+/*20190327 to latest
+선택한 메일의 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E09 = 0xe09,
+/*20190327 to latest
+[%s]편지함의 모든 첨부 물품을 받으시겠습니까?
+*/
+ MSG_ID_E0A = 0xe0a,
+/*20190327 to latest
+스킬바2
+*/
+ MSG_ID_E0B = 0xe0b,
+/*20190327 to latest
+스킬바 교체
+*/
+ MSG_ID_E0C = 0xe0c,
+#endif
+#if PACKETVER >= 20190403
+/*20190403 to latest
+←
+*/
+ MSG_ID_E0D = 0xe0d,
+/*20190403 to latest
+↑
+*/
+ MSG_ID_E0E = 0xe0e,
+/*20190403 to latest
+→
+*/
+ MSG_ID_E0F = 0xe0f,
+/*20190403 to latest
+↓
+*/
+ MSG_ID_E10 = 0xe10,
+/*20190403 to latest
+▤
+*/
+ MSG_ID_E11 = 0xe11,
+/*20190403 to latest
+←
+*/
+ MSG_ID_E12 = 0xe12,
+/*20190403 to latest
+로딩중에는 창을 닫을 수 없습니다.
+*/
+ MSG_ID_E13 = 0xe13,
+#endif
+#if PACKETVER >= 20190424
+/*20190424 to latest
+리딩 스펠북으로 저장된 마법이 없습니다.
+*/
+ MSG_ID_E14 = 0xe14,
+/*20190424 to latest
+이동 시 사용한 아이템은 재교환이 불가능합니다.
+*/
+ MSG_ID_E15 = 0xe15,
+/*20190424 to latest
+자유이동권을 구매 하였습니다
+*/
+ MSG_ID_E16 = 0xe16,
+/*20190424 to latest
+자유이동권 사용 중, 관련 아이템을 소모하지 않습니다.
+*/
+ MSG_ID_E17 = 0xe17,
+/*20190424 to latest
+적용
+*/
+ MSG_ID_E18 = 0xe18,
+/*20190424 to latest
+중지
+*/
+ MSG_ID_E19 = 0xe19,
+/*20190424 to latest
+자유이동권
+*/
+ MSG_ID_E1A = 0xe1a,
+/*20190424 to latest
+%d시간 이용, %s %d개
+*/
+ MSG_ID_E1B = 0xe1b,
+/*20190424 to latest
+자유이용권 사용중
+*/
+ MSG_ID_E1C = 0xe1c,
+/*20190424 to latest
+특성 스테이터스
+*/
+ MSG_ID_E1D = 0xe1d,
+/*20190424 to latest
+파워 파라메터
+^cc0000물리 공격력, 특성 공격력^ffffff 증가
+*/
+ MSG_ID_E1E = 0xe1e,
+/*20190424 to latest
+스테미나 파라메터
+^cc0000물리 저항력^ffffff 증가
+*/
+ MSG_ID_E1F = 0xe1f,
+/*20190424 to latest
+위즈덤 파라메터
+^cc0000마법 저항력^ffffff 증가
+*/
+ MSG_ID_E20 = 0xe20,
+/*20190424 to latest
+스펠 파라메터
+^cc0000마법 공격력, 마법 공격력^ffffff 증가
+*/
+ MSG_ID_E21 = 0xe21,
+/*20190424 to latest
+컨센트레이션 파라메터
+^cc0000명중률, 회피율, 특성 물리/마법 공격력^ffffff 증가
+*/
+ MSG_ID_E22 = 0xe22,
+/*20190424 to latest
+크리에이티브 파라메터
+^cc0000특성 힐 회복량, 크리티컬 데미지 비율^ffffff 증가
+*/
+ MSG_ID_E23 = 0xe23,
+/*20190424 to latest
+특성 물리 공격력
+*/
+ MSG_ID_E24 = 0xe24,
+/*20190424 to latest
+특성 마법 공격력
+*/
+ MSG_ID_E25 = 0xe25,
+/*20190424 to latest
+물리 저항력
+*/
+ MSG_ID_E26 = 0xe26,
+/*20190424 to latest
+마법 저항력
+*/
+ MSG_ID_E27 = 0xe27,
+/*20190424 to latest
+특성 힐 회복량
+*/
+ MSG_ID_E28 = 0xe28,
+/*20190424 to latest
+크리티컬 데미지 비율
+*/
+ MSG_ID_E29 = 0xe29,
+/*20190424 to latest
+특성 파라메터 레벨업에 사용되는 포인트
+*/
+ MSG_ID_E2A = 0xe2a,
+#endif
+#if PACKETVER >= 20190502
+/*20190502 to latest
+J.Lv
+*/
+ MSG_ID_E2B = 0xe2b,
+/*20190502 to latest
+AP
+*/
+ MSG_ID_E2C = 0xe2c,
+#endif
+#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 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
};
#endif /* MAP_MESSAGES_ZERO_H */
diff --git a/src/map/mob.c b/src/map/mob.c
index 765acafe7..60b6977bb 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -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);
@@ -471,7 +479,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 +488,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;
@@ -1165,13 +1173,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 +1299,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 +1364,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->walktoxy(&md->bl, x, y, 0))
return 1;
}
} else if (bl->m != md->bl.m && map_flag_gvg(md->bl.m)) {
@@ -1345,26 +1379,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;
@@ -1900,15 +1936,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 +2236,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 +2278,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 +2603,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 +2614,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);
}
}
@@ -2546,7 +2628,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
if(sd) {
// process script-granted extra drop bonuses
int itemid = 0;
- for (i = 0; i < ARRAYLENGTH(sd->add_drop) && (sd->add_drop[i].id || sd->add_drop[i].group); i++)
+ for (i = 0; i < ARRAYLENGTH(sd->add_drop) && (sd->add_drop[i].id != 0 || sd->add_drop[i].is_group); i++)
{
if ( sd->add_drop[i].race == -md->class_ ||
( sd->add_drop[i].race > 0 && (
@@ -2568,9 +2650,9 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
if (rnd()%10000 >= drop_rate)
continue;
- itemid = (sd->add_drop[i].id > 0) ? sd->add_drop[i].id : itemdb->chain_item(sd->add_drop[i].group,&drop_rate);
+ itemid = (!sd->add_drop[i].is_group) ? sd->add_drop[i].id : itemdb->chain_item(sd->add_drop[i].id, &drop_rate);
if( itemid )
- mob->item_drop(md, dlist, mob->setdropitem(itemid,1,NULL), 0, drop_rate, homkillonly);
+ mob->item_drop(md, dlist, mob->setdropitem(itemid, NULL, 1, NULL), 0, drop_rate, homkillonly);
}
}
@@ -2629,10 +2711,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 +2723,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 +2743,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 +2878,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 +3003,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 +3015,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)
@@ -3861,6 +3943,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 +4178,50 @@ 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);
+ 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 +4271,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 +4340,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 +4365,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 +4409,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 +4428,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 +4690,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 +4940,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 +5067,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 +5087,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 +5159,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 +5276,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 +5603,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 +5631,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 +5674,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 +5732,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 +5766,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 +5834,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 +5874,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 +5885,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 +5919,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 +5933,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 +5950,7 @@ void mob_defaults(void)
mob->final_ratio_sub = mob_final_ratio_sub;
mob->clear_spawninfo = mob_clear_spawninfo;
mob->destroy_mob_db = mob_destroy_mob_db;
+ mob->destroy_drop_groups = mob_destroy_drop_groups;
mob->skill_db_libconfig = mob_skill_db_libconfig;
mob->skill_db_libconfig_sub = mob_skill_db_libconfig_sub;
mob->skill_db_libconfig_sub_skill = mob_skill_db_libconfig_sub_skill;
diff --git a/src/map/mob.h b/src/map/mob.h
index 4cb3877ed..6693c3671 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -40,7 +40,6 @@ struct hplugin_data_store;
//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,10 +244,11 @@ 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;
- short class_;
+ int class_;
unsigned int tdmg; //Stores total damage given to the mob, for exp calculations. [Skotlex]
int level;
int target_id,attacked_id;
@@ -436,6 +476,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 +489,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);
@@ -484,6 +528,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 +539,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 +573,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 +587,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 +604,7 @@ struct mob_interface {
void (*set_item_drop_ratio) (int nameid, struct item_drop_ratio *ratio);
int (*final_ratio_sub) (union DBKey key, struct DBData *data, va_list ap);
void (*destroy_mob_db) (int index);
+ void (*destroy_drop_groups) (void);
bool (*skill_db_libconfig) (const char *filename, bool ignore_missing);
bool (*skill_db_libconfig_sub) (struct config_setting_t *it, int n);
bool (*skill_db_libconfig_sub_skill) (struct config_setting_t *it, int n, int mob_id);
diff --git a/src/map/npc.c b/src/map/npc.c
index a8bf7d371..868b8711a 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -36,6 +36,7 @@
#include "map/mob.h"
#include "map/pc.h"
#include "map/pet.h"
+#include "map/quest.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/status.h"
@@ -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?
@@ -1348,8 +1352,10 @@ static int npc_scriptcont(struct map_session_data *sd, int id, bool closing)
return 1;
}
- if(id != npc->fake_nd->bl.id) { // Not item script
- if ((npc->checknear(sd,target)) == NULL){
+ if (id != npc->fake_nd->bl.id) { // Not 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;
}
@@ -1370,8 +1376,10 @@ static int npc_scriptcont(struct map_session_data *sd, int id, bool closing)
if( sd->progressbar.npc_id && DIFF_TICK(sd->progressbar.timeout,timer->gettick()) > 0 )
return 1;
- if( !sd->st )
+ if( !sd->st ) {
+ sd->npc_id = 0;
return 1;
+ }
if( closing && sd->st->state == CLOSE )
sd->st->state = END;
@@ -1449,11 +1457,12 @@ static int npc_cashshop_buylist(struct map_session_data *sd, int points, struct
return ERROR_TYPE_NPC;
if( nd->subtype != CASHSHOP ) {
- if( nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET ) {
+ if (nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER) {
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
- } else
+ } else {
return ERROR_TYPE_NPC;
+ }
} else {
shop = nd->u.shop.shop_item;
shop_size = nd->u.shop.count;
@@ -1584,11 +1593,11 @@ static void npc_market_fromsql(void)
if( !(nd = npc->name2id(name)) ) {
ShowError("npc_market_fromsql: NPC '%s' not found! skipping...\n",name);
- npc->market_delfromsql_sub(name, USHRT_MAX);
+ npc->market_delfromsql_sub(name, INT_MAX);
continue;
- } else if ( nd->subtype != SCRIPT || !nd->u.scr.shop || !nd->u.scr.shop->items || nd->u.scr.shop->type != NST_MARKET ) {
+ } else if (nd->subtype != SCRIPT || !nd->u.scr.shop || !nd->u.scr.shop->items || nd->u.scr.shop->type != NST_MARKET) {
ShowError("npc_market_fromsql: NPC '%s' is not proper for market, skipping...\n",name);
- npc->market_delfromsql_sub(name, USHRT_MAX);
+ npc->market_delfromsql_sub(name, INT_MAX);
continue;
}
@@ -1610,10 +1619,10 @@ static void npc_market_fromsql(void)
/**
* Saves persistent NPC Market Data into SQL
**/
-static void npc_market_tosql(struct npc_data *nd, unsigned short index)
+static void npc_market_tosql(struct npc_data *nd, int index)
{
nullpo_retv(nd);
- Assert_retv(index < nd->u.scr.shop->items);
+ Assert_retv(index >= 0 && index < nd->u.scr.shop->items);
if (SQL_ERROR == SQL->Query(map->mysql_handle, "REPLACE INTO `%s` VALUES ('%s','%d','%u')",
map->npc_market_data_db, nd->exname, nd->u.scr.shop->item[index].nameid, nd->u.scr.shop->item[index].qty))
Sql_ShowDebug(map->mysql_handle);
@@ -1621,9 +1630,9 @@ static void npc_market_tosql(struct npc_data *nd, unsigned short index)
/**
* Removes persistent NPC Market Data from SQL
*/
-static void npc_market_delfromsql_sub(const char *npcname, unsigned short index)
+static void npc_market_delfromsql_sub(const char *npcname, int index)
{
- if( index == USHRT_MAX ) {
+ if (index == INT_MAX ) {
if( SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s'", map->npc_market_data_db, npcname) )
Sql_ShowDebug(map->mysql_handle);
} else {
@@ -1635,12 +1644,115 @@ static void npc_market_delfromsql_sub(const char *npcname, unsigned short index)
/**
* Removes persistent NPC Market Data from SQL
**/
-static void npc_market_delfromsql(struct npc_data *nd, unsigned short index)
+static void npc_market_delfromsql(struct npc_data *nd, int index)
+{
+ nullpo_retv(nd);
+ Assert_retv(index == INT_MAX || (index >= 0 && index < nd->u.scr.shop->items));
+ npc->market_delfromsql_sub(nd->exname, index == INT_MAX ? index : nd->u.scr.shop->item[index].nameid);
+}
+
+/**
+ * Loads persistent NPC Barter Data from SQL
+ **/
+static void npc_barter_fromsql(void)
+{
+ struct SqlStmt *stmt = SQL->StmtMalloc(map->mysql_handle);
+ char name[NAME_LENGTH + 1];
+ int itemid;
+ int amount;
+ int removeId;
+ int removeAmount;
+
+ if (SQL_ERROR == SQL->StmtPrepare(stmt, "SELECT `name`, `itemId`, `amount`, `priceId`, `priceAmount` FROM `%s`", map->npc_barter_data_db)
+ || SQL_ERROR == SQL->StmtExecute(stmt)
+ ) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
+ return;
+ }
+
+ SQL->StmtBindColumn(stmt, 0, SQLDT_STRING, &name, sizeof name, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 1, SQLDT_INT, &itemid, sizeof itemid, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 2, SQLDT_UINT32, &amount, sizeof amount, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 3, SQLDT_INT, &removeId, sizeof removeId, NULL, NULL);
+ SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &removeAmount, sizeof removeAmount, NULL, NULL);
+
+ while (SQL_SUCCESS == SQL->StmtNextRow(stmt)) {
+ struct npc_data *nd = NULL;
+ unsigned short i;
+
+ if (!(nd = npc->name2id(name))) {
+ ShowError("npc_barter_fromsql: NPC '%s' not found! skipping...\n",name);
+ npc->barter_delfromsql_sub(name, INT_MAX, 0, 0);
+ continue;
+ } else if (nd->subtype != SCRIPT || !nd->u.scr.shop || !nd->u.scr.shop->items || nd->u.scr.shop->type != NST_BARTER) {
+ ShowError("npc_barter_fromsql: NPC '%s' is not proper for barter, skipping...\n",name);
+ npc->barter_delfromsql_sub(name, INT_MAX, 0, 0);
+ continue;
+ }
+
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid == itemid && item->value == removeId && item->value2 == removeAmount) {
+ item->qty = amount;
+ break;
+ }
+ }
+
+ if (i == nd->u.scr.shop->items) {
+ ShowError("npc_barter_fromsql: NPC '%s' does not sell item %d (qty %d), deleting...\n", name, itemid, amount);
+ npc->barter_delfromsql_sub(name, itemid, removeId, removeAmount);
+ continue;
+ }
+ }
+ SQL->StmtFree(stmt);
+}
+
+/**
+ * Saves persistent NPC Barter Data into SQL
+ **/
+static void npc_barter_tosql(struct npc_data *nd, int index)
+{
+ nullpo_retv(nd);
+ Assert_retv(index >= 0 && index < nd->u.scr.shop->items);
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[index];
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "REPLACE INTO `%s` VALUES ('%s', '%d', '%u', '%u', '%d')",
+ map->npc_barter_data_db, nd->exname, item->nameid, item->qty, item->value, item->value2)) {
+ Sql_ShowDebug(map->mysql_handle);
+ }
+}
+
+/**
+ * Removes persistent NPC Barter Data from SQL
+ */
+static void npc_barter_delfromsql_sub(const char *npcname, int itemId, int itemId2, int amount2)
+{
+ if (itemId == INT_MAX) {
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s'", map->npc_barter_data_db, npcname))
+ Sql_ShowDebug(map->mysql_handle);
+ } else {
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s' AND `itemId`='%d' AND `priceId`='%d' AND `priceAmount`='%d' LIMIT 1",
+ map->npc_barter_data_db, npcname, itemId, itemId2, amount2)) {
+ Sql_ShowDebug(map->mysql_handle);
+ }
+ }
+}
+
+/**
+ * Removes persistent NPC Barter Data from SQL
+ **/
+static void npc_barter_delfromsql(struct npc_data *nd, int index)
{
nullpo_retv(nd);
- Assert_retv(index == USHRT_MAX || index < nd->u.scr.shop->items);
- npc->market_delfromsql_sub(nd->exname, index == USHRT_MAX ? index : nd->u.scr.shop->item[index].nameid);
+ if (index == INT_MAX) {
+ npc->barter_delfromsql_sub(nd->exname, INT_MAX, 0, 0);
+ } else {
+ Assert_retv(index >= 0 && index < nd->u.scr.shop->items);
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[index];
+ npc->barter_delfromsql_sub(nd->exname, item->nameid, item->value, item->value2);
+ }
}
+
/**
* Judges whether to allow and spawn a trader's window.
**/
@@ -1673,6 +1785,9 @@ static bool npc_trader_open(struct map_session_data *sd, struct npc_data *nd)
clif->npc_market_open(sd,nd);
}
break;
+ case NST_BARTER:
+ clif->npc_barter_open(sd, nd);
+ break;
default:
clif->cashshop_show(sd,nd);
break;
@@ -1799,11 +1914,12 @@ static int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount,
return ERROR_TYPE_ITEM_ID; // Invalid Item
if( nd->subtype != CASHSHOP ) {
- if( nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET ) {
+ if (nd->subtype == SCRIPT && nd->u.scr.shop && nd->u.scr.shop->type != NST_ZENY && nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER) {
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
- } else
+ } else {
return ERROR_TYPE_NPC;
+ }
} else {
shop = nd->u.shop.shop_item;
shop_size = nd->u.shop.count;
@@ -1948,7 +2064,11 @@ static int npc_buylist(struct map_session_data *sd, struct itemlist *item_list)
break;
case ADDITEM_OVERAMOUNT:
+#if PACKETVER >= 20110705
+ return 9;
+#else
return 2;
+#endif
}
value = pc->modifybuyvalue(sd,value);
@@ -2002,7 +2122,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;
@@ -2016,7 +2136,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;
@@ -2036,18 +2156,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
@@ -2071,13 +2191,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);
@@ -2087,7 +2207,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;
@@ -2105,7 +2225,134 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
}
}
- return 0;
+ return MARKET_BUY_RESULT_SUCCESS;
+}
+
+/**
+ * Processes incoming npc barter purchase list
+ **/
+static int npc_barter_buylist(struct map_session_data *sd, struct barteritemlist *item_list)
+{
+ struct npc_data* nd;
+ struct npc_item_list *shop = NULL;
+ int w, new_;
+ unsigned short shop_size = 0;
+
+ nullpo_retr(1, sd);
+ nullpo_retr(1, item_list);
+
+ nd = npc->checknear(sd, map->id2bl(sd->npc_shopid));
+
+ if (nd == NULL || nd->subtype != SCRIPT || VECTOR_LENGTH(*item_list) == 0 || !nd->u.scr.shop || nd->u.scr.shop->type != NST_BARTER)
+ return 11;
+
+ shop = nd->u.scr.shop->item;
+ shop_size = nd->u.scr.shop->items;
+
+ w = 0;
+ new_ = 0;
+
+ int items[MAX_INVENTORY] = { 0 };
+
+ // process entries in buy list, one by one
+ for (int i = 0; i < VECTOR_LENGTH(*item_list); ++i) {
+ struct barter_itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
+
+ const int n = entry->removeIndex;
+ if (n < 0 || n >= sd->status.inventorySize)
+ return 11; // wrong inventory index
+
+ int removeId = sd->status.inventory[n].nameid;
+ const int j = entry->shopIndex;
+ if (j < 0 || j >= shop_size)
+ return 13; // no such item in shop
+ if (entry->addId != shop[j].nameid && entry->addId != itemdb_viewid(shop[j].nameid))
+ return 13; // no such item in shop
+ if (removeId != shop[j].value && removeId != itemdb_viewid(shop[j].value))
+ return 13; // no such item in shop
+ entry->addId = shop[j].nameid; // item_avail replacement
+ removeId = shop[j].value; // item_avail replacement
+
+ if (!itemdb->exists(entry->addId))
+ return 13; // item no longer in itemdb
+
+ const int removeAmount = shop[j].value2;
+
+ if ((int)shop[j].qty != -1 && entry->addAmount > (int)shop[j].qty)
+ return 14; // not enough item amount in shop
+
+ if (removeAmount * entry->addAmount > sd->status.inventory[n].amount)
+ return 14; // not enough item amount in inventory
+
+ items[n] += removeAmount * entry->addAmount;
+
+ if (items[n] > sd->status.inventory[n].amount)
+ return 14; // not enough item amount in inventory
+
+ entry->addId = shop[j].nameid; //item_avail replacement
+
+ npc_market_qty[i] = j;
+
+ if (!itemdb->isstackable(entry->addId) && entry->addAmount > 1) {
+ //Exploit? You can't buy more than 1 of equipment types o.O
+ ShowWarning("Player %s (%d:%d) sent a hexed packet trying to buy %d of non-stackable item %d!\n",
+ sd->status.name, sd->status.account_id, sd->status.char_id, entry->addAmount, entry->addId);
+ entry->addAmount = 1;
+ }
+
+ switch (pc->checkadditem(sd, entry->addId, entry->addAmount)) {
+ case ADDITEM_EXIST:
+ break;
+ case ADDITEM_NEW:
+ new_++;
+ break;
+ case ADDITEM_OVERAMOUNT: /* TODO find official response for this */
+ return 1;
+ }
+
+ w += itemdb_weight(entry->addId) * entry->addAmount;
+ w -= itemdb_weight(removeId) * removeAmount;
+ }
+
+ if (w + sd->weight > sd->max_weight)
+ return 2; // Too heavy
+
+ if (pc->inventoryblank(sd) < new_)
+ return 3; // Not enough space to store items
+
+ for (int i = 0; i < sd->status.inventorySize; ++i) {
+ const int removeAmountTotal = items[i];
+ if (removeAmountTotal == 0)
+ continue;
+ if (pc->delitem(sd, i, removeAmountTotal, 0, DELITEM_SOLD, LOG_TYPE_NPC) != 0) {
+ return 11; // unknown exploit
+ }
+ }
+
+ for (int i = 0; i < VECTOR_LENGTH(*item_list); ++i) {
+ struct barter_itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
+ const int shopIdx = npc_market_qty[i];
+
+ if ((int)shop[shopIdx].qty != -1) {
+ if (entry->addAmount > (int)shop[shopIdx].qty) /* wohoo someone tampered with the packet. */
+ return 14;
+ shop[shopIdx].qty -= entry->addAmount;
+ }
+
+ npc->barter_tosql(nd, shopIdx);
+
+ if (itemdb_type(entry->addId) == IT_PETEGG) {
+ pet->create_egg(sd, entry->addId);
+ } else {
+ struct item item_tmp;
+ memset(&item_tmp, 0, sizeof(item_tmp));
+ item_tmp.nameid = entry->addId;
+ item_tmp.identify = 1;
+ pc->additem(sd, &item_tmp, entry->addAmount, LOG_TYPE_NPC);
+ }
+ }
+
+ return 12;
}
/// npc_selllist for script-controlled shops
@@ -2231,7 +2478,7 @@ static int npc_selllist(struct map_session_data *sd, struct itemlist *item_list)
struct itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
int nameid, value, idx = entry->id;
- if (idx >= MAX_INVENTORY || idx < 0 || entry->amount < 0) {
+ if (idx >= sd->status.inventorySize || idx < 0 || entry->amount < 0) {
return 1;
}
@@ -2399,8 +2646,9 @@ static int npc_unload(struct npc_data *nd, bool single)
nd->path = NULL;
}
- if( single && nd->bl.m != -1 )
- map->remove_questinfo(nd->bl.m,nd);
+ if (single && nd->bl.m != -1)
+ map->remove_questinfo(nd->bl.m, nd);
+ npc->questinfo_clear(nd);
if (nd->src_id == 0 && ( nd->subtype == SHOP || nd->subtype == CASHSHOP)) {
//src check for duplicate shops [Orcao]
@@ -2722,7 +2970,7 @@ static bool npc_viewisid(const char *viewid)
* @param class_ The NPC view class.
* @return A pointer to the created NPC data (ownership passed to the caller).
*/
-static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_)
+static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_)
{
struct npc_data *nd;
@@ -2739,6 +2987,7 @@ static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, i
nd->class_ = class_;
nd->speed = 200;
nd->vd = npc_viewdb[0]; // Copy INVISIBLE_CLASS view data. Actual view data is set by npc->add_to_location() later.
+ VECTOR_INIT(nd->qi_data);
return nd;
}
@@ -3672,14 +3921,14 @@ static void npc_setdisplayname(struct npc_data *nd, const char *newname)
safestrncpy(nd->name, newname, sizeof(nd->name));
if( map->list[nd->bl.m].users )
- clif->charnameack(0, &nd->bl);
+ clif->blname_ack(0, &nd->bl);
}
/// Changes the display class of the npc.
///
/// @param nd Target npc
/// @param class_ New display class
-static void npc_setclass(struct npc_data *nd, short class_)
+static void npc_setclass(struct npc_data *nd, int class_)
{
nullpo_retv(nd);
@@ -3960,7 +4209,7 @@ static const char *npc_parse_mob(const char *w1, const char *w2, const char *w3,
mobspawn.num = (unsigned short)num;
mobspawn.active = 0;
- mobspawn.class_ = (short) class_;
+ mobspawn.class_ = class_;
mobspawn.x = (unsigned short)x;
mobspawn.y = (unsigned short)y;
mobspawn.xs = (signed short)xs;
@@ -4126,8 +4375,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;
@@ -4420,7 +4668,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) ) {
@@ -4479,7 +4728,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) ) ) {
@@ -4555,6 +4805,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);
}
@@ -4971,6 +5225,7 @@ static int npc_reload(void)
npc->npc_mob = npc->npc_cache_mob = npc->npc_delay_mob = 0;
// reset mapflags
+ map->zone_reload();
map->flags_init();
// Reprocess npc files and reload constants
@@ -4980,7 +5235,6 @@ static int npc_reload(void)
instance->reload();
- map->zone_reload();
map->zone_init();
npc->motd = npc->name2id("HerculesMOTD"); /* [Ind/Hercules] */
@@ -4993,6 +5247,7 @@ static int npc_reload(void)
// OnInit -> OnInterIfInit -> OnInterIfInitOnce -> OnAgitInit -> OnAgitInit2
npc->event_do_oninit( true );
npc->market_fromsql();
+ npc->barter_fromsql();
// Execute rest of the startup events if connected to char-server. [Lance]
// Executed when connection is established with char-server in chrif_connectack
if( !intif->CheckForCharServer() ) {
@@ -5091,6 +5346,18 @@ static void npc_debug_warps(void)
npc->debug_warps_sub(map->list[m].npc[i]);
}
+static void npc_questinfo_clear(struct npc_data *nd)
+{
+ nullpo_retv(nd);
+
+ for (int i = 0; i < VECTOR_LENGTH(nd->qi_data); i++) {
+ struct questinfo *qi = &VECTOR_INDEX(nd->qi_data, i);
+ VECTOR_CLEAR(qi->items);
+ VECTOR_CLEAR(qi->quest_requirement);
+ }
+ VECTOR_CLEAR(nd->qi_data);
+}
+
/*==========================================
* npc initialization
*------------------------------------------*/
@@ -5299,11 +5566,17 @@ void npc_defaults(void)
npc->trader_pay = npc_trader_pay;
npc->trader_update = npc_trader_update;
npc->market_buylist = npc_market_buylist;
+ npc->barter_buylist = npc_barter_buylist;
npc->trader_open = npc_trader_open;
npc->market_fromsql = npc_market_fromsql;
npc->market_tosql = npc_market_tosql;
npc->market_delfromsql = npc_market_delfromsql;
npc->market_delfromsql_sub = npc_market_delfromsql_sub;
+ npc->barter_fromsql = npc_barter_fromsql;
+ npc->barter_tosql = npc_barter_tosql;
+ npc->barter_delfromsql = npc_barter_delfromsql;
+ npc->barter_delfromsql_sub = npc_barter_delfromsql_sub;
npc->db_checkid = npc_db_checkid;
npc->refresh = npc_refresh;
+ npc->questinfo_clear = npc_questinfo_clear;
}
diff --git a/src/map/npc.h b/src/map/npc.h
index ed5f4138d..5ff63532d 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -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,
@@ -41,10 +43,11 @@ enum npc_parse_options {
};
enum npc_shop_types {
- NST_ZENY,/* default */
- NST_CASH,/* official npc cash shop */
- NST_MARKET,/* official npc market type */
+ NST_ZENY, /* default */
+ NST_CASH, /* official npc cash shop */
+ NST_MARKET, /* official npc market type */
NST_CUSTOM,
+ NST_BARTER, /* official npc barter type */
/* */
NST_MAX,
};
@@ -56,11 +59,14 @@ struct npc_label_list {
char name[NAME_LENGTH];
int pos;
};
+
struct npc_item_list {
int nameid;
- unsigned int value;
+ unsigned int value; // price or barter currency item id
+ int value2; // barter currency item amount
unsigned int qty;
};
+
struct npc_shop_data {
unsigned char type;/* what am i */
struct npc_item_list *item;/* list */
@@ -73,7 +79,7 @@ struct npc_data {
struct view_data vd;
unsigned int option;
struct npc_data *master_nd;
- short class_;
+ int class_;
short speed;
char name[NAME_LENGTH+1];// display name
char exname[NAME_LENGTH+1];// unique npc name
@@ -125,6 +131,7 @@ struct npc_data {
int spawn_timer;
} tomb;
} u;
+ VECTOR_DECL(struct questinfo) qi_data;
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
};
@@ -144,7 +151,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 {
@@ -264,7 +271,7 @@ struct npc_interface {
void (*parsename) (struct npc_data *nd, const char *name, const char *start, const char *buffer, const char *filepath);
int (*parseview) (const char *w4, const char *start, const char *buffer, const char *filepath);
bool (*viewisid) (const char *viewid);
- struct npc_data *(*create_npc) (enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_);
+ struct npc_data *(*create_npc) (enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_);
struct npc_data* (*add_warp) (char *name, short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y);
const char *(*parse_warp) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
const char *(*parse_shop) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
@@ -284,7 +291,7 @@ struct npc_interface {
void (*unsetcells) (struct npc_data *nd);
void (*movenpc) (struct npc_data *nd, int16 x, int16 y);
void (*setdisplayname) (struct npc_data *nd, const char *newname);
- void (*setclass) (struct npc_data *nd, short class_);
+ void (*setclass) (struct npc_data *nd, int class_);
int (*do_atcmd_event) (struct map_session_data *sd, const char *command, const char *message, const char *eventname);
const char *(*parse_function) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
void (*parse_mob2) (struct spawn_data *mobspawn);
@@ -305,14 +312,20 @@ 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);
bool (*trader_open) (struct map_session_data *sd, struct npc_data *nd);
void (*market_fromsql) (void);
- void (*market_tosql) (struct npc_data *nd, unsigned short index);
- void (*market_delfromsql) (struct npc_data *nd, unsigned short index);
- void (*market_delfromsql_sub) (const char *npcname, unsigned short index);
+ void (*market_tosql) (struct npc_data *nd, int index);
+ void (*market_delfromsql) (struct npc_data *nd, int index);
+ void (*market_delfromsql_sub) (const char *npcname, int index);
+ void (*barter_fromsql) (void);
+ void (*barter_tosql) (struct npc_data *nd, int index);
+ void (*barter_delfromsql) (struct npc_data *nd, int index);
+ void (*barter_delfromsql_sub) (const char *npcname, int itemId, int itemId2, int amount2);
bool (*db_checkid) (const int id);
void (*refresh) (struct npc_data* nd);
+ void (*questinfo_clear) (struct npc_data *nd);
/**
* For the Secure NPC Timeout option (check config/Secure.h) [RR]
**/
diff --git a/src/map/packets.h b/src/map/packets.h
index a897601b3..abcbddadb 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -24,2990 +24,1634 @@
#define MAP_PACKETS_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length)
+ * - packet(packet_id)
* OR
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
-packet(0x0064,55);
-packet(0x0065,17);
-packet(0x0066,6);
-packet(0x0067,37);
-packet(0x0068,46);
-packet(0x0069,-1);
-packet(0x006a,23);
-packet(0x006b,-1);
-packet(0x006c,3);
-packet(0x006d,108);
-packet(0x006e,3);
-packet(0x006f,2);
-packet(0x0070,6);
-packet(0x0071,28);
-packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
-packet(0x0073,11);
-packet(0x0074,3);
-packet(0x0075,-1);
-packet(0x0076,9);
-packet(0x0077,5);
-packet(0x0078,54);
-packet(0x0079,53);
-packet(0x007a,58);
-packet(0x007b,60);
-packet(0x007c,41);
-packet(0x007d,2,clif->pLoadEndAck,0);
-packet(0x007e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
-packet(0x007f,6);
-packet(0x0080,7);
-packet(0x0081,3);
-packet(0x0082,2);
-packet(0x0083,2);
-packet(0x0084,2);
-packet(0x0085,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
-packet(0x0086,16);
-packet(0x0087,12);
-packet(0x0088,10);
-packet(0x0089,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
-packet(0x008a,29);
-packet(0x008b,2);
-packet(0x008c,-1,clif->pGlobalMessage,2,4);
-packet(0x008d,-1);
-packet(0x008e,-1);
-//packet(0x008f,-1);
-packet(0x0090,7,clif->pNpcClicked,2);
-packet(0x0091,22); // ZC_NPCACK_MAPMOVE
-packet(0x0092,28); // ZC_NPCACK_SERVERMOVE
-packet(0x0093,2);
-packet(0x0094,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
-packet(0x0095,30);
-packet(0x0096,-1,clif->pWisMessage,2,4,28);
-packet(0x0097,-1);
-packet(0x0098,3);
-packet(0x0099,-1,clif->pBroadcast,2,4);
-packet(0x009a,-1);
-packet(0x009b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
-packet(0x009c,9);
-packet(0x009d,17);
-packet(0x009e,17);
-packet(0x009f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
-packet(0x00a0,23);
-packet(0x00a1,6);
-packet(0x00a2,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
-packet(0x00a3,-1);
-packet(0x00a4,-1);
-packet(0x00a5,-1);
-packet(0x00a6,-1);
-packet(0x00a7,8,clif->pUseItem,2,4);
-packet(0x00a8,7);
-packet(0x00a9,6,clif->pEquipItem,2,4);
-packet(0x00aa,7);
-packet(0x00ab,4,clif->pUnequipItem,2);
-packet(0x00ac,7);
-//packet(0x00ad,-1);
-packet(0x00ae,-1);
-packet(0x00af,6);
-packet(0x00b0,8);
-packet(0x00b1,8);
-packet(0x00b2,3,clif->pRestart,2);
-packet(0x00b3,3);
-packet(0x00b4,-1);
-packet(0x00b5,6);
-packet(0x00b6,6);
-packet(0x00b7,-1);
-packet(0x00b8,7,clif->pNpcSelectMenu,2,6);
-packet(0x00b9,6,clif->pNpcNextClicked,2);
-packet(0x00ba,2);
-packet(0x00bb,5,clif->pStatusUp,2,4);
-packet(0x00bc,6);
-packet(0x00bd,44);
-packet(0x00be,5);
-packet(0x00bf,3,clif->pEmotion,2);
-packet(0x00c0,7);
-packet(0x00c1,2,clif->pHowManyConnections,0);
-packet(0x00c2,6);
-packet(0x00c3,8);
-packet(0x00c4,6);
-packet(0x00c5,7,clif->pNpcBuySellSelected,2,6);
-packet(0x00c6,-1);
-packet(0x00c7,-1);
-packet(0x00c8,-1,clif->pNpcBuyListSend,2,4);
-packet(0x00c9,-1,clif->pNpcSellListSend,2,4);
-packet(0x00ca,3);
-packet(0x00cb,3);
-packet(0x00cc,6,clif->pGMKick,2);
-packet(0x00cd,3);
-packet(0x00ce,2,clif->pGMKickAll,0);
-packet(0x00cf,27,clif->pPMIgnore,2,26);
-packet(0x00d0,3,clif->pPMIgnoreAll,2);
-packet(0x00d1,4);
-packet(0x00d2,4);
-packet(0x00d3,2,clif->pPMIgnoreList,0);
-packet(0x00d4,-1);
-packet(0x00d5,-1,clif->pCreateChatRoom,2,4,6,7,15);
-packet(0x00d6,3);
-packet(0x00d7,-1);
-packet(0x00d8,6);
-packet(0x00d9,14,clif->pChatAddMember,2,6);
-packet(0x00da,3);
-packet(0x00db,-1);
-packet(0x00dc,28);
-packet(0x00dd,29);
-packet(0x00de,-1,clif->pChatRoomStatusChange,2,4,6,7,15);
-packet(0x00df,-1);
-packet(0x00e0,30,clif->pChangeChatOwner,2,6);
-packet(0x00e1,30);
-packet(0x00e2,26,clif->pKickFromChat,2);
-packet(0x00e3,2,clif->pChatLeave,0);
-packet(0x00e4,6,clif->pTradeRequest,2);
-packet(0x00e5,26);
-packet(0x00e6,3,clif->pTradeAck,2);
-packet(0x00e7,3);
-packet(0x00e8,8,clif->pTradeAddItem,2,4);
-packet(0x00e9,19);
-packet(0x00ea,5);
-packet(0x00eb,2,clif->pTradeOk,0);
-packet(0x00ec,3);
-packet(0x00ed,2,clif->pTradeCancel,0);
-packet(0x00ee,2);
-packet(0x00ef,2,clif->pTradeCommit,0);
-packet(0x00f0,3);
-packet(0x00f1,2);
-packet(0x00f2,6);
-packet(0x00f3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
-packet(0x00f4,21);
-packet(0x00f5,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
-packet(0x00f6,8);
-packet(0x00f7,2,clif->pCloseKafra,0);
-packet(0x00f8,2);
-packet(0x00f9,26,clif->pCreateParty,2);
-packet(0x00fa,3);
-packet(0x00fb,-1);
-packet(0x00fc,6,clif->pPartyInvite,2);
-packet(0x00fd,27);
-packet(0x00fe,30);
-packet(0x00ff,10,clif->pReplyPartyInvite,2,6);
-packet(0x0100,2,clif->pLeaveParty,0);
-packet(0x0101,6);
-packet(0x0102,6,clif->pPartyChangeOption,2);
-packet(0x0103,30,clif->pRemovePartyMember,2,6);
-packet(0x0104,79);
-packet(0x0105,31);
-packet(0x0106,10);
-packet(0x0107,10);
-packet(0x0108,-1,clif->pPartyMessage,2,4);
-packet(0x0109,-1);
-packet(0x010a,4);
-packet(0x010b,6);
-packet(0x010c,6);
-packet(0x010d,2);
-packet(0x010e,11);
-packet(0x010f,-1);
-packet(0x0110,10);
-packet(0x0111,39);
-packet(0x0112,4,clif->pSkillUp,2);
-packet(0x0113,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
-packet(0x0114,31);
-packet(0x0115,35);
-packet(0x0116,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
-packet(0x0117,18);
-packet(0x0118,2,clif->pStopAttack,0);
-packet(0x0119,13);
-packet(0x011a,15);
-packet(0x011b,20,clif->pUseSkillMap,2,4);
-packet(0x011c,68); // ZC_WARPLIST
-packet(0x011d,2,clif->pRequestMemo,0);
-packet(0x011e,3);
-packet(0x011f,16);
-packet(0x0120,6);
-packet(0x0121,14);
-packet(0x0122,-1);
-packet(0x0123,-1);
-packet(0x0124,21);
-packet(0x0125,8);
-packet(0x0126,8,clif->pPutItemToCart,2,4);
-packet(0x0127,8,clif->pGetItemFromCart,2,4);
-packet(0x0128,8,clif->pMoveFromKafraToCart,2,4);
-packet(0x0129,8,clif->pMoveToKafraFromCart,2,4);
-packet(0x012a,2,clif->pRemoveOption,0);
-packet(0x012b,2);
-packet(0x012c,3);
-packet(0x012d,4);
-packet(0x012e,2,clif->pCloseVending,0);
-packet(0x012f,-1);
-packet(0x0130,6,clif->pVendingListReq,2);
-packet(0x0131,86);
-packet(0x0132,6);
-packet(0x0133,-1);
-packet(0x0134,-1,clif->pPurchaseReq,2,4,8);
-packet(0x0135,7);
-packet(0x0136,-1);
-packet(0x0137,6);
-packet(0x0138,3);
-packet(0x0139,16);
-packet(0x013a,4);
-packet(0x013b,4);
-packet(0x013c,4);
-packet(0x013d,6);
-packet(0x013e,24);
-packet(0x013f,26,clif->pGM_Monster_Item,2);
-packet(0x0140,22,clif->pMapMove,2,18,20);
-packet(0x0141,14);
-packet(0x0142,6);
-packet(0x0143,10,clif->pNpcAmountInput,2,6);
-packet(0x0144,23);
-packet(0x0145,19);
-packet(0x0146,6,clif->pNpcCloseClicked,2);
-packet(0x0147,39);
-packet(0x0148,8);
-packet(0x0149,9,clif->pGMReqNoChat,2,6,7);
-packet(0x014a,6);
-packet(0x014b,27);
-packet(0x014c,-1);
-packet(0x014d,2,clif->pGuildCheckMaster,0);
-packet(0x014e,6);
-packet(0x014f,6,clif->pGuildRequestInfo,2);
-packet(0x0150,110);
-packet(0x0151,6,clif->pGuildRequestEmblem,2);
-packet(0x0152,-1);
-packet(0x0153,-1,clif->pGuildChangeEmblem,2,4);
-packet(0x0154,-1);
-packet(0x0155,-1,clif->pGuildChangeMemberPosition,2);
-packet(0x0156,-1);
-packet(0x0157,6);
-packet(0x0158,-1);
-packet(0x0159,54,clif->pGuildLeave,2,6,10,14);
-packet(0x015a,66);
-packet(0x015b,54,clif->pGuildExpulsion,2,6,10,14);
-packet(0x015c,90);
-packet(0x015d,42,clif->pGuildBreak,2);
-packet(0x015e,6);
-packet(0x015f,42);
-packet(0x0160,-1);
-packet(0x0161,-1,clif->pGuildChangePositionInfo,2);
-packet(0x0162,-1);
-packet(0x0163,-1);
-packet(0x0164,-1);
-packet(0x0165,30,clif->pCreateGuild,6);
-packet(0x0166,-1);
-packet(0x0167,3);
-packet(0x0168,14,clif->pGuildInvite,2);
-packet(0x0169,3);
-packet(0x016a,30);
-packet(0x016b,10,clif->pGuildReplyInvite,2,6);
-packet(0x016c,43);
-packet(0x016d,14);
-packet(0x016e,186,clif->pGuildChangeNotice,2,6,66);
-packet(0x016f,182);
-packet(0x0170,14,clif->pGuildRequestAlliance,2);
-packet(0x0171,30);
-packet(0x0172,10,clif->pGuildReplyAlliance,2,6);
-packet(0x0173,3);
-packet(0x0174,-1);
-packet(0x0175,6);
-packet(0x0176,106);
-packet(0x0177,-1);
-packet(0x0178,4,clif->pItemIdentify,2);
-packet(0x0179,5);
-packet(0x017a,4,clif->pUseCard,2);
-packet(0x017b,-1);
-packet(0x017c,6,clif->pInsertCard,2,4);
-packet(0x017d,7);
-packet(0x017e,-1,clif->pGuildMessage,2,4);
-packet(0x017f,-1);
-packet(0x0180,6,clif->pGuildOpposition,2);
-packet(0x0181,3);
-packet(0x0182,106);
-packet(0x0183,10,clif->pGuildDelAlliance,2,6);
-packet(0x0184,10);
-packet(0x0185,34);
-//packet(0x0186,-1);
-packet(0x0187,6);
-packet(0x0188,8);
-packet(0x0189,4);
-packet(0x018a,4,clif->pQuitGame,0);
-packet(0x018b,4);
-packet(0x018c,29);
-packet(0x018d,-1);
-packet(0x018e,10,clif->pProduceMix,2,4,6,8);
-packet(0x018f,6);
-packet(0x0190,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
-packet(0x0191,86);
-packet(0x0192,24);
-packet(0x0193,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
-packet(0x0194,30);
-packet(0x0195,102);
-packet(0x0196,9);
-packet(0x0197,4,clif->pResetChar,2);
-packet(0x0198,8,clif->pGMChangeMapType,2,4,6);
-packet(0x0199,4);
-packet(0x019a,14);
-packet(0x019b,10);
-packet(0x019c,-1,clif->pLocalBroadcast,2,4);
-packet(0x019d,6,clif->pGMHide,0);
-packet(0x019e,2);
-packet(0x019f,6,clif->pCatchPet,2);
-packet(0x01a0,3);
-packet(0x01a1,3,clif->pPetMenu,2);
-packet(0x01a2,35);
-packet(0x01a3,5);
-packet(0x01a4,11);
-packet(0x01a5,26,clif->pChangePetName,2);
-packet(0x01a6,-1);
-packet(0x01a7,4,clif->pSelectEgg,2);
-packet(0x01a8,4);
-packet(0x01a9,6,clif->pSendEmotion,2);
-packet(0x01aa,10);
-packet(0x01ab,12);
-packet(0x01ac,6);
-packet(0x01ad,-1);
-packet(0x01ae,4,clif->pSelectArrow,2);
-packet(0x01af,4,clif->pChangeCart,2);
-packet(0x01b0,11);
-packet(0x01b1,7);
-packet(0x01b2,-1,clif->pOpenVending,2,4,84,85);
-packet(0x01b3,67);
-packet(0x01b4,12);
-packet(0x01b5,18);
-packet(0x01b6,114);
-packet(0x01b7,6);
-packet(0x01b8,3);
-packet(0x01b9,6);
-packet(0x01ba,26,clif->pGMShift,2);
-packet(0x01bb,26,clif->pGMShift,2);
-packet(0x01bc,26,clif->pGMRecall,2);
-packet(0x01bd,26,clif->pGMRecall,2);
-packet(0x01be,2);
-packet(0x01bf,3);
-packet(0x01c0,2);
-packet(0x01c1,14);
-packet(0x01c2,10);
-packet(0x01c3,-1);
-packet(0x01c4,22);
-packet(0x01c5,22);
-packet(0x01c6,4);
-packet(0x01c7,2);
-packet(0x01c8,13);
-packet(0x01c9,97);
-//packet(0x01ca,-1);
-packet(0x01cb,9);
-packet(0x01cc,9);
-packet(0x01cd,30);
-packet(0x01ce,6,clif->pAutoSpell,2);
-packet(0x01cf,28);
-packet(0x01d0,8);
-packet(0x01d1,14);
-packet(0x01d2,10);
-packet(0x01d3,35);
-packet(0x01d4,6);
-packet(0x01d5,-1,clif->pNpcStringInput,2,4,8);
-packet(0x01d6,4);
-packet(0x01d7,11);
-packet(0x01d8,54);
-packet(0x01d9,53);
-packet(0x01da,60);
-packet(0x01db,2);
-packet(0x01dc,-1);
-packet(0x01dd,47);
-packet(0x01de,33);
-packet(0x01df,6,clif->pGMReqAccountName,2);
-packet(0x01e0,30);
-packet(0x01e1,8);
-packet(0x01e2,34);
-packet(0x01e3,14);
-packet(0x01e4,2);
-packet(0x01e5,6);
-packet(0x01e6,26);
-packet(0x01e7,2,clif->pNoviceDoriDori,0);
-packet(0x01e8,28,clif->pCreateParty2,2);
-packet(0x01e9,81);
-packet(0x01ea,6);
-packet(0x01eb,10);
-packet(0x01ec,26);
-packet(0x01ed,2,clif->pNoviceExplosionSpirits,0);
-packet(0x01ee,-1);
-packet(0x01ef,-1);
-packet(0x01f0,-1);
-packet(0x01f1,-1);
-packet(0x01f2,20);
-packet(0x01f3,10);
-packet(0x01f4,32);
-packet(0x01f5,9);
-packet(0x01f6,34);
-packet(0x01f7,14,clif->pAdopt_reply,0);
-packet(0x01f8,2);
-packet(0x01f9,6,clif->pAdopt_request,0);
-packet(0x01fa,48);
-packet(0x01fb,56);
-packet(0x01fc,-1);
-packet(0x01fd,4,clif->pRepairItem,2);
-packet(0x01fe,5);
-packet(0x01ff,10);
-packet(0x0200,26);
-packet(0x0201,-1);
-packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
-packet(0x0203,10,clif->pFriendsListRemove,2,6);
-packet(0x0204,18);
-packet(0x0205,26);
-packet(0x0206,11);
-packet(0x0207,34);
-packet(0x0208,11,clif->pFriendsListReply,2,6,10);
-packet(0x0209,36);
-packet(0x020a,10);
-//packet(0x020b,-1);
-//packet(0x020c,-1);
-packet(0x020d,-1);
-packet(0x974,2,clif->cancelmergeitem);
-packet(0x96e,-1,clif->ackmergeitems);
+packet(0x0072,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+packet(0x007d,clif->pLoadEndAck,0);
+packet(0x007e,clif->pTickSend,2); // CZ_REQUEST_TIME
+packet(0x0085,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+packet(0x0089,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+packet(0x008c,clif->pGlobalMessage,2,4);
+packet(0x0090,clif->pNpcClicked,2);
+packet(0x0094,clif->pGetCharNameRequest,2); // CZ_REQNAME
+packet(0x0096,clif->pWisMessage,2,4,28);
+packet(0x0099,clif->pBroadcast,2,4);
+packet(0x009b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+packet(0x009f,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+packet(0x00a2,clif->pDropItem,2,4); // CZ_ITEM_THROW
+packet(0x00a7,clif->pUseItem,2,4);
+packet(0x00a9,clif->pEquipItem,2,4);
+packet(0x00ab,clif->pUnequipItem,2);
+packet(0x00b2,clif->pRestart,2);
+packet(0x00b8,clif->pNpcSelectMenu,2,6);
+packet(0x00b9,clif->pNpcNextClicked,2);
+packet(0x00bb,clif->pStatusUp,2,4);
+packet(0x00bf,clif->pEmotion,2);
+packet(0x00c1,clif->pHowManyConnections,0);
+packet(0x00c5,clif->pNpcBuySellSelected,2,6);
+packet(0x00c8,clif->pNpcBuyListSend,2,4);
+packet(0x00c9,clif->pNpcSellListSend,2,4);
+packet(0x00cc,clif->pGMKick,2);
+packet(0x00ce,clif->pGMKickAll,0);
+packet(0x00cf,clif->pPMIgnore,2,26);
+packet(0x00d0,clif->pPMIgnoreAll,2);
+packet(0x00d3,clif->pPMIgnoreList,0);
+packet(0x00d5,clif->pCreateChatRoom,2,4,6,7,15);
+packet(0x00d9,clif->pChatAddMember,2,6);
+packet(0x00de,clif->pChatRoomStatusChange,2,4,6,7,15);
+packet(0x00e0,clif->pChangeChatOwner,2,6);
+packet(0x00e2,clif->pKickFromChat,2);
+packet(0x00e3,clif->pChatLeave,0);
+packet(0x00e4,clif->pTradeRequest,2);
+packet(0x00e6,clif->pTradeAck,2);
+packet(0x00e8,clif->pTradeAddItem,2,4);
+packet(0x00eb,clif->pTradeOk,0);
+packet(0x00ed,clif->pTradeCancel,0);
+packet(0x00ef,clif->pTradeCommit,0);
+packet(0x00f3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+packet(0x00f5,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packet(0x00f7,clif->pCloseKafra,0);
+packet(0x00f9,clif->pCreateParty,2);
+packet(0x00fc,clif->pPartyInvite,2);
+packet(0x00ff,clif->pReplyPartyInvite,2,6);
+packet(0x0100,clif->pLeaveParty,0);
+packet(0x0102,clif->pPartyChangeOption,2);
+packet(0x0103,clif->pRemovePartyMember,2,6);
+packet(0x0108,clif->pPartyMessage,2,4);
+packet(0x0112,clif->pSkillUp,2);
+packet(0x0113,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+packet(0x0116,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+packet(0x0118,clif->pStopAttack,0);
+packet(0x011b,clif->pUseSkillMap,2,4);
+packet(0x011d,clif->pRequestMemo,0);
+packet(0x0126,clif->pPutItemToCart,2,4);
+packet(0x0127,clif->pGetItemFromCart,2,4);
+packet(0x0128,clif->pMoveFromKafraToCart,2,4);
+packet(0x0129,clif->pMoveToKafraFromCart,2,4);
+packet(0x012a,clif->pRemoveOption,0);
+packet(0x012e,clif->pCloseVending,0);
+packet(0x0130,clif->pVendingListReq,2);
+packet(0x0134,clif->pPurchaseReq,2,4,8);
+packet(0x013f,clif->pGM_Monster_Item,2);
+packet(0x0140,clif->pMapMove,2,18,20);
+packet(0x0143,clif->pNpcAmountInput,2,6);
+packet(0x0146,clif->pNpcCloseClicked,2);
+packet(0x0149,clif->pGMReqNoChat,2,6,7);
+packet(0x014d,clif->pGuildCheckMaster,0);
+packet(0x014f,clif->pGuildRequestInfo,2);
+packet(0x0151,clif->pGuildRequestEmblem,2);
+packet(0x0153,clif->pGuildChangeEmblem,2,4);
+packet(0x0155,clif->pGuildChangeMemberPosition,2);
+packet(0x0159,clif->pGuildLeave,2,6,10,14);
+packet(0x015b,clif->pGuildExpulsion,2,6,10,14);
+packet(0x015d,clif->pGuildBreak,2);
+packet(0x0161,clif->pGuildChangePositionInfo,2);
+packet(0x0165,clif->pCreateGuild,6);
+packet(0x0168,clif->pGuildInvite,2);
+packet(0x016b,clif->pGuildReplyInvite,2,6);
+packet(0x016e,clif->pGuildChangeNotice,2,6,66);
+packet(0x0170,clif->pGuildRequestAlliance,2);
+packet(0x0172,clif->pGuildReplyAlliance,2,6);
+packet(0x0178,clif->pItemIdentify,2);
+packet(0x017a,clif->pUseCard,2);
+packet(0x017c,clif->pInsertCard,2,4);
+packet(0x017e,clif->pGuildMessage,2,4);
+packet(0x0180,clif->pGuildOpposition,2);
+packet(0x0183,clif->pGuildDelAlliance,2,6);
+packet(0x018a,clif->pQuitGame,0);
+packet(0x018e,clif->pProduceMix,2,4,6,8);
+packet(0x0190,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packet(0x0193,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+packet(0x0197,clif->pResetChar,2);
+packet(0x0198,clif->pGMChangeMapType,2,4,6);
+packet(0x019c,clif->pLocalBroadcast,2,4);
+packet(0x019d,clif->pGMHide,0);
+packet(0x019f,clif->pCatchPet,2);
+packet(0x01a1,clif->pPetMenu,2);
+packet(0x01a5,clif->pChangePetName,2);
+packet(0x01a7,clif->pSelectEgg,2);
+packet(0x01a9,clif->pSendEmotion,2);
+packet(0x01ae,clif->pSelectArrow,2);
+packet(0x01af,clif->pChangeCart,2);
+packet(0x01b2,clif->pOpenVending,2,4,84,85);
+packet(0x01ba,clif->pGMShift,2);
+packet(0x01bb,clif->pGMShift,2);
+packet(0x01bc,clif->pGMRecall,2);
+packet(0x01bd,clif->pGMRecall,2);
+packet(0x01c0,clif->pReqRemainTime);
+packet(0x01ce,clif->pAutoSpell,2);
+packet(0x01d5,clif->pNpcStringInput,2,4,8);
+packet(0x01df,clif->pGMReqAccountName,2);
+packet(0x01e7,clif->pNoviceDoriDori,0);
+packet(0x01e8,clif->pCreateParty2,2);
+packet(0x01ed,clif->pNoviceExplosionSpirits,0);
+packet(0x01f7,clif->pAdopt_reply,0);
+packet(0x01f9,clif->pAdopt_request,0);
+packet(0x01fd,clif->pRepairItem,2);
+packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+packet(0x0203,clif->pFriendsListRemove,2,6);
+packet(0x0208,clif->pFriendsListReply,2,6,10);
+packet(0x974,clif->cancelmergeitem);
+packet(0x96e,clif->ackmergeitems);
//2004-07-05aSakexe
#if PACKETVER >= 20040705
- packet(0x0072,22,clif->pWantToConnection,5,9,13,17,21);
- packet(0x0085,8,clif->pWalkToXY,5);
- packet(0x00a7,13,clif->pUseItem,5,9);
- packet(0x0113,15,clif->pUseSkillToId,4,9,11);
- packet(0x0116,15,clif->pUseSkillToPos,4,9,11,13);
- packet(0x0190,95,clif->pUseSkillToPosMoreInfo,4,9,11,13,15);
- packet(0x0208,14,clif->pFriendsListReply,2,6,10);
- packet(0x020e,24);
+ packet(0x0072,clif->pWantToConnection,5,9,13,17,21);
+ packet(0x0085,clif->pWalkToXY,5);
+ packet(0x00a7,clif->pUseItem,5,9);
+ packet(0x0113,clif->pUseSkillToId,4,9,11);
+ packet(0x0116,clif->pUseSkillToPos,4,9,11,13);
+ packet(0x0190,clif->pUseSkillToPosMoreInfo,4,9,11,13,15);
+ packet(0x0208,clif->pFriendsListReply,2,6,10);
#endif
//2004-07-13aSakexe
#if PACKETVER >= 20040713
- packet(0x0072,39,clif->pWantToConnection,12,22,30,34,38);
- packet(0x0085,9,clif->pWalkToXY,6);
- packet(0x009b,13,clif->pChangeDir,5,12);
- packet(0x009f,10,clif->pTakeItem,6);
- packet(0x00a7,17,clif->pUseItem,6,13);
- packet(0x0113,19,clif->pUseSkillToId,7,9,15);
- packet(0x0116,19,clif->pUseSkillToPos,7,9,15,17);
- packet(0x0190,99,clif->pUseSkillToPosMoreInfo,7,9,15,17,19);
+ packet(0x0072,clif->pWantToConnection,12,22,30,34,38);
+ packet(0x0085,clif->pWalkToXY,6);
+ packet(0x009b,clif->pChangeDir,5,12);
+ packet(0x009f,clif->pTakeItem,6);
+ packet(0x00a7,clif->pUseItem,6,13);
+ packet(0x0113,clif->pUseSkillToId,7,9,15);
+ packet(0x0116,clif->pUseSkillToPos,7,9,15,17);
+ packet(0x0190,clif->pUseSkillToPosMoreInfo,7,9,15,17,19);
#endif
//2004-07-26aSakexe
#if PACKETVER >= 20040726
- packet(0x0072,14,clif->pDropItem,5,12);
- packet(0x007e,33,clif->pWantToConnection,12,18,24,28,32);
- packet(0x0085,20,clif->pUseSkillToId,7,12,16);
- packet(0x0089,15,clif->pGetCharNameRequest,11);
- packet(0x008c,23,clif->pUseSkillToPos,3,6,17,21);
- packet(0x0094,10,clif->pTakeItem,6);
- packet(0x009b,6,clif->pWalkToXY,3);
- packet(0x009f,13,clif->pChangeDir,5,12);
- packet(0x00a2,103,clif->pUseSkillToPosMoreInfo,3,6,17,21,23);
- packet(0x00a7,12,clif->pSolveCharName,8);
- packet(0x00f3,-1,clif->pGlobalMessage,2,4);
- packet(0x00f5,17,clif->pUseItem,6,12);
- packet(0x00f7,10,clif->pTickSend,6);
- packet(0x0113,16,clif->pMoveToKafra,5,12);
- packet(0x0116,2,clif->pCloseKafra,0);
- packet(0x0190,26,clif->pMoveFromKafra,10,22);
- packet(0x0193,9,clif->pActionRequest,3,8);
+ packet(0x0072,clif->pDropItem,5,12);
+ packet(0x007e,clif->pWantToConnection,12,18,24,28,32);
+ packet(0x0085,clif->pUseSkillToId,7,12,16);
+ packet(0x0089,clif->pGetCharNameRequest,11);
+ packet(0x008c,clif->pUseSkillToPos,3,6,17,21);
+ packet(0x0094,clif->pTakeItem,6);
+ packet(0x009b,clif->pWalkToXY,3);
+ packet(0x009f,clif->pChangeDir,5,12);
+ packet(0x00a2,clif->pUseSkillToPosMoreInfo,3,6,17,21,23);
+ packet(0x00a7,clif->pSolveCharName,8);
+ packet(0x00f3,clif->pGlobalMessage,2,4);
+ packet(0x00f5,clif->pUseItem,6,12);
+ packet(0x00f7,clif->pTickSend,6);
+ packet(0x0113,clif->pMoveToKafra,5,12);
+ packet(0x0116,clif->pCloseKafra,0);
+ packet(0x0190,clif->pMoveFromKafra,10,22);
+ packet(0x0193,clif->pActionRequest,3,8);
#endif
//2004-08-09aSakexe
#if PACKETVER >= 20040809
- packet(0x0072,17,clif->pDropItem,8,15);
- packet(0x007e,37,clif->pWantToConnection,9,21,28,32,36);
- packet(0x0085,26,clif->pUseSkillToId,11,18,22);
- packet(0x0089,12,clif->pGetCharNameRequest,8);
- packet(0x008c,40,clif->pUseSkillToPos,5,15,29,38);
- packet(0x0094,13,clif->pTakeItem,9);
- packet(0x009b,15,clif->pWalkToXY,12);
- packet(0x009f,12,clif->pChangeDir,7,11);
- packet(0x00a2,120,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
- packet(0x00a7,11,clif->pSolveCharName,7);
- packet(0x00f5,24,clif->pUseItem,9,20);
- packet(0x00f7,13,clif->pTickSend,9);
- packet(0x0113,23,clif->pMoveToKafra,5,19);
- packet(0x0190,26,clif->pMoveFromKafra,11,22);
- packet(0x0193,18,clif->pActionRequest,7,17);
+ packet(0x0072,clif->pDropItem,8,15);
+ packet(0x007e,clif->pWantToConnection,9,21,28,32,36);
+ packet(0x0085,clif->pUseSkillToId,11,18,22);
+ packet(0x0089,clif->pGetCharNameRequest,8);
+ packet(0x008c,clif->pUseSkillToPos,5,15,29,38);
+ packet(0x0094,clif->pTakeItem,9);
+ packet(0x009b,clif->pWalkToXY,12);
+ packet(0x009f,clif->pChangeDir,7,11);
+ packet(0x00a2,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
+ packet(0x00a7,clif->pSolveCharName,7);
+ packet(0x00f5,clif->pUseItem,9,20);
+ packet(0x00f7,clif->pTickSend,9);
+ packet(0x0113,clif->pMoveToKafra,5,19);
+ packet(0x0190,clif->pMoveFromKafra,11,22);
+ packet(0x0193,clif->pActionRequest,7,17);
#endif
//2004-08-16aSakexe
#if PACKETVER >= 20040816
- packet(0x0212,26,clif->pGMRc,2);
- packet(0x0213,26,clif->pCheck,2);
- packet(0x0214,42);
+ packet(0x0212,clif->pGMRc,2);
+ packet(0x0213,clif->pCheck,2);
#endif
//2004-08-17aSakexe
#if PACKETVER >= 20040817
- packet(0x020f,10,clif->pPVPInfo,2,6);
- packet(0x0210,22);
+ packet(0x020f,clif->pPVPInfo,2,6);
#endif
//2004-09-06aSakexe
#if PACKETVER >= 20040906
- packet(0x0072,20,clif->pUseItem,9,20);
- packet(0x007e,19,clif->pMoveToKafra,3,15);
- packet(0x0085,23,clif->pActionRequest,9,22);
- packet(0x0089,9,clif->pWalkToXY,6);
- packet(0x008c,105,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
- packet(0x0094,17,clif->pDropItem,6,15);
- packet(0x009b,14,clif->pGetCharNameRequest,10);
- packet(0x009f,-1,clif->pGlobalMessage,2,4);
- packet(0x00a2,14,clif->pSolveCharName,10);
- packet(0x00a7,25,clif->pUseSkillToPos,10,14,18,23);
- packet(0x00f3,10,clif->pChangeDir,4,9);
- packet(0x00f5,34,clif->pWantToConnection,7,15,25,29,33);
- packet(0x00f7,2,clif->pCloseKafra,0);
- packet(0x0113,11,clif->pTakeItem,7);
- packet(0x0116,11,clif->pTickSend,7);
- packet(0x0190,22,clif->pUseSkillToId,9,15,18);
- packet(0x0193,17,clif->pMoveFromKafra,3,13);
+ packet(0x0072,clif->pUseItem,9,20);
+ packet(0x007e,clif->pMoveToKafra,3,15);
+ packet(0x0085,clif->pActionRequest,9,22);
+ packet(0x0089,clif->pWalkToXY,6);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
+ packet(0x0094,clif->pDropItem,6,15);
+ packet(0x009b,clif->pGetCharNameRequest,10);
+ packet(0x009f,clif->pGlobalMessage,2,4);
+ packet(0x00a2,clif->pSolveCharName,10);
+ packet(0x00a7,clif->pUseSkillToPos,10,14,18,23);
+ packet(0x00f3,clif->pChangeDir,4,9);
+ packet(0x00f5,clif->pWantToConnection,7,15,25,29,33);
+ packet(0x00f7,clif->pCloseKafra,0);
+ packet(0x0113,clif->pTakeItem,7);
+ packet(0x0116,clif->pTickSend,7);
+ packet(0x0190,clif->pUseSkillToId,9,15,18);
+ packet(0x0193,clif->pMoveFromKafra,3,13);
#endif
//2004-09-20aSakexe
#if PACKETVER >= 20040920
- packet(0x0072,18,clif->pUseItem,10,14);
- packet(0x007e,25,clif->pMoveToKafra,6,21);
- packet(0x0085,9,clif->pActionRequest,3,8);
- packet(0x0089,14,clif->pWalkToXY,11);
- packet(0x008c,109,clif->pUseSkillToPosMoreInfo,16,20,23,27,29);
- packet(0x0094,19,clif->pDropItem,12,17);
- packet(0x009b,10,clif->pGetCharNameRequest,6);
- packet(0x00a2,10,clif->pSolveCharName,6);
- packet(0x00a7,29,clif->pUseSkillToPos,6,20,23,27);
- packet(0x00f3,18,clif->pChangeDir,8,17);
- packet(0x00f5,32,clif->pWantToConnection,10,17,23,27,31);
- packet(0x0113,14,clif->pTakeItem,10);
- packet(0x0116,14,clif->pTickSend,10);
- packet(0x0190,14,clif->pUseSkillToId,4,7,10);
- packet(0x0193,12,clif->pMoveFromKafra,4,8);
+ packet(0x0072,clif->pUseItem,10,14);
+ packet(0x007e,clif->pMoveToKafra,6,21);
+ packet(0x0085,clif->pActionRequest,3,8);
+ packet(0x0089,clif->pWalkToXY,11);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,16,20,23,27,29);
+ packet(0x0094,clif->pDropItem,12,17);
+ packet(0x009b,clif->pGetCharNameRequest,6);
+ packet(0x00a2,clif->pSolveCharName,6);
+ packet(0x00a7,clif->pUseSkillToPos,6,20,23,27);
+ packet(0x00f3,clif->pChangeDir,8,17);
+ packet(0x00f5,clif->pWantToConnection,10,17,23,27,31);
+ packet(0x0113,clif->pTakeItem,10);
+ packet(0x0116,clif->pTickSend,10);
+ packet(0x0190,clif->pUseSkillToId,4,7,10);
+ packet(0x0193,clif->pMoveFromKafra,4,8);
#endif
//2004-10-05aSakexe
#if PACKETVER >= 20041005
- packet(0x0072,17,clif->pUseItem,6,13);
- packet(0x007e,16,clif->pMoveToKafra,5,12);
- packet(0x0089,6,clif->pWalkToXY,3);
- packet(0x008c,103,clif->pUseSkillToPosMoreInfo,2,6,17,21,23);
- packet(0x0094,14,clif->pDropItem,5,12);
- packet(0x009b,15,clif->pGetCharNameRequest,11);
- packet(0x00a2,12,clif->pSolveCharName,8);
- packet(0x00a7,23,clif->pUseSkillToPos,3,6,17,21);
- packet(0x00f3,13,clif->pChangeDir,5,12);
- packet(0x00f5,33,clif->pWantToConnection,12,18,24,28,32);
- packet(0x0113,10,clif->pTakeItem,6);
- packet(0x0116,10,clif->pTickSend,6);
- packet(0x0190,20,clif->pUseSkillToId,7,12,16);
- packet(0x0193,26,clif->pMoveFromKafra,10,22);
+ packet(0x0072,clif->pUseItem,6,13);
+ packet(0x007e,clif->pMoveToKafra,5,12);
+ packet(0x0089,clif->pWalkToXY,3);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,2,6,17,21,23);
+ packet(0x0094,clif->pDropItem,5,12);
+ packet(0x009b,clif->pGetCharNameRequest,11);
+ packet(0x00a2,clif->pSolveCharName,8);
+ packet(0x00a7,clif->pUseSkillToPos,3,6,17,21);
+ packet(0x00f3,clif->pChangeDir,5,12);
+ packet(0x00f5,clif->pWantToConnection,12,18,24,28,32);
+ packet(0x0113,clif->pTakeItem,6);
+ packet(0x0116,clif->pTickSend,6);
+ packet(0x0190,clif->pUseSkillToId,7,12,16);
+ packet(0x0193,clif->pMoveFromKafra,10,22);
#endif
//2004-10-25aSakexe
#if PACKETVER >= 20041025
- packet(0x0072,13,clif->pUseItem,5,9);
- packet(0x007e,13,clif->pMoveToKafra,6,9);
- packet(0x0085,15,clif->pActionRequest,4,14);
- packet(0x008c,108,clif->pUseSkillToPosMoreInfo,6,9,23,26,28);
- packet(0x0094,12,clif->pDropItem,6,10);
- packet(0x009b,10,clif->pGetCharNameRequest,6);
- packet(0x00a2,16,clif->pSolveCharName,12);
- packet(0x00a7,28,clif->pUseSkillToPos,6,9,23,26);
- packet(0x00f3,15,clif->pChangeDir,6,14);
- packet(0x00f5,29,clif->pWantToConnection,5,14,20,24,28);
- packet(0x0113,9,clif->pTakeItem,5);
- packet(0x0116,9,clif->pTickSend,5);
- packet(0x0190,26,clif->pUseSkillToId,4,10,22);
- packet(0x0193,22,clif->pMoveFromKafra,12,18);
-#endif
-
-//2004-11-01aSakexe
-#if PACKETVER >= 20041101
- packet(0x0084,-1);
- packet(0x0215,6);
+ packet(0x0072,clif->pUseItem,5,9);
+ packet(0x007e,clif->pMoveToKafra,6,9);
+ packet(0x0085,clif->pActionRequest,4,14);
+ packet(0x008c,clif->pUseSkillToPosMoreInfo,6,9,23,26,28);
+ packet(0x0094,clif->pDropItem,6,10);
+ packet(0x009b,clif->pGetCharNameRequest,6);
+ packet(0x00a2,clif->pSolveCharName,12);
+ packet(0x00a7,clif->pUseSkillToPos,6,9,23,26);
+ packet(0x00f3,clif->pChangeDir,6,14);
+ packet(0x00f5,clif->pWantToConnection,5,14,20,24,28);
+ packet(0x0113,clif->pTakeItem,5);
+ packet(0x0116,clif->pTickSend,5);
+ packet(0x0190,clif->pUseSkillToId,4,10,22);
+ packet(0x0193,clif->pMoveFromKafra,12,18);
#endif
//2004-11-08aSakexe
#if PACKETVER >= 20041108
- packet(0x0084,2);
- packet(0x0216,6);
- packet(0x0217,2,clif->pBlacksmith,0);
- packet(0x0218,2,clif->pAlchemist,0);
- packet(0x0219,282);
- packet(0x021a,282);
- packet(0x021b,10);
- packet(0x021c,10);
+ packet(0x0217,clif->pBlacksmith,0);
+ packet(0x0218,clif->pAlchemist,0);
#endif
//2004-11-15aSakexe
#if PACKETVER >= 20041115
- packet(0x021d,6,clif->pLessEffect,2);
+ packet(0x021d,clif->pLessEffect,2);
#endif
//2004-11-29aSakexe
#if PACKETVER >= 20041129
- packet(0x0072,22,clif->pUseSkillToId,8,12,18);
- packet(0x007e,30,clif->pUseSkillToPos,4,9,22,28);
- packet(0x0085,-1,clif->pGlobalMessage,2,4);
- packet(0x0089,7,clif->pTickSend,3);
- packet(0x008c,13,clif->pGetCharNameRequest,9);
- packet(0x0094,14,clif->pMoveToKafra,4,10);
- packet(0x009b,2,clif->pCloseKafra,0);
- packet(0x009f,18,clif->pActionRequest,6,17);
- packet(0x00a2,7,clif->pTakeItem,3);
- packet(0x00a7,7,clif->pWalkToXY,4);
- packet(0x00f3,8,clif->pChangeDir,3,7);
- packet(0x00f5,29,clif->pWantToConnection,3,10,20,24,28);
- packet(0x00f7,14,clif->pSolveCharName,10);
- packet(0x0113,110,clif->pUseSkillToPosMoreInfo,4,9,22,28,30);
- packet(0x0116,12,clif->pDropItem,4,10);
- packet(0x0190,15,clif->pUseItem,3,11);
- packet(0x0193,21,clif->pMoveFromKafra,4,17);
- packet(0x0221,-1);
- packet(0x0222,6,clif->pWeaponRefine,2);
- packet(0x0223,8);
-#endif
-
-//2004-12-13aSakexe
-#if PACKETVER >= 20041213
-//skipped: many packets being set to -1
- packet(0x0066,3);
- packet(0x0070,3);
- packet(0x01ca,3);
- packet(0x021e,6);
- packet(0x021f,66);
- packet(0x0220,10);
+ packet(0x0072,clif->pUseSkillToId,8,12,18);
+ packet(0x007e,clif->pUseSkillToPos,4,9,22,28);
+ packet(0x0085,clif->pGlobalMessage,2,4);
+ packet(0x0089,clif->pTickSend,3);
+ packet(0x008c,clif->pGetCharNameRequest,9);
+ packet(0x0094,clif->pMoveToKafra,4,10);
+ packet(0x009b,clif->pCloseKafra,0);
+ packet(0x009f,clif->pActionRequest,6,17);
+ packet(0x00a2,clif->pTakeItem,3);
+ packet(0x00a7,clif->pWalkToXY,4);
+ packet(0x00f3,clif->pChangeDir,3,7);
+ packet(0x00f5,clif->pWantToConnection,3,10,20,24,28);
+ packet(0x00f7,clif->pSolveCharName,10);
+ packet(0x0113,clif->pUseSkillToPosMoreInfo,4,9,22,28,30);
+ packet(0x0116,clif->pDropItem,4,10);
+ packet(0x0190,clif->pUseItem,3,11);
+ packet(0x0193,clif->pMoveFromKafra,4,17);
+ packet(0x0222,clif->pWeaponRefine,2);
#endif
//2005-01-10bSakexe
#if PACKETVER >= 20050110
- packet(0x0072,26,clif->pUseSkillToId,8,16,22);
- packet(0x007e,114,clif->pUseSkillToPosMoreInfo,10,18,22,32,34);
- packet(0x0085,23,clif->pChangeDir,12,22);
- packet(0x0089,9,clif->pTickSend,5);
- packet(0x008c,8,clif->pGetCharNameRequest,4);
- packet(0x0094,20,clif->pMoveToKafra,10,16);
- packet(0x009b,32,clif->pWantToConnection,3,12,23,27,31);
- packet(0x009f,17,clif->pUseItem,5,13);
- packet(0x00a2,11,clif->pSolveCharName,7);
- packet(0x00a7,13,clif->pWalkToXY,10);
- packet(0x00f3,-1,clif->pGlobalMessage,2,4);
- packet(0x00f5,9,clif->pTakeItem,5);
- packet(0x00f7,21,clif->pMoveFromKafra,11,17);
- packet(0x0113,34,clif->pUseSkillToPos,10,18,22,32);
- packet(0x0116,20,clif->pDropItem,15,18);
- packet(0x0190,20,clif->pActionRequest,9,19);
- packet(0x0193,2,clif->pCloseKafra,0);
+ packet(0x0072,clif->pUseSkillToId,8,16,22);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,10,18,22,32,34);
+ packet(0x0085,clif->pChangeDir,12,22);
+ packet(0x0089,clif->pTickSend,5);
+ packet(0x008c,clif->pGetCharNameRequest,4);
+ packet(0x0094,clif->pMoveToKafra,10,16);
+ packet(0x009b,clif->pWantToConnection,3,12,23,27,31);
+ packet(0x009f,clif->pUseItem,5,13);
+ packet(0x00a2,clif->pSolveCharName,7);
+ packet(0x00a7,clif->pWalkToXY,10);
+ packet(0x00f3,clif->pGlobalMessage,2,4);
+ packet(0x00f5,clif->pTakeItem,5);
+ packet(0x00f7,clif->pMoveFromKafra,11,17);
+ packet(0x0113,clif->pUseSkillToPos,10,18,22,32);
+ packet(0x0116,clif->pDropItem,15,18);
+ packet(0x0190,clif->pActionRequest,9,19);
+ packet(0x0193,clif->pCloseKafra,0);
#endif
//2005-03-28aSakexe
#if PACKETVER >= 20050328
- packet(0x0224,10);
- packet(0x0225,2,clif->pTaekwon,0);
- packet(0x0226,282);
-#endif
-
-//2005-04-04aSakexe
-#if PACKETVER >= 20050404
- packet(0x0227,18);
- packet(0x0228,18);
-#endif
-
-//2005-04-11aSakexe
-#if PACKETVER >= 20050411
- packet(0x0229,15);
- packet(0x022a,58);
- packet(0x022b,57);
- packet(0x022c,64);
+ packet(0x0225,clif->pTaekwon,0);
#endif
//2005-04-25aSakexe
#if PACKETVER >= 20050425
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0232,9,clif->pHomMoveTo,2,6);
- packet(0x0233,11,clif->pHomAttack,2,6,10);
- packet(0x0234,6,clif->pHomMoveToMaster,2);
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0232,clif->pHomMoveTo,2,6);
+ packet(0x0233,clif->pHomAttack,2,6,10);
+ packet(0x0234,clif->pHomMoveToMaster,2);
#endif
//2005-05-09aSakexe
#if PACKETVER >= 20050509
- packet(0x0072,25,clif->pUseSkillToId,6,10,21);
- packet(0x007e,102,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
- packet(0x0085,11,clif->pChangeDir,7,10);
- packet(0x0089,8,clif->pTickSend,4);
- packet(0x008c,11,clif->pGetCharNameRequest,7);
- packet(0x0094,14,clif->pMoveToKafra,7,10);
- packet(0x009b,26,clif->pWantToConnection,4,9,17,21,25);
- packet(0x009f,14,clif->pUseItem,4,10);
- packet(0x00a2,15,clif->pSolveCharName,11);
- packet(0x00a7,8,clif->pWalkToXY,5);
- packet(0x00f5,8,clif->pTakeItem,4);
- packet(0x00f7,22,clif->pMoveFromKafra,14,18);
- packet(0x0113,22,clif->pUseSkillToPos,5,9,12,20);
- packet(0x0116,10,clif->pDropItem,5,8);
- packet(0x0190,19,clif->pActionRequest,5,18);
-#endif
-
-//2005-05-23aSakexe
-#if PACKETVER >= 20050523
- packet(0x022e,69);
- packet(0x0230,12);
+ packet(0x0072,clif->pUseSkillToId,6,10,21);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
+ packet(0x0085,clif->pChangeDir,7,10);
+ packet(0x0089,clif->pTickSend,4);
+ packet(0x008c,clif->pGetCharNameRequest,7);
+ packet(0x0094,clif->pMoveToKafra,7,10);
+ packet(0x009b,clif->pWantToConnection,4,9,17,21,25);
+ packet(0x009f,clif->pUseItem,4,10);
+ packet(0x00a2,clif->pSolveCharName,11);
+ packet(0x00a7,clif->pWalkToXY,5);
+ packet(0x00f5,clif->pTakeItem,4);
+ packet(0x00f7,clif->pMoveFromKafra,14,18);
+ packet(0x0113,clif->pUseSkillToPos,5,9,12,20);
+ packet(0x0116,clif->pDropItem,5,8);
+ packet(0x0190,clif->pActionRequest,5,18);
#endif
//2005-05-30aSakexe
#if PACKETVER >= 20050530
- packet(0x022e,71);
- packet(0x0235,-1);
- packet(0x0236,10);
- packet(0x0237,2,clif->pRankingPk,0);
- packet(0x0238,282);
-#endif
-
-//2005-05-31aSakexe
-#if PACKETVER >= 20050531
- packet(0x0216,2);
- packet(0x0239,11);
+ packet(0x0237,clif->pRankingPk,0);
#endif
//2005-06-08aSakexe
#if PACKETVER >= 20050608
- packet(0x0216,6);
- packet(0x0217,2,clif->pBlacksmith,0);
- packet(0x022f,5);
- packet(0x0231,26,clif->pChangeHomunculusName,0);
- packet(0x023a,4);
- packet(0x023b,36,clif->pStoragePassword,2,4,20);
- packet(0x023c,6);
-#endif
-
-//2005-06-22aSakexe
-#if PACKETVER >= 20050622
- packet(0x022e,71);
-
+ packet(0x0217,clif->pBlacksmith,0);
+ packet(0x0231,clif->pChangeHomunculusName,0);
+ packet(0x023b,clif->pStoragePassword,2,4,20);
#endif
//2005-06-28aSakexe
#if PACKETVER >= 20050628
- packet(0x0072,34,clif->pUseSkillToId,6,17,30);
- packet(0x007e,113,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
- packet(0x0085,17,clif->pChangeDir,8,16);
- packet(0x0089,13,clif->pTickSend,9);
- packet(0x008c,8,clif->pGetCharNameRequest,4);
- packet(0x0094,31,clif->pMoveToKafra,16,27);
- packet(0x009b,32,clif->pWantToConnection,9,15,23,27,31);
- packet(0x009f,19,clif->pUseItem,9,15);
- packet(0x00a2,9,clif->pSolveCharName,5);
- packet(0x00a7,11,clif->pWalkToXY,8);
- packet(0x00f5,13,clif->pTakeItem,9);
- packet(0x00f7,18,clif->pMoveFromKafra,11,14);
- packet(0x0113,33,clif->pUseSkillToPos,12,15,18,31);
- packet(0x0116,12,clif->pDropItem,3,10);
- packet(0x0190,24,clif->pActionRequest,11,23);
- packet(0x0216,-1);
- packet(0x023d,-1);
- packet(0x023e,4);
+ packet(0x0072,clif->pUseSkillToId,6,17,30);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
+ packet(0x0085,clif->pChangeDir,8,16);
+ packet(0x0089,clif->pTickSend,9);
+ packet(0x008c,clif->pGetCharNameRequest,4);
+ packet(0x0094,clif->pMoveToKafra,16,27);
+ packet(0x009b,clif->pWantToConnection,9,15,23,27,31);
+ packet(0x009f,clif->pUseItem,9,15);
+ packet(0x00a2,clif->pSolveCharName,5);
+ packet(0x00a7,clif->pWalkToXY,8);
+ packet(0x00f5,clif->pTakeItem,9);
+ packet(0x00f7,clif->pMoveFromKafra,11,14);
+ packet(0x0113,clif->pUseSkillToPos,12,15,18,31);
+ packet(0x0116,clif->pDropItem,3,10);
+ packet(0x0190,clif->pActionRequest,11,23);
#endif
//2005-07-18aSakexe
#if PACKETVER >= 20050718
- packet(0x0072,19,clif->pUseSkillToId,5,11,15);
- packet(0x007e,110,clif->pUseSkillToPosMoreInfo,9,15,23,28,30);
- packet(0x0085,11,clif->pChangeDir,6,10);
- packet(0x0089,7,clif->pTickSend,3);
- packet(0x008c,11,clif->pGetCharNameRequest,7);
- packet(0x0094,21,clif->pMoveToKafra,12,17);
- packet(0x009b,31,clif->pWantToConnection,3,13,22,26,30);
- packet(0x009f,12,clif->pUseItem,3,8);
- packet(0x00a2,18,clif->pSolveCharName,14);
- packet(0x00a7,15,clif->pWalkToXY,12);
- packet(0x00f5,7,clif->pTakeItem,3);
- packet(0x00f7,13,clif->pMoveFromKafra,5,9);
- packet(0x0113,30,clif->pUseSkillToPos,9,15,23,28);
- packet(0x0116,12,clif->pDropItem,6,10);
- packet(0x0190,21,clif->pActionRequest,5,20);
- packet(0x0216,6);
- packet(0x023f,2,clif->pMail_refreshinbox,0);
- packet(0x0240,8);
- packet(0x0241,6,clif->pMail_read,2);
- packet(0x0242,-1);
- packet(0x0243,6,clif->pMail_delete,2);
- packet(0x0244,6,clif->pMail_getattach,2);
- packet(0x0245,7);
- packet(0x0246,4,clif->pMail_winopen,2);
- packet(0x0247,8,clif->pMail_setattach,2,4);
- packet(0x0248,68);
- packet(0x0249,3);
- packet(0x024a,70);
- packet(0x024b,4,clif->pAuction_cancelreg,0);
- packet(0x024c,8,clif->pAuction_setitem,0);
- packet(0x024d,14);
- packet(0x024e,6,clif->pAuction_cancel,0);
- packet(0x024f,10,clif->pAuction_bid,0);
- packet(0x0250,3);
- packet(0x0251,2);
- packet(0x0252,-1);
+ packet(0x0072,clif->pUseSkillToId,5,11,15);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,9,15,23,28,30);
+ packet(0x0085,clif->pChangeDir,6,10);
+ packet(0x0089,clif->pTickSend,3);
+ packet(0x008c,clif->pGetCharNameRequest,7);
+ packet(0x0094,clif->pMoveToKafra,12,17);
+ packet(0x009b,clif->pWantToConnection,3,13,22,26,30);
+ packet(0x009f,clif->pUseItem,3,8);
+ packet(0x00a2,clif->pSolveCharName,14);
+ packet(0x00a7,clif->pWalkToXY,12);
+ packet(0x00f5,clif->pTakeItem,3);
+ packet(0x00f7,clif->pMoveFromKafra,5,9);
+ packet(0x0113,clif->pUseSkillToPos,9,15,23,28);
+ packet(0x0116,clif->pDropItem,6,10);
+ packet(0x0190,clif->pActionRequest,5,20);
+ packet(0x023f,clif->pMail_refreshinbox,0);
+ packet(0x0241,clif->pMail_read,2);
+ packet(0x0243,clif->pMail_delete,2);
+ packet(0x0244,clif->pMail_getattach,2);
+ packet(0x0246,clif->pMail_winopen,2);
+ packet(0x0247,clif->pMail_setattach,2,4);
+ packet(0x024b,clif->pAuction_cancelreg,0);
+ packet(0x024c,clif->pAuction_setitem,0);
+ packet(0x024e,clif->pAuction_cancel,0);
+ packet(0x024f,clif->pAuction_bid,0);
#endif
//2005-07-19bSakexe
#if PACKETVER >= 20050719
- packet(0x0072,34,clif->pUseSkillToId,6,17,30);
- packet(0x007e,113,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
- packet(0x0085,17,clif->pChangeDir,8,16);
- packet(0x0089,13,clif->pTickSend,9);
- packet(0x008c,8,clif->pGetCharNameRequest,4);
- packet(0x0094,31,clif->pMoveToKafra,16,27);
- packet(0x009b,32,clif->pWantToConnection,9,15,23,27,31);
- packet(0x009f,19,clif->pUseItem,9,15);
- packet(0x00a2,9,clif->pSolveCharName,5);
- packet(0x00a7,11,clif->pWalkToXY,8);
- packet(0x00f5,13,clif->pTakeItem,9);
- packet(0x00f7,18,clif->pMoveFromKafra,11,14);
- packet(0x0113,33,clif->pUseSkillToPos,12,15,18,31);
- packet(0x0116,12,clif->pDropItem,3,10);
- packet(0x0190,24,clif->pActionRequest,11,23);
-#endif
-
-//2005-08-01aSakexe
-#if PACKETVER >= 20050801
- packet(0x0245,3);
- packet(0x0251,4);
+ packet(0x0072,clif->pUseSkillToId,6,17,30);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,12,15,18,31,33);
+ packet(0x0085,clif->pChangeDir,8,16);
+ packet(0x0089,clif->pTickSend,9);
+ packet(0x008c,clif->pGetCharNameRequest,4);
+ packet(0x0094,clif->pMoveToKafra,16,27);
+ packet(0x009b,clif->pWantToConnection,9,15,23,27,31);
+ packet(0x009f,clif->pUseItem,9,15);
+ packet(0x00a2,clif->pSolveCharName,5);
+ packet(0x00a7,clif->pWalkToXY,8);
+ packet(0x00f5,clif->pTakeItem,9);
+ packet(0x00f7,clif->pMoveFromKafra,11,14);
+ packet(0x0113,clif->pUseSkillToPos,12,15,18,31);
+ packet(0x0116,clif->pDropItem,3,10);
+ packet(0x0190,clif->pActionRequest,11,23);
#endif
//2005-08-08aSakexe
#if PACKETVER >= 20050808
- packet(0x024d,12,clif->pAuction_register,0);
- packet(0x024e,4);
+ packet(0x024d,clif->pAuction_register,0);
#endif
//2005-08-17aSakexe
#if PACKETVER >= 20050817
- packet(0x0253,3);
- packet(0x0254,3,clif->pFeelSaveOk,0);
+ packet(0x0254,clif->pFeelSaveOk,0);
#endif
//2005-08-29aSakexe
#if PACKETVER >= 20050829
- packet(0x0240,-1);
- packet(0x0248,-1,clif->pMail_send,2,4,28,68);
- packet(0x0255,5);
- packet(0x0256,-1);
- packet(0x0257,8);
-#endif
-
-//2005-09-12bSakexe
-#if PACKETVER >= 20050912
- packet(0x0256,5);
- packet(0x0258,2);
- packet(0x0259,3);
+ packet(0x0248,clif->pMail_send,2,4,28,68);
#endif
//2005-10-10aSakexe
#if PACKETVER >= 20051010
- packet(0x020e,32);
- packet(0x025a,-1);
- packet(0x025b,6,clif->pCooking,0);
+ packet(0x025b,clif->pCooking,0);
#endif
//2005-10-13aSakexe
#if PACKETVER >= 20051013
- packet(0x007a,6);
- packet(0x0251,32);
- packet(0x025c,4,clif->pAuction_buysell,0);
+ packet(0x025c,clif->pAuction_buysell,0);
#endif
//2005-10-17aSakexe
#if PACKETVER >= 20051017
- packet(0x007a,58);
- packet(0x025d,6,clif->pAuction_close,0);
- packet(0x025e,4);
-#endif
-
-//2005-10-24aSakexe
-#if PACKETVER >= 20051024
- packet(0x025f,6);
- packet(0x0260,6);
+ packet(0x025d,clif->pAuction_close,0);
#endif
//2005-11-07aSakexe
#if PACKETVER >= 20051107
- packet(0x024e,6,clif->pAuction_cancel,0);
- packet(0x0251,34,clif->pAuction_search,0);
-#endif
-
-//2006-01-09aSakexe
-#if PACKETVER >= 20060109
- packet(0x0261,11);
- packet(0x0262,11);
- packet(0x0263,11);
- packet(0x0264,20);
- packet(0x0265,20);
- packet(0x0266,30);
- packet(0x0267,4);
- packet(0x0268,4);
- packet(0x0269,4);
- packet(0x026a,4);
- packet(0x026b,4);
- packet(0x026c,4);
- packet(0x026d,4);
- packet(0x026f,2);
- packet(0x0270,2);
- packet(0x0271,38);
- packet(0x0272,44);
-#endif
-
-//2006-01-26aSakexe
-#if PACKETVER >= 20060126
- packet(0x0271,40);
-
-#endif
-
-//2006-03-06aSakexe
-#if PACKETVER >= 20060306
- packet(0x0273,6);
- packet(0x0274,8);
+ packet(0x024e,clif->pAuction_cancel,0);
+ packet(0x0251,clif->pAuction_search,0);
#endif
//2006-03-13aSakexe
#if PACKETVER >= 20060313
- packet(0x0273,30,clif->pMail_return,2,6);
+ packet(0x0273,clif->pMail_return,2,6);
#endif
//2006-03-27aSakexe
#if PACKETVER >= 20060327
- packet(0x0072,26,clif->pUseSkillToId,11,18,22);
- packet(0x007e,120,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
- packet(0x0085,12,clif->pChangeDir,7,11);
- //packet(0x0089,13,clif->pTickSend,9);
- packet(0x008c,12,clif->pGetCharNameRequest,8);
- packet(0x0094,23,clif->pMoveToKafra,5,19);
- packet(0x009b,37,clif->pWantToConnection,9,21,28,32,36);
- packet(0x009f,24,clif->pUseItem,9,20);
- packet(0x00a2,11,clif->pSolveCharName,7);
- packet(0x00a7,15,clif->pWalkToXY,12);
- packet(0x00f5,13,clif->pTakeItem,9);
- packet(0x00f7,26,clif->pMoveFromKafra,11,22);
- packet(0x0113,40,clif->pUseSkillToPos,5,15,29,38);
- packet(0x0116,17,clif->pDropItem,8,15);
- packet(0x0190,18,clif->pActionRequest,7,17);
-#endif
-
-//2006-10-23aSakexe
-#if PACKETVER >= 20061023
- packet(0x006d,110);
+ packet(0x0072,clif->pUseSkillToId,11,18,22);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,5,15,29,38,40);
+ packet(0x0085,clif->pChangeDir,7,11);
+ packet(0x008c,clif->pGetCharNameRequest,8);
+ packet(0x0094,clif->pMoveToKafra,5,19);
+ packet(0x009b,clif->pWantToConnection,9,21,28,32,36);
+ packet(0x009f,clif->pUseItem,9,20);
+ packet(0x00a2,clif->pSolveCharName,7);
+ packet(0x00a7,clif->pWalkToXY,12);
+ packet(0x00f5,clif->pTakeItem,9);
+ packet(0x00f7,clif->pMoveFromKafra,11,22);
+ packet(0x0113,clif->pUseSkillToPos,5,15,29,38);
+ packet(0x0116,clif->pDropItem,8,15);
+ packet(0x0190,clif->pActionRequest,7,17);
#endif
//2006-04-24aSakexe to 2007-01-02aSakexe
#if PACKETVER >= 20060424
- packet(0x023e,8);
- packet(0x0277,84);
- packet(0x0278,2);
- packet(0x0279,2);
- packet(0x027a,-1);
- packet(0x027b,14);
- packet(0x027c,60);
- packet(0x027d,62);
- packet(0x027e,-1);
- packet(0x027f,8);
- packet(0x0280,12);
- packet(0x0281,4);
- packet(0x0282,284);
- packet(0x0283,6);
- packet(0x0284,14);
- packet(0x0285,6);
- packet(0x0286,4);
- packet(0x0287,-1);
- packet(0x0288,6);
- packet(0x0289,8);
- packet(0x028a,18);
- packet(0x028b,-1);
- packet(0x028c,46);
- packet(0x028d,34);
- packet(0x028e,4);
- packet(0x028f,6);
- packet(0x0290,4);
- packet(0x0291,4);
- packet(0x0292,2,clif->pAutoRevive,0);
- packet(0x0293,70);
- packet(0x0294,10);
- packet(0x0295,-1);
- packet(0x0296,-1);
- packet(0x0297,-1);
- packet(0x0298,8);
- packet(0x0299,6);
- packet(0x029a,27);
- packet(0x029c,66);
- packet(0x029d,-1);
- packet(0x029e,11);
- packet(0x029f,3,clif->pmercenary_action,0);
- packet(0x02a0,-1);
- packet(0x02a1,-1);
- packet(0x02a2,8);
+ packet(0x0292,clif->pAutoRevive,0);
+ packet(0x029f,clif->pmercenary_action,0);
#endif
//2007-01-08aSakexe
#if PACKETVER >= 20070108
- packet(0x0072,30,clif->pUseSkillToId,10,14,26);
- packet(0x007e,120,clif->pUseSkillToPosMoreInfo,10,19,23,38,40);
- packet(0x0085,14,clif->pChangeDir,10,13);
- packet(0x0089,11,clif->pTickSend,7);
- packet(0x008c,17,clif->pGetCharNameRequest,13);
- packet(0x0094,17,clif->pMoveToKafra,4,13);
- packet(0x009b,35,clif->pWantToConnection,7,21,26,30,34);
- packet(0x009f,21,clif->pUseItem,7,17);
- packet(0x00a2,10,clif->pSolveCharName,6);
- packet(0x00a7,8,clif->pWalkToXY,5);
- packet(0x00f5,11,clif->pTakeItem,7);
- packet(0x00f7,15,clif->pMoveFromKafra,3,11);
- packet(0x0113,40,clif->pUseSkillToPos,10,19,23,38);
- packet(0x0116,19,clif->pDropItem,11,17);
- packet(0x0190,10,clif->pActionRequest,4,9);
-#endif
-
-//2007-01-22aSakexe
-#if PACKETVER >= 20070122
- packet(0x02a3,18);
- packet(0x02a4,2);
-#endif
-
-//2007-01-29aSakexe
-#if PACKETVER >= 20070129
- packet(0x029b,72);
- packet(0x02a3,-1);
- packet(0x02a4,-1);
- packet(0x02a5,8);
-
-#endif
-
-//2007-02-05aSakexe
-#if PACKETVER >= 20070205
- packet(0x02aa,4);
- packet(0x02ab,36);
- packet(0x02ac,6);
+ packet(0x0072,clif->pUseSkillToId,10,14,26);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,10,19,23,38,40);
+ packet(0x0085,clif->pChangeDir,10,13);
+ packet(0x0089,clif->pTickSend,7);
+ packet(0x008c,clif->pGetCharNameRequest,13);
+ packet(0x0094,clif->pMoveToKafra,4,13);
+ packet(0x009b,clif->pWantToConnection,7,21,26,30,34);
+ packet(0x009f,clif->pUseItem,7,17);
+ packet(0x00a2,clif->pSolveCharName,6);
+ packet(0x00a7,clif->pWalkToXY,5);
+ packet(0x00f5,clif->pTakeItem,7);
+ packet(0x00f7,clif->pMoveFromKafra,3,11);
+ packet(0x0113,clif->pUseSkillToPos,10,19,23,38);
+ packet(0x0116,clif->pDropItem,11,17);
+ packet(0x0190,clif->pActionRequest,4,9);
#endif
//2007-02-12aSakexe
#if PACKETVER >= 20070212
- packet(0x0072,25,clif->pUseSkillToId,6,10,21);
- packet(0x007e,102,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
- packet(0x0085,11,clif->pChangeDir,7,10);
- packet(0x0089,8,clif->pTickSend,4);
- packet(0x008c,11,clif->pGetCharNameRequest,7);
- packet(0x0094,14,clif->pMoveToKafra,7,10);
- packet(0x009b,26,clif->pWantToConnection,4,9,17,21,25);
- packet(0x009f,14,clif->pUseItem,4,10);
- packet(0x00a2,15,clif->pSolveCharName,11);
- //packet(0x00a7,8,clif->pWalkToXY,5);
- packet(0x00f5,8,clif->pTakeItem,4);
- packet(0x00f7,22,clif->pMoveFromKafra,14,18);
- packet(0x0113,22,clif->pUseSkillToPos,5,9,12,20);
- packet(0x0116,10,clif->pDropItem,5,8);
- packet(0x0190,19,clif->pActionRequest,5,18);
+ packet(0x0072,clif->pUseSkillToId,6,10,21);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,5,9,12,20,22);
+ packet(0x0085,clif->pChangeDir,7,10);
+ packet(0x0089,clif->pTickSend,4);
+ packet(0x008c,clif->pGetCharNameRequest,7);
+ packet(0x0094,clif->pMoveToKafra,7,10);
+ packet(0x009b,clif->pWantToConnection,4,9,17,21,25);
+ packet(0x009f,clif->pUseItem,4,10);
+ packet(0x00a2,clif->pSolveCharName,11);
+ packet(0x00f5,clif->pTakeItem,4);
+ packet(0x00f7,clif->pMoveFromKafra,14,18);
+ packet(0x0113,clif->pUseSkillToPos,5,9,12,20);
+ packet(0x0116,clif->pDropItem,5,8);
+ packet(0x0190,clif->pActionRequest,5,18);
#endif
//2007-05-07aSakexe
#if PACKETVER >= 20070507
- packet(0x01fd,15,clif->pRepairItem,2);
+ packet(0x01fd,clif->pRepairItem,2);
#endif
//2007-02-27aSakexe to 2007-10-02aSakexe
#if PACKETVER >= 20070227
- packet(0x0288,10,clif->pcashshop_buy,2,4,6);
- packet(0x0289,12);
- packet(0x02a6,22);
- packet(0x02a7,22);
- packet(0x02a8,162);
- packet(0x02a9,58);
- packet(0x02ad,8);
- packet(0x02b0,85);
- packet(0x02b1,-1);
- packet(0x02b2,-1);
- packet(0x02b3,107);
- packet(0x02b4,6);
- packet(0x02b5,-1);
- packet(0x02b6,7,clif->pquestStateAck,2,6);
- packet(0x02b7,7);
- packet(0x02b8,22);
- packet(0x02b9,191);
- packet(0x02ba,11,clif->pHotkey,2,4,5,9);
- packet(0x02bb,8);
- packet(0x02bc,6);
- packet(0x02bf,10);
- packet(0x02c0,2);
- packet(0x02c1,-1);
- packet(0x02c2,-1);
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x02c5,30);
- packet(0x02c6,30);
- packet(0x02c7,7,clif->pReplyPartyInvite2,2,6);
- packet(0x02c8,3,clif->pPartyTick,2);
- packet(0x02c9,3);
- packet(0x02ca,3);
- packet(0x02cb,20);
- packet(0x02cc,4);
- packet(0x02cd,26);
- packet(0x02ce,10);
- packet(0x02cf,6,clif->pMemorialDungeonCommand);
- packet(0x02d0,-1);
- packet(0x02d1,-1);
- packet(0x02d2,-1);
- packet(0x02d3,4);
- packet(0x02d4,29);
- packet(0x02d5,2);
- packet(0x02d6,6,clif->pViewPlayerEquip,2);
- packet(0x02d7,-1);
- packet(0x02d8,10,clif->p_cz_config,6);
- packet(0x02d9,10);
- packet(0x02da,3);
- packet(0x02db,-1,clif->pBattleChat,2,4);
- packet(0x02dc,-1);
- packet(0x02dd,32);
- packet(0x02de,6);
- packet(0x02df,36);
- packet(0x02e0,34);
-#endif
-
-//2007-10-23aSakexe
-#if PACKETVER >= 20071023
- packet(0x02cb,65);
- packet(0x02cd,71);
-#endif
-
-//2007-11-06aSakexe
-#if PACKETVER >= 20071106
- packet(0x0078,55);
- packet(0x007c,42);
- packet(0x022c,65);
- packet(0x029b,80);
-#endif
-
-//2007-11-13aSakexe
-#if PACKETVER >= 20071113
- packet(0x02e1,33);
-#endif
-
-//2007-11-20aSakexe
-#if PACKETVER >= 20071120
- //packet(0x01df,10 <- ???);
- packet(0x02e2,14);
- packet(0x02e3,25);
- packet(0x02e4,8);
- packet(0x02e5,8);
- packet(0x02e6,6);
-#endif
-
-//2007-11-27aSakexe
-#if PACKETVER >= 20071127
- packet(0x02e7,-1);
+ packet(0x0288,clif->pcashshop_buy,2,4,6);
+ packet(0x02b6,clif->pquestStateAck,2,6);
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x02c7,clif->pReplyPartyInvite2,2,6);
+ packet(0x02c8,clif->pPartyTick,2);
+ packet(0x02cf,clif->pMemorialDungeonCommand);
+ packet(0x02d6,clif->pViewPlayerEquip,2);
+ packet(0x02d8,clif->p_cz_config,6);
+ packet(0x02db,clif->pBattleChat,2,4);
+#endif
+
+#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,6,clif->pGMReqAccountName,2);
- packet(0x02e8,-1);
- packet(0x02e9,-1);
- packet(0x02ea,-1);
- packet(0x02eb,13);
- packet(0x02ec,67);
- packet(0x02ed,59);
- packet(0x02ee,60);
- packet(0x02ef,8);
+ packet(0x01df,clif->pGMReqAccountName,2);
#endif
//2008-03-18aSakexe
#if PACKETVER >= 20080318
- packet(0x02bf,-1);
- packet(0x02c0,-1);
- packet(0x02f0,10);
- packet(0x02f1,2,clif->pProgressbar,0);
- packet(0x02f2,2);
-#endif
-
-//2008-03-25bSakexe
-#if PACKETVER >= 20080325
- packet(0x02f3,-1);
- packet(0x02f4,-1);
- packet(0x02f5,-1);
- packet(0x02f6,-1);
- packet(0x02f7,-1);
- packet(0x02f8,-1);
- packet(0x02f9,-1);
- packet(0x02fa,-1);
- packet(0x02fb,-1);
- packet(0x02fc,-1);
- packet(0x02fd,-1);
- packet(0x02fe,-1);
- packet(0x02ff,-1);
- packet(0x0300,-1);
-#endif
-
-//2008-04-01aSakexe
-#if PACKETVER >= 20080401
- packet(0x0301,-1);
- packet(0x0302,-1);
- packet(0x0303,-1);
- packet(0x0304,-1);
- packet(0x0305,-1);
- packet(0x0306,-1);
- packet(0x0307,-1);
- packet(0x0308,-1);
- packet(0x0309,-1);
- packet(0x030a,-1);
- packet(0x030b,-1);
- packet(0x030c,-1);
- packet(0x030d,-1);
- packet(0x030e,-1);
- packet(0x030f,-1);
- packet(0x0310,-1);
- packet(0x0311,-1);
- packet(0x0312,-1);
- packet(0x0313,-1);
- packet(0x0314,-1);
- packet(0x0315,-1);
- packet(0x0316,-1);
- packet(0x0317,-1);
- packet(0x0318,-1);
- packet(0x0319,-1);
- packet(0x031a,-1);
- packet(0x031b,-1);
- packet(0x031c,-1);
- packet(0x031d,-1);
- packet(0x031e,-1);
- packet(0x031f,-1);
- packet(0x0320,-1);
- packet(0x0321,-1);
- packet(0x0322,-1);
- packet(0x0323,-1);
- packet(0x0324,-1);
- packet(0x0325,-1);
- packet(0x0326,-1);
- packet(0x0327,-1);
- packet(0x0328,-1);
- packet(0x0329,-1);
- packet(0x032a,-1);
- packet(0x032b,-1);
- packet(0x032c,-1);
- packet(0x032d,-1);
- packet(0x032e,-1);
- packet(0x032f,-1);
- packet(0x0330,-1);
- packet(0x0331,-1);
- packet(0x0332,-1);
- packet(0x0333,-1);
- packet(0x0334,-1);
- packet(0x0335,-1);
- packet(0x0336,-1);
- packet(0x0337,-1);
- packet(0x0338,-1);
- packet(0x0339,-1);
- packet(0x033a,-1);
- packet(0x033b,-1);
- packet(0x033c,-1);
- packet(0x033d,-1);
- packet(0x033e,-1);
- packet(0x033f,-1);
- packet(0x0340,-1);
- packet(0x0341,-1);
- packet(0x0342,-1);
- packet(0x0343,-1);
- packet(0x0344,-1);
- packet(0x0345,-1);
- packet(0x0346,-1);
- packet(0x0347,-1);
- packet(0x0348,-1);
- packet(0x0349,-1);
- packet(0x034a,-1);
- packet(0x034b,-1);
- packet(0x034c,-1);
- packet(0x034d,-1);
- packet(0x034e,-1);
- packet(0x034f,-1);
- packet(0x0350,-1);
- packet(0x0351,-1);
- packet(0x0352,-1);
- packet(0x0353,-1);
- packet(0x0354,-1);
- packet(0x0355,-1);
- packet(0x0356,-1);
- packet(0x0357,-1);
- packet(0x0358,-1);
- packet(0x0359,-1);
- packet(0x035a,-1);
-#endif
-
-//2008-05-27aSakexe
-#if PACKETVER >= 20080527
- packet(0x035b,-1);
- packet(0x035c,2);
- packet(0x035d,-1);
- packet(0x035e,2);
- packet(0x035f,-1);
- packet(0x0389,-1);
-#endif
-
-//2008-08-20aSakexe
-#if PACKETVER >= 20080820
- packet(0x040c,-1);
- packet(0x040d,-1);
- packet(0x040e,-1);
- packet(0x040f,-1);
- packet(0x0410,-1);
- packet(0x0411,-1);
- packet(0x0412,-1);
- packet(0x0413,-1);
- packet(0x0414,-1);
- packet(0x0415,-1);
- packet(0x0416,-1);
- packet(0x0417,-1);
- packet(0x0418,-1);
- packet(0x0419,-1);
- packet(0x041a,-1);
- packet(0x041b,-1);
- packet(0x041c,-1);
- packet(0x041d,-1);
- packet(0x041e,-1);
- packet(0x041f,-1);
- packet(0x0420,-1);
- packet(0x0421,-1);
- packet(0x0422,-1);
- packet(0x0423,-1);
- packet(0x0424,-1);
- packet(0x0425,-1);
- packet(0x0426,-1);
- packet(0x0427,-1);
- packet(0x0428,-1);
- packet(0x0429,-1);
- packet(0x042a,-1);
- packet(0x042b,-1);
- packet(0x042c,-1);
- packet(0x042d,-1);
- packet(0x042e,-1);
- packet(0x042f,-1);
- packet(0x0430,-1);
- packet(0x0431,-1);
- packet(0x0432,-1);
- packet(0x0433,-1);
- packet(0x0434,-1);
- packet(0x0435,-1);
+ packet(0x02f1,clif->pProgressbar,0);
#endif
//2008-09-10aSakexe
#if PACKETVER >= 20080910
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
-#endif
-
-//2008-11-13aSakexe
-#if PACKETVER >= 20081113
- packet(0x043d,8);
- packet(0x043e,-1);
- packet(0x043f,8);
-#endif
-
-//2008-11-26aSakexe
-#if PACKETVER >= 20081126
- packet(0x01a2,37);
- packet(0x0440,10);
- packet(0x0441,4);
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
#endif
//2008-12-10aSakexe
#if PACKETVER >= 20081210
- packet(0x0442,-1);
- packet(0x0443,8,clif->pSkillSelectMenu,2,6);
-#endif
-
-//2009-01-14aSakexe
-#if PACKETVER >= 20090114
- packet(0x043f,25);
- packet(0x0444,-1);
- packet(0x0445,10);
-#endif
-
-//2009-02-18aSakexe
-#if PACKETVER >= 20090218
- packet(0x0446,14);
-#endif
-
-//2009-02-25aSakexe
-#if PACKETVER >= 20090225
- packet(0x0448,-1);
-#endif
-
-//2009-03-30aSakexe
-#if PACKETVER >= 20090330
- packet(0x0449,4);
-#endif
-
-//2009-04-08aSakexe
-#if PACKETVER >= 20090408
- packet(0x02a6,-1);
- packet(0x02a7,-1);
- packet(0x044a,6);
+ packet(0x0443,clif->pSkillSelectMenu,2,6);
#endif
//2008-08-27aRagexeRE
#if PACKETVER >= 20080827
- packet(0x0072,22,clif->pUseSkillToId,9,15,18);
- packet(0x007c,44);
- packet(0x007e,105,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
- packet(0x0085,10,clif->pChangeDir,4,9);
- packet(0x0089,11,clif->pTickSend,7);
- packet(0x008c,14,clif->pGetCharNameRequest,10);
- packet(0x0094,19,clif->pMoveToKafra,3,15);
- packet(0x009b,34,clif->pWantToConnection,7,15,25,29,33);
- packet(0x009f,20,clif->pUseItem,7,20);
- packet(0x00a2,14,clif->pSolveCharName,10);
- packet(0x00a7,9,clif->pWalkToXY,6);
- packet(0x00f5,11,clif->pTakeItem,7);
- packet(0x00f7,17,clif->pMoveFromKafra,3,13);
- packet(0x0113,25,clif->pUseSkillToPos,10,14,18,23);
- packet(0x0116,17,clif->pDropItem,6,15);
- packet(0x0190,23,clif->pActionRequest,9,22);
- packet(0x02e2,20);
- packet(0x02e3,22);
- packet(0x02e4,11);
- packet(0x02e5,9);
+ packet(0x0072,clif->pUseSkillToId,9,15,18);
+ packet(0x007e,clif->pUseSkillToPosMoreInfo,10,14,18,23,25);
+ packet(0x0085,clif->pChangeDir,4,9);
+ packet(0x0089,clif->pTickSend,7);
+ packet(0x008c,clif->pGetCharNameRequest,10);
+ packet(0x0094,clif->pMoveToKafra,3,15);
+ packet(0x009b,clif->pWantToConnection,7,15,25,29,33);
+ packet(0x009f,clif->pUseItem,7,20);
+ packet(0x00a2,clif->pSolveCharName,10);
+ packet(0x00a7,clif->pWalkToXY,6);
+ packet(0x00f5,clif->pTakeItem,7);
+ packet(0x00f7,clif->pMoveFromKafra,3,13);
+ packet(0x0113,clif->pUseSkillToPos,10,14,18,23);
+ packet(0x0116,clif->pDropItem,6,15);
+ packet(0x0190,clif->pActionRequest,9,22);
#endif
//2008-09-10aRagexeRE
#if PACKETVER >= 20080910
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
-
-#endif
-
-//2008-11-12aRagexeRE
-#if PACKETVER >= 20081112
- packet(0x043d,8);
- //packet(0x043e,-1);
- packet(0x043f,8);
-#endif
-
-//2008-12-17aRagexeRE
-#if PACKETVER >= 20081217
- packet(0x01a2,37);
- //packet(0x0440,10);
- //packet(0x0441,4);
- //packet(0x0442,8);
- //packet(0x0443,8);
-#endif
-
-//2008-12-17bRagexeRE
-#if PACKETVER >= 20081217
- packet(0x006d,114);
-
-#endif
-
-//2009-01-21aRagexeRE
-#if PACKETVER >= 20090121
- packet(0x043f,25);
- //packet(0x0444,-1);
- //packet(0x0445,10);
-#endif
-
-//2009-02-18aRagexeRE
-#if PACKETVER >= 20090218
- //packet(0x0446,14);
-#endif
-
-//2009-02-26cRagexeRE
-#if PACKETVER >= 20090226
- //packet(0x0448,-1);
-#endif
-
-//2009-04-01aRagexeRE
-#if PACKETVER >= 20090401
- //packet(0x0449,4);
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
#endif
-//2009-05-14aRagexeRE
-#if PACKETVER >= 20090514
- //packet(0x044b,2);
-#endif
-
-//2009-05-20aRagexeRE
-#if PACKETVER >= 20090520
- //packet(0x07d0,6);
- //packet(0x07d1,2);
- //packet(0x07d2,-1);
- //packet(0x07d3,4);
- //packet(0x07d4,4);
- //packet(0x07d5,4);
- //packet(0x07d6,4);
+#if PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_RE_NUM >= 20090408 || PACKETVER_SAK_NUM >= 20090408 || defined(PACKETVER_ZERO)
+ packet(0x044a,clif->pClientVersion);
#endif
// 2009-05-20aRagexe, 2009-05-20aRagexeRE
#if PACKETVER >= 20090520
// new packets
- packet(0x0447,2,clif->p_cz_blocking_play_cancel); // PACKET_CZ_BLOCKING_PLAY_CANCEL
+ packet(0x0447,clif->p_cz_blocking_play_cancel); // PACKET_CZ_BLOCKING_PLAY_CANCEL
#endif
//2009-06-03aRagexeRE
#if PACKETVER >= 20090603
- packet(0x07d7,8,clif->pPartyChangeOption,2,6,7);
- packet(0x07d8,8);
- packet(0x07d9,254);
- packet(0x07da,6,clif->pPartyChangeLeader,2);
-#endif
-
-//2009-06-10aRagexeRE
-#if PACKETVER >= 20090610
- //packet(0x07db,8);
-#endif
-
-//2009-06-17aRagexeRE
-#if PACKETVER >= 20090617
- packet(0x07d9,268);
- //packet(0x07dc,6);
- //packet(0x07dd,54);
- //packet(0x07de,30);
- //packet(0x07df,54);
-#endif
-
-//2009-07-01aRagexeRE
-#if PACKETVER >= 20090701
- //packet(0x0275,37);
- //packet(0x0276,-1);
-#endif
-
-//2009-07-08aRagexeRE
-#if PACKETVER >= 20090708
- //packet(0x07e0,58);
-#endif
-
-//2009-07-15aRagexeRE
-#if PACKETVER >= 20090715
- packet(0x07e1,15);
-#endif
-
-//2009-08-05aRagexeRE
-#if PACKETVER >= 20090805
- packet(0x07e2,8);
+ packet(0x07d7,clif->pPartyChangeOption,2,6,7);
+ packet(0x07da,clif->pPartyChangeLeader,2);
#endif
//2009-08-18aRagexeRE
#if PACKETVER >= 20090818
- packet(0x07e3,6);
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07e6,8);
-#endif
-
-//2009-08-25aRagexeRE
-#if PACKETVER >= 20090825
- //packet(0x07e6,28);
- packet(0x07e7,5);
-#endif
-
-//2009-09-22aRagexeRE
-#if PACKETVER >= 20090922
- packet(0x07e5,8);
- packet(0x07e6,8);
- packet(0x07e7,32);
- packet(0x07e8,-1);
- packet(0x07e9,5);
-#endif
-
-//2009-09-29aRagexeRE
-#if PACKETVER >= 20090929
- //packet(0x07ea,2);
- //packet(0x07eb,-1);
- //packet(0x07ec,6);
- //packet(0x07ed,8);
- //packet(0x07ee,6);
- //packet(0x07ef,8);
- //packet(0x07f0,4);
- //packet(0x07f2,4);
- //packet(0x07f3,3);
-#endif
-
-//2009-10-06aRagexeRE
-#if PACKETVER >= 20091006
- //packet(0x07ec,8);
- //packet(0x07ed,10);
- //packet(0x07f0,8);
- //packet(0x07f1,15);
- //packet(0x07f2,6);
- //packet(0x07f3,4);
- //packet(0x07f4,3);
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
#endif
//2009-10-27aRagexeRE
#if PACKETVER >= 20091027
- packet(0x07f5,6,clif->pGMFullStrip,2);
- packet(0x07f6,14);
-#endif
-
-//2009-11-03aRagexeRE
-#if PACKETVER >= 20091103
- packet(0x07f7,-1);
- packet(0x07f8,-1);
- packet(0x07f9,-1);
-#endif
-
-//2009-11-17aRagexeRE
-#if PACKETVER >= 20091117
- packet(0x07fa,8);
-
-#endif
-
-//2009-11-24aRagexeRE
-#if PACKETVER >= 20091124
- packet(0x07fb,25);
-#endif
-
-//2009-12-01aRagexeRE
-#if PACKETVER >= 20091201
- //packet(0x07fc,10);
- //packet(0x07fd,-1);
- packet(0x07fe,26);
- //packet(0x07ff,-1);
-#endif
-
-//2009-12-15aRagexeRE
-#if PACKETVER >= 20091215
- packet(0x0800,-1);
- //packet(0x0801,-1);
+ packet(0x07f5,clif->pGMFullStrip,2);
#endif
//2009-12-22aRagexeRE
#if PACKETVER >= 20091222
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4,6); // Booking System
- packet(0x0803,4);
- packet(0x0804,8); // Booking System
- packet(0x0805,-1);
- packet(0x0806,4,clif->pPartyBookingDeleteReq,2);// Booking System
- //packet(0x0807,2);
- packet(0x0808,4); // Booking System
- //packet(0x0809,14);
- //packet(0x080A,50);
- //packet(0x080B,18);
- //packet(0x080C,6);
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4,6); // Booking System
+ packet(0x0806,clif->pPartyBookingDeleteReq,2);// Booking System
#endif
//2009-12-29aRagexeRE
#if PACKETVER >= 20091229
- packet(0x0804,14,clif->pPartyBookingSearchReq,2,4,6,8,12);// Booking System
- packet(0x0806,2,clif->pPartyBookingDeleteReq,0);// Booking System
- packet(0x0807,4);
- packet(0x0808,14,clif->pPartyBookingUpdateReq,2); // Booking System
- packet(0x0809,50);
- packet(0x080A,18);
- packet(0x080B,6);// Booking System
+ packet(0x0804,clif->pPartyBookingSearchReq,2,4,6,8,12);// Booking System
+ packet(0x0806,clif->pPartyBookingDeleteReq,0);// Booking System
+ packet(0x0808,clif->pPartyBookingUpdateReq,2); // Booking System
#endif
//2010-01-05aRagexeRE
#if PACKETVER >= 20100105
- packet(0x0801,-1,clif->pPurchaseReq2,2,4,8,12);
-#endif
-
- //2010-01-26aRagexeRE
-#if PACKETVER >= 20100126
- //packet(0x080C,2);
- //packet(0x080D,3);
- packet(0x080E,14);
+ packet(0x0801,clif->pPurchaseReq2,2,4,8,12);
#endif
- //2010-02-09aRagexeRE
-#if PACKETVER >= 20100209
- //packet(0x07F0,6);
-#endif
-
- //2010-02-23aRagexeRE
-#if PACKETVER >= 20100223
- packet(0x080F,20);
-#endif
-
- //2010-03-03aRagexeRE
+//2010-03-03aRagexeRE
#if PACKETVER >= 20100303
- packet(0x0810,3);
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- //packet(0x0812,86);
- //packet(0x0813,6);
- //packet(0x0814,6);
- //packet(0x0815,-1);
- //packet(0x0817,-1);
- //packet(0x0818,6);
- //packet(0x0819,4);
-#endif
-
- //2010-03-09aRagexeRE
-#if PACKETVER >= 20100309
- packet(0x0813,-1);
- //packet(0x0814,2);
- //packet(0x0815,6);
- packet(0x0816,6);
- packet(0x0818,-1);
- //packet(0x0819,10);
- //packet(0x081A,4);
- //packet(0x081B,4);
- //packet(0x081C,6);
- packet(0x081d,22);
- packet(0x081e,8);
-#endif
-
- //2010-03-23aRagexeRE
-#if PACKETVER >= 20100323
- //packet(0x081F,-1);
-#endif
-
- //2010-04-06aRagexeRE
-#if PACKETVER >= 20100406
- //packet(0x081A,6);
-#endif
-
- //2010-04-13aRagexeRE
-#if PACKETVER >= 20100413
- //packet(0x081A,10);
- packet(0x0820,11);
- packet(0x0821,2);
- //packet(0x0822,9);
- //packet(0x0823,-1);
-#endif
-
- //2010-04-14dRagexeRE
-#if PACKETVER >= 20100414
- //packet(0x081B,8);
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#endif
//2010-04-20aRagexeRE
#if PACKETVER >= 20100420
- packet(0x0812,8);
- packet(0x0814,86);
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x081a,4);
- packet(0x081b,10);
- packet(0x081c,10);
- packet(0x0824,6);
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
#endif
//2010-06-01aRagexeRE
#if PACKETVER >= 20100601
- //packet(0x0825,-1);
- //packet(0x0826,4);
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0836,-1);
- packet(0x0837,3);
- //packet(0x0838,3);
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
#endif
//2010-06-08aRagexeRE
#if PACKETVER >= 20100608
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083A,4); // Search Stalls Feature
- packet(0x083B,2,clif->pCloseSearchStoreInfo,0);
- packet(0x083C,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083D,6);
-#endif
-
-//2010-06-15aRagexeRE
-#if PACKETVER >= 20100615
- //packet(0x083E,26);
-#endif
-
-//2010-06-22aRagexeRE
-#if PACKETVER >= 20100622
- //packet(0x083F,22);
-#endif
-
-//2010-06-29aRagexeRE
-#if PACKETVER >= 20100629
- packet(0x00AA,9);
- //packet(0x07F1,18);
- //packet(0x07F2,8);
- //packet(0x07F3,6);
-#endif
-
-//2010-07-01aRagexeRE
-#if PACKETVER >= 20100701
- packet(0x083A,5);// Search Stalls Feature
-#endif
-
-//2010-07-13aRagexeRE
-#if PACKETVER >= 20100713
- //packet(0x0827,6);
- //packet(0x0828,14);
- //packet(0x0829,6);
- //packet(0x082A,10);
- //packet(0x082B,6);
- //packet(0x082C,14);
- //packet(0x0840,-1);
- //packet(0x0841,19);
-#endif
-
-//2010-07-14aRagexeRE
-#if PACKETVER >= 20100714
- //packet(0x841,4);
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x083B,clif->pCloseSearchStoreInfo,0);
+ packet(0x083C,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
#endif
//2010-08-03aRagexeRE
#if PACKETVER >= 20100803
- packet(0x0839,66);
- packet(0x0842,6,clif->pGMRecall2,2);
- packet(0x0843,6,clif->pGMRemove2,2);
+ packet(0x0842,clif->pGMRecall2,2);
+ packet(0x0843,clif->pGMRemove2,2);
#endif
-//2010-11-24aRagexeRE
-#if PACKETVER >= 20101124
- packet(0x0288,-1,clif->pcashshop_buy,4,8);
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0856,-1);
- packet(0x0857,-1);
- packet(0x0858,-1);
- packet(0x0859,-1);
-#endif
-
-// 2010-12-21aRagexe
-#if PACKETVER >= 20101221
-// shuffle packets not added
-// new packets
- packet(0x08b1,-1); // ZC_MCSTORE_NOTMOVEITEM_LIST
+// all versions
+#if PACKETVER >= 20100824
+ packet(0x0844,clif->pCashShopOpen1);
#endif
-// 2011-01-11aRagexe
-#if PACKETVER >= 20110111
-// shuffle packets not added
-// new packets
- packet(0x08b3,-1); // ZC_SHOWSCRIPT
+//2010-11-24aRagexeRE
+#if PACKETVER >= 20101124
+ packet(0x0288,clif->pcashshop_buy,4,8);
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
#endif
// 2011-01-25aRagexe
#if PACKETVER >= 20110125
// shuffle packets not added
// new packets
- packet(0x08b4,2); // ZC_START_COLLECTION
- packet(0x08b5,6,clif->pDull,2); // CZ_TRYCOLLECTION
- packet(0x08b6,3); // ZC_TRYCOLLECTION
+ packet(0x08b5,clif->pDull,2); // CZ_TRYCOLLECTION
#endif
// 2011-01-31aRagexe
#if PACKETVER >= 20110131
// shuffle packets not added
// new packets
- packet(0x02f3,-1,clif->pDull); // CZ_IRMAIL_SEND
- packet(0x02f4,3); // ZC_IRMAIL_SEND_RES
- packet(0x02f5,7); // ZC_IRMAIL_NOTIFY
- packet(0x02f6,7,clif->pDull,2); // CZ_IRMAIL_LIST
+ packet(0x02f3,clif->pDull); // CZ_IRMAIL_SEND
+ packet(0x02f6,clif->pDull,2); // CZ_IRMAIL_LIST
#endif
// 2011-02-22aRagexe
#if PACKETVER >= 20110222
// shuffle packets not added
// new packets
- packet(0x08c0,-1); // ZC_ACK_SE_CASH_ITEM_LIST2
- packet(0x08c1,2,clif->pDull); // CZ_MACRO_START
- packet(0x08c2,2,clif->pDull); // CZ_MACRO_STOP
-#endif
-
-// 2011-04-19aRagexe
-#if PACKETVER >= 20110419
-// shuffle packets not added
-// new packets
- packet(0x08c7,-1); // ZC_SKILL_ENTRY3
+ packet(0x08c1,clif->pDull); // CZ_MACRO_START
+ packet(0x08c2,clif->pDull); // CZ_MACRO_STOP
#endif
// 2011-06-14aRagexe
#if PACKETVER >= 20110614
// shuffle packets not added
// new packets
- packet(0x08c8,34); // ZC_NOTIFY_ACT3
- packet(0x08c9,2,clif->pCashShopSchedule,0);
- packet(0x08ca,-1); // ZC_ACK_SCHEDULER_CASHITEM
-#endif
-
-// 2011-06-27aRagexe
-#if PACKETVER >= 20110627
-// shuffle packets not added
-// new packets
- packet(0x08cb,-1); // ZC_PERSONAL_INFOMATION
+ packet(0x08c9,clif->pCashShopSchedule,0);
#endif
//2011-07-18aRagexe (Thanks to Yommy!)
#if PACKETVER >= 20110718
// shuffle packets not added
- packet(0x0844,2,clif->pCashShopOpen,2);/* tell server cashshop window is being open */
- packet(0x084a,2,clif->pCashShopClose,2);/* tell server cashshop window is being closed */
- packet(0x0846,4,clif->pCashShopReqTab,2);
- packet(0x0848,-1,clif->pCashShopBuy,2);
-#endif
-
-// 2011-08-02aRagexe
-#if PACKETVER >= 20110802
-// shuffle packets not added
-// new packets
- packet(0x09dc,2); // unknown
-#endif
-
-// 2011-08-09aRagexe
-#if PACKETVER >= 20110809
-// shuffle packets not added
-// new packets
- packet(0x08cf,10); // ZC_SPIRITS_ATTRIBUTE
- packet(0x08d0,9); // ZC_REQ_WEAR_EQUIP_ACK2
- packet(0x08d1,7); // ZC_REQ_TAKEOFF_EQUIP_ACK2
- packet(0x08d2,10); // ZC_FASTMOVE
-#endif
-
-// 2011-08-16aRagexe
-#if PACKETVER >= 20110816
-// shuffle packets not added
-// new packets
- packet(0x08d3,10); // ZC_SE_CASHSHOP_UPDATE
-#endif
-
-// 2011-09-28aRagexe
-#if PACKETVER >= 20110928
-// shuffle packets not added
-// new packets
- packet(0x08d6,6); // ZC_CLEAR_DIALOG
+ packet(0x084a,clif->pCashShopClose,2);/* tell server cashshop window is being closed */
+ packet(0x0846,clif->pCashShopReqTab,2);
+ packet(0x0848,clif->pCashShopBuy,2);
#endif
//2011-10-05aRagexeRE
#if PACKETVER >= 20111005
- packet(0x0364,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0817,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0366,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0897,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0369,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0838,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x08d7,28,clif->pBGQueueRegister,2);
- packet(0x090a,26,clif->pBGQueueCheckState,2);
- packet(0x08da,26,clif->pBGQueueRevokeReq,2);
- packet(0x08e0,51,clif->pBGQueueBattleBeginAck,2);
+ packet(0x0364,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0817,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0366,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0815,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0893,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0897,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0369,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x08ad,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0838,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0439,clif->pUseItem,2,4);
+ packet(0x08d7,clif->pBGQueueRegister,2);
+ packet(0x090a,clif->pBGQueueCheckState,2);
+ packet(0x08da,clif->pBGQueueRevokeReq,2);
+ packet(0x08e0,clif->pBGQueueBattleBeginAck,2);
#endif
//2011-11-02aRagexe
#if PACKETVER >= 20111102
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0898,5,clif->pHomMenu,4);
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x083c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x02c4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0811,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x890,8);
- packet(0x08a5,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x0835,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a1,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ab,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a2,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0898,clif->pHomMenu,4);
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x088d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x083c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x02c4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0811,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x08a5,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x0835,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x08a1,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x08ab,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x08a2,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
#ifndef PACKETVER_RE
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0892,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0899,clif->pTickSend,2); // CZ_REQUEST_TIME
#endif
#endif
//2012-03-07fRagexeRE
#if PACKETVER >= 20120307
- packet(0x086A,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0887,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0890,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0865,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x02C4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093B,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0863,5,clif->pHomMenu,4);
- packet(0x0861,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0889,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0884,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0439,8,clif->pUseItem,2,4);
+ packet(0x086A,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0887,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0890,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0865,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x02C4,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x093B,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0369,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0863,clif->pHomMenu,4);
+ packet(0x0861,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0929,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0889,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0870,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0884,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0439,clif->pUseItem,2,4);
// changed packet sizes
- packet(0x08e2,27); // ZC_NAVIGATION_ACTIVE
#endif
//2012-04-10aRagexeRE
#if PACKETVER >= 20120410
- packet(0x01FD,15,clif->pRepairItem,2);
- packet(0x089C,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0288,-1,clif->pcashshop_buy,4,8);
- packet(0x091C,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094B,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0891,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086C,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08A6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x01FD,clif->pRepairItem,2);
+ packet(0x089C,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0961,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0288,clif->pcashshop_buy,4,8);
+ packet(0x091C,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x094B,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0938,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0891,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x086C,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x08A6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0889,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0884,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
#ifndef PACKETVER_RE
- packet(0x091D,18,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x091D,clif->pPartyBookingRegisterReq,2,4,6);
#else
- packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4);
-#endif
- packet(0x08E6,4);
- packet(0x08E7,10,clif->pPartyRecruitSearchReq,2);
- packet(0x08E8,-1);
- packet(0x08E9,2,clif->pPartyRecruitDeleteReq,2);
- packet(0x08EA,4);
- packet(0x08EB,39,clif->pPartyRecruitUpdateReq,2);
- packet(0x08EC,73);
- packet(0x08ED,43);
- packet(0x08EE,6);
+ packet(0x08E5,clif->pPartyRecruitRegisterReq,2,4);
+#endif
+ packet(0x08E7,clif->pPartyRecruitSearchReq,2);
+ packet(0x08E9,clif->pPartyRecruitDeleteReq,2);
+ packet(0x08EB,clif->pPartyRecruitUpdateReq,2);
#ifdef PARTY_RECRUIT
- packet(0x08EF,6,clif->pDull,2); //bookingignorereq
- packet(0x08F0,6,clif->pDull,2);
- packet(0x08F1,6,clif->pDull,2); //bookingjoinpartyreq
-#endif
- packet(0x08F2,36);
- packet(0x08F3,-1);
- packet(0x08F4,6);
- packet(0x08F5,-1,clif->pDull,2,4); //bookingsummonmember
- packet(0x08F6,22);
- packet(0x08F7,3);
- packet(0x08F8,7);
- packet(0x08F9,6);
+ packet(0x08EF,clif->pDull,2); //bookingignorereq
+ packet(0x08F0,clif->pDull,2);
+ packet(0x08F1,clif->pDull,2); //bookingjoinpartyreq
+#endif
+ packet(0x08F5,clif->pDull,2,4); //bookingsummonmember
#ifdef PARTY_RECRUIT
- packet(0x08F9,6,clif->pDull,2);
+ packet(0x08F9,clif->pDull,2);
#endif
- packet(0x08FA,6);
- packet(0x08FB,6,clif->pDull,2); //bookingcanceljoinparty
- packet(0x0907,5,clif->pMoveItem,2,4);
- packet(0x0908,5);
- packet(0x0977,14);//Monster HP Bar
+ packet(0x08FB,clif->pDull,2); //bookingcanceljoinparty
+ packet(0x0907,clif->pMoveItem,2,4);
#endif
//2012-04-18aRagexeRE [Special Thanks to Judas!]
#if PACKETVER >= 20120418
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08A8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4);
- packet(0x0916,26,clif->pGuildInvite2,2);
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x08A8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x08E5,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0916,clif->pGuildInvite2,2);
#endif
// 2012-05-02aRagexeRE
#if PACKETVER >= 20120502
// shuffle packets not added
- packet(0x097d,288); // ZC_ACK_RANKING
- packet(0x097e,12); // ZC_UPDATE_RANKING_POINT
- packet(0x097f,-1); // ZC_SELECTCART
- packet(0x0980,7,clif->pSelectCart); // CZ_SELECTCART
+ packet(0x0980,clif->pSelectCart); // CZ_SELECTCART
#endif
#ifndef PACKETVER_RE
#if PACKETVER >= 20120604
// shuffle packets not added
- packet(0x0861,18,clif->pPartyRecruitRegisterReq,2,4,6);
+ packet(0x0861,clif->pPartyRecruitRegisterReq,2,4,6);
#endif
#endif
-//2012-06-18aRagexeRE
-#if PACKETVER >= 20120618
-// shuffle packets not added
- packet(0x0983,29);
-#endif
-
// ========== 2012-07-02aRagexeRE =============
// - 2012-07-02 is NOT STABLE.
// - The packets are kept here for reference, DONT USE THEM.
#if PACKETVER >= 20120702
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0861,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0862,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0960,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
-#endif
-
-//2012-07-02
-#if PACKETVER >= 20120702
-// new packets
- packet(0x098a, -1); // ZC_CLANINFO
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0364,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x085a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0861,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0862,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0863,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0886,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x089f,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x094a,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0953,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0960,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
#endif
//2012-07-10
#if PACKETVER >= 20120710
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
#endif
//2012-07-16aRagExe (special thanks to Yommy/Frost!)
#if PACKETVER >= 20120716
- packet(0x0879,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0439,8,clif->pUseItem,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0940,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0879,clif->pPartyBookingRegisterReq,2,4,6);
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0819,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0439,clif->pUseItem,2,4);
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0940,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0811,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
//2012-07-16aRagExe
#if PACKETVER >= 20120716
// new packets
- packet(0x0988, 6); // ZC_NOTIFY_CLAN_CONNECTINFO
- packet(0x0989, 2); // ZC_ACK_CLAN_LEAVE
- packet(0x098d, -1, clif->pClanMessage, 2, 4); // CZ_CLAN_CHAT
- packet(0x098e, -1); // ZC_NOTIFY_CLAN_CHAT
+ packet(0x098d,clif->pClanMessage,2,4); // CZ_CLAN_CHAT
#endif
// 2012-09-25aRagexe
#if PACKETVER >= 20120925
// new packets (not all)
- packet(0x0998,8,clif->pEquipItem,2,4);
-#endif
-
-// 2013-02-06aRagexe
-#if PACKETVER >= 20130206
-// new packets
- packet(0x09a4,18); // ZC_DISPATCH_TIMING_INFO_CHN
-// changed packet sizes
+ packet(0x0998,clif->pEquipItem,2,4);
#endif
// 2013-03-06aRagexe
#if PACKETVER >= 20130306
// new packets
- packet(0x09a6,12); // ZC_BANKING_CHECK
- packet(0x09a7,14,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_DEPOSIT
- packet(0x09a8,4); // ZC_ACK_BANKING_DEPOSIT
- packet(0x09a9,14,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_WITHDRAW
- packet(0x09aa,4); // ZC_ACK_BANKING_WITHDRAW
+ packet(0x09a7,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_DEPOSIT
+ packet(0x09a9,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_WITHDRAW
// changed packet sizes
#endif
// 2013-03-13aRagexe
#if PACKETVER >= 20130313
// new packets
- packet(0x09ab,-1,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_CHECK
- packet(0x09ac,20,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ad,6); // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ae,-1,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
- packet(0x09af,-1); // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
- packet(0x09b0,8,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b1,6); // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b2,-1); // ZC_NOTIFY_BARGAIN_SALE_SELLING
+ packet(0x09ab,clif->pDull/*,XXX*/); // CZ_REQ_BANKING_CHECK
+ packet(0x09ac,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
// changed packet sizes
#endif
//2013-03-20Ragexe (Judas + Yommy)
#if PACKETVER >= 20130320
// Shuffle Start
- packet(0x088E,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089B,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0881,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0363,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0933,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0438,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08AC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085A,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094C,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092E,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094E,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x035F,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x088E,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x089B,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0881,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0363,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0933,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0438,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x08AC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x085A,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x094C,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x092E,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x094E,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0922,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x035F,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0938,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x085D,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x085D,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x085D,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x085D,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086D,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086F,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093F,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0890,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x095a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0868,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x086D,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x086F,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x093F,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0890,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x095a,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
// New Packets (wrong version or packet not exists)
- packet(0x099f,24);
// New Packets End
#endif
#if PACKETVER >= 20130320
// new packets
// changed packet sizes
- packet(0x09a7,10,clif->pBankDeposit,2,4,6); // CZ_REQ_BANKING_DEPOSIT
- packet(0x09a8,12); // ZC_ACK_BANKING_DEPOSIT
- packet(0x09a9,10,clif->pBankWithdraw,2,4,6); // CZ_REQ_BANKING_WITHDRAW
- packet(0x09aa,12); // ZC_ACK_BANKING_WITHDRAW
- packet(0x09ab,6,clif->pBankCheck,2,4); // CZ_REQ_BANKING_CHECK
+ packet(0x09a7,clif->pBankDeposit,2,4,6); // CZ_REQ_BANKING_DEPOSIT
+ packet(0x09a9,clif->pBankWithdraw,2,4,6); // CZ_REQ_BANKING_WITHDRAW
+ packet(0x09ab,clif->pBankCheck,2,4); // CZ_REQ_BANKING_CHECK
#endif
// 2013-03-27bRagexe
#if PACKETVER >= 20130327
// new packets
- packet(0x09ac,-1,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ad,10); // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ae,17,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
- packet(0x09af,4); // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
- packet(0x09b0,8,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b1,4); // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b2,6); // ZC_NOTIFY_BARGAIN_SALE_SELLING
- packet(0x09b3,6); // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+ packet(0x09ac,clif->pDull/*,XXX*/); // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
// changed packet sizes
#endif
//2013-05-15aRagexe (Shakto)
#if PACKETVER >= 20130515
// Shuffle Start
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08A1,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0944,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08AC,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x08A1,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0944,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x08AC,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x092D,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x092D,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x092D,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x092D,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093E,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0862,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x08aa,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0963,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0947,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x093E,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0862,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x08aa,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
#endif
//2013-05-22Ragexe (Shakto)
#if PACKETVER >= 20130522
// Shuffle Start
- packet(0x08A2,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07EC,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095E,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089C,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08A3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087E,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08A6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x093E,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08AA,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095B,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086E,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x08A2,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x095C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x07EC,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x095E,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x089C,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x08A3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x087E,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0964,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x08A6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x093E,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x08AA,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x095B,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x086E,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x089B,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x089B,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x089B,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x089B,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x086A,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08A9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088E,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x0965,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x086A,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x08A9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x088E,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x08ac,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0965,clif->pDull); // CZ_JOIN_BATTLE_FIELD
// Shuffle End
#endif
//2013-05-29Ragexe (Shakto)
#if PACKETVER >= 20130529
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0876,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08A7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0938,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085E,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0937,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085A,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0936,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0876,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x08A7,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0938,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x085E,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0937,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x085A,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0918,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0936,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0874,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0874,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0874,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08A8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x023B,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x088e,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x08A8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x023B,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0888,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x088e,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
//2013-06-05Ragexe (Shakto)
#if PACKETVER >= 20130605
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0883,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x097C,4,clif->pRanklist);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0883,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x097C,clif->pRanklist);
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-06-12Ragexe (Shakto)
#if PACKETVER >= 20130612
// most shuffle packets used from 20130605
- packet(0x087E,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093A,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0964,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x087E,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x093A,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0964,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
#endif
//2013-06-18Ragexe (Shakto)
#if PACKETVER >= 20130618
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0951,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088E,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08A6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096A,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094F,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085A,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0951,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x088E,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x08A6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x096A,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x094F,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0890,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0363,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x085A,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0932,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x08A7,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x08A7,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x08A7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x08A7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095B,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x02C4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0942,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x095B,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x02C4,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0878,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x087a,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
//2013-06-26Ragexe (Shakto)
#if PACKETVER >= 20130626
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094D,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088B,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0817,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x094D,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x088B,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0817,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0894,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0894,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x08A5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088C,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0895,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08AB,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0860,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x08A5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x088C,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0895,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x08AB,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0860,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x088f,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-07-03Ragexe (Shakto)
#if PACKETVER >= 20130703
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0202,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0202,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094A,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0360,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x094A,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
// 2013-04-17aRagexe
#if PACKETVER >= 20130417
// new packets
- packet(0x09b4,6,clif->pDull/*,XXX*/); // CZ_OPEN_BARGAIN_SALE_TOOL
- packet(0x09b5,2); // ZC_OPEN_BARGAIN_SALE_TOOL
- packet(0x09b6,6,clif->pBankOpen,2,4); // CZ_REQ_OPEN_BANKING
- packet(0x09b7,4); // ZC_ACK_OPEN_BANKING
- packet(0x09b8,6,clif->pBankClose,2,4); // CZ_REQ_CLOSE_BANKING
- packet(0x09b9,4); // ZC_ACK_CLOSE_BANKING
+ packet(0x09b4,clif->pDull/*,XXX*/); // CZ_OPEN_BARGAIN_SALE_TOOL
+ packet(0x09b6,clif->pBankOpen,2,4); // CZ_REQ_OPEN_BANKING
+ packet(0x09b8,clif->pBankClose,2,4); // CZ_REQ_CLOSE_BANKING
// changed packet sizes
#endif
// 2013-04-24aRagexe
#if PACKETVER >= 20130424
// new packets
- packet(0x09ba,6,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
- packet(0x09bb,4); // ZC_ACK_OPEN_GUILD_STORAGE
- packet(0x09bc,6,clif->pDull/*,XXX*/); // CZ_CLOSE_BARGAIN_SALE_TOOL
- packet(0x09bd,2); // ZC_CLOSE_BARGAIN_SALE_TOOL
+ packet(0x09ba,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
+ packet(0x09bc,clif->pDull/*,XXX*/); // CZ_CLOSE_BARGAIN_SALE_TOOL
// changed packet sizes
#endif
// 2013-05-02aRagexe
#if PACKETVER >= 20130502
// new packets
- packet(0x09be,6,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
- packet(0x09bf,4); // ZC_ACK_CLOSE_GUILD_STORAGE
-// changed packet sizes
- packet(0x09bb,6); // ZC_ACK_OPEN_GUILD_STORAGE
-#endif
-
-// 2013-05-15aRagexe
-#if PACKETVER >= 20130515
-// new packets
- packet(0x09c0,11); // ZC_ACTION_MOVE
- packet(0x09c1,11); // ZC_C_MARKERINFO
+ packet(0x09be,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
// changed packet sizes
- packet(0x09a8,16); // ZC_ACK_BANKING_DEPOSIT
- packet(0x09aa,16); // ZC_ACK_BANKING_WITHDRAW
#endif
// 2013-05-29Ragexe
#if PACKETVER >= 20130529
// new packets
- packet(0x09c3,8,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
-// changed packet sizes
-#endif
-
-// 2013-06-05Ragexe
-#if PACKETVER >= 20130605
-// new packets
- packet(0x09c4,8); // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
-#endif
-
-// 2013-06-18aRagexe
-#if PACKETVER >= 20130618
-// new packets
- packet(0x09ca,23); // ZC_SKILL_ENTRY5
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
// changed packet sizes
#endif
-// 2013-07-17cRagexe
-#if PACKETVER >= 20130717
-// new packets
- packet(0x09cb,17); // ZC_USE_SKILL2
- packet(0x09cc,-1); // ZC_SECRETSCAN_DATA
-// changed packet sizes
- packet(0x09c1,10); // ZC_C_MARKERINFO
-#endif
-
//2013-08-07Ragexe (Shakto)
#if PACKETVER >= 20130807
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
-#endif
-
-// 2013-08-07aRagexe
-#if PACKETVER >= 20130807
-// new packets
- packet(0x09cd,8); // ZC_MSG_COLOR
-// changed packet sizes
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022D,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
//2013-08-14aRagexe - Themon
#if PACKETVER >= 20130814
- packet(0x0874,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093A,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088A,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088C,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095F,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0873,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0962,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0937,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0923,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094E,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0936,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0874,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0947,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x093A,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x088A,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x088C,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x095F,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0873,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0962,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0937,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0923,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x094E,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0936,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#ifdef PACKETVER_RE
- packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4);
+ packet(0x0365,clif->pPartyRecruitRegisterReq,2,4);
#else // not PACKETVER_RE
- packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0959,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
#endif // PACKETVER_RE
- packet(0x08A4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0815,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x0896,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x08A4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0815,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0896,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
// 2013-08-14aRagexe
#if PACKETVER >= 20130814
// new packets
- packet(0x09ce,102,clif->pGM_Monster_Item,2); // CZ_ITEM_CREATE_EX
- packet(0x09cf,-1); // ZC_NPROTECTGAMEGUARDCSAUTH
- packet(0x09d0,-1,clif->pDull/*,XXX*/); // CZ_NPROTECTGAMEGUARDCSAUTH
-// changed packet sizes
-#endif
-
-// 2013-08-21bRagexe
-#if PACKETVER >= 20130821
-// new packets
- packet(0x09d1,14); // ZC_PROGRESS_ACTOR
+ packet(0x09ce,clif->pGM_Monster_Item,2); // CZ_ITEM_CREATE_EX
+ packet(0x09d0,clif->pDull/*,XXX*/); // CZ_NPROTECTGAMEGUARDCSAUTH
// changed packet sizes
#endif
// 2013-08-28bRagexe
#if PACKETVER >= 20130828
// new packets
- packet(0x09d2,-1); // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
- packet(0x09d3,-1); // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
// changed packet sizes
- packet(0x09ba,2,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
- packet(0x09be,2,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
-#endif
-
-// 2013-09-04aRagexe
-#if PACKETVER >= 20130904
-// new packets
-// changed packet sizes
- packet(0x09ca,-1); // ZC_SKILL_ENTRY5
+ packet(0x09ba,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_GUILD_STORAGE
+ packet(0x09be,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_GUILD_STORAGE
#endif
// 2013-09-11aRagexe
#if PACKETVER >= 20130911
// new packets
- packet(0x09d4,2,clif->pNPCShopClosed); // CZ_NPC_TRADE_QUIT
- packet(0x09d5,-1); // ZC_NPC_MARKET_OPEN
- packet(0x09d6,-1,clif->pNPCMarketPurchase); // CZ_NPC_MARKET_PURCHASE
- packet(0x09d7,-1); // ZC_NPC_MARKET_PURCHASE_RESULT
- packet(0x09d8,2,clif->pNPCMarketClosed); // CZ_NPC_MARKET_CLOSE
- packet(0x09d9,2,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
- packet(0x09da,2); // ZC_ACK_GUILDSTORAGE_LOG
+ packet(0x09d4,clif->pNPCShopClosed); // CZ_NPC_TRADE_QUIT
+ packet(0x09d6,clif->pNPCMarketPurchase); // CZ_NPC_MARKET_PURCHASE
+ packet(0x09d8,clif->pNPCMarketClosed); // CZ_NPC_MARKET_CLOSE
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
// changed packet sizes
#endif
-// 2013-09-25aRagexe
-#if PACKETVER >= 20130925
-// new packets
-// changed packet sizes
- packet(0x09da,10); // ZC_ACK_GUILDSTORAGE_LOG
-#endif
-
// 2013-10-02aRagexe
#if PACKETVER >= 20131002
// new packets
// changed packet sizes
- packet(0x09d9,4,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
- packet(0x09da,-1); // ZC_ACK_GUILDSTORAGE_LOG
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
#endif
// 2013-10-16aRagexe
#if PACKETVER >= 20131016
// new packets
// changed packet sizes
- packet(0x09d9,6,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
#endif
// 2013-10-23aRagexe
#if PACKETVER >= 20131023
// new packets
- packet(0x09db,-1); // ZC_NOTIFY_MOVEENTRY10
- packet(0x09dc,-1); // ZC_NOTIFY_NEWENTRY10
- packet(0x09dd,-1); // ZC_NOTIFY_STANDENTRY10
// changed packet sizes
- packet(0x09d9,4,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
-#endif
-
-// 2013-10-30aRagexe
-#if PACKETVER >= 20131030
-// new packets
- packet(0x09de,-1); // ZC_WHISPER02
- packet(0x09df,7); // ZC_ACK_WHISPER02
- packet(0x09e0,-1); // SC_LOGIN_ANSWER_WITH_ID
+ packet(0x09d9,clif->pDull/*,XXX*/); // CZ_REQ_GUILDSTORAGE_LOG
#endif
// 2013-11-06aRagexe
#if PACKETVER >= 20131106
// new packets
- packet(0x09e1,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
- packet(0x09e2,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
- packet(0x09e3,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
- packet(0x09e4,8,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
-// changed packet sizes
-#endif
-
-// 2013-11-20dRagexe
-#if PACKETVER >= 20131120
-// new packets
- packet(0x09e5,14); // ZC_DELETEITEM_FROM_MCSTORE2
- packet(0x09e6,18); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
-// changed packet sizes
-#endif
-
-// 2013-11-27bRagexe
-#if PACKETVER >= 20131127
-// new packets
+ packet(0x09e1,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+ packet(0x09e2,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+ packet(0x09e3,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+ packet(0x09e4,clif->pDull/*,XXX*/); // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
// changed packet sizes
- packet(0x09e5,18); // ZC_DELETEITEM_FROM_MCSTORE2
- packet(0x09e6,22); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
#endif
// 2013-12-11dRagexe
#if PACKETVER >= 20131211
// new packets
- packet(0x09e7,2); // ZC_NOTIFY_UNREAD_RODEX
- packet(0x09e8,18,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
- packet(0x09e9,2,clif->pRodexCloseMailbox); // CZ_CLOSE_RODEXBOX
- packet(0x09ed,-1); // ZC_ACK_SEND_RODEX
- packet(0x09ee,-1,clif->pDull/*,XXX*/); // CZ_REQ_NEXT_RODEX
+ packet(0x09e8,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
+ packet(0x09e9,clif->pRodexCloseMailbox); // CZ_CLOSE_RODEXBOX
+ packet(0x09ee,clif->pDull/*,XXX*/); // CZ_REQ_NEXT_RODEX
// changed packet sizes
#endif
// 2013-12-18bRagexe - Yommy
#if PACKETVER >= 20131218
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0947,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x022D,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092F,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08AB,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085C,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0947,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x022D,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x092F,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x08AB,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x085C,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x087b,clif->pDull); // CZ_GANGSI_RANK
#endif
// 2013-12-18bRagexe
#if PACKETVER >= 20131218
// new packets
- packet(0x09ea,10,clif->pDull/*,XXX*/); // CZ_REQ_READ_RODEX
- packet(0x09eb,14); // ZC_ACK_READ_RODEX
- packet(0x09ef,11,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
- packet(0x09f0,-1); // ZC_ACK_RODEX_LIST
- packet(0x09f5,11,clif->pRodexDeleteMail); // CZ_REQ_DELETE_RODEX
- packet(0x09f6,11); // ZC_ACK_DELETE_RODEX
+ packet(0x09ea,clif->pDull/*,XXX*/); // CZ_REQ_READ_RODEX
+ packet(0x09ef,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
+ packet(0x09f5,clif->pRodexDeleteMail); // CZ_REQ_DELETE_RODEX
// changed packet sizes
- packet(0x09e8,10,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
- packet(0x09ee,11,clif->pRodexNextMaillist); // CZ_REQ_NEXT_RODEX
+ packet(0x09e8,clif->pDull/*,XXX*/); // CZ_OPEN_RODEXBOX
+ packet(0x09ee,clif->pRodexNextMaillist); // CZ_REQ_NEXT_RODEX
#endif
// 2013-12-23cRagexe - Yommy
#if PACKETVER >= 20131223
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083C,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035F,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x07E4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07EC,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096A,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x023B,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08A4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x083C,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x035F,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x07E4,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x07EC,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x096A,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x023B,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x08A4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0363,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0436,clif->pDull); // CZ_GANGSI_RANK
#endif
// 2013-12-23bRagexe
#if PACKETVER >= 20131223
// new packets
// changed packet sizes
- packet(0x09ea,11,clif->pRodexReadMail); // CZ_REQ_READ_RODEX
- packet(0x09eb,24); // ZC_ACK_READ_RODEX
+ packet(0x09ea,clif->pRodexReadMail); // CZ_REQ_READ_RODEX
#endif
// 2013-12-30aRagexe - Yommy
#if PACKETVER >= 20131230
- packet(0x0871,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x02C4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035F,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094A,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092A,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0968,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091E,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x096A,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0926,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087B,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0369,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093D,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087F,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0969,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094C,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091F,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x022D,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089C,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08A9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0943,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091D,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087e,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x093e,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0871,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x02C4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x035F,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x094A,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x092A,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0968,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x091E,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x096A,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0926,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x087B,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0369,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x093D,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x087F,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0969,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x094C,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x091F,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022D,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x089C,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x08A9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0943,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x091D,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x087e,clif->pDull); // CZ_GANGSI_RANK
+ packet(0x093e,clif->pDull); // CZ_JOIN_BATTLE_FIELD
#endif
// 2013-12-30aRagexe
#if PACKETVER >= 20131230
// new packets
- packet(0x09ec,-1,clif->pRodexSendMail); // CZ_REQ_SEND_RODEX
- packet(0x09ed,3); // ZC_ACK_SEND_RODEX
- packet(0x09f7,75); // ZC_PROPERTY_HOMUN_2
+ packet(0x09ec,clif->pRodexSendMail); // CZ_REQ_SEND_RODEX
// changed packet sizes
- packet(0x09eb,23); // ZC_ACK_READ_RODEX
#endif
// 2014 Packet Data
@@ -3015,984 +1659,204 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2014-01-15cRagexeRE
#if PACKETVER >= 20140115
// new packets
- packet(0x09f1,10,clif->pDull/*,XXX*/); // CZ_REQ_ZENY_FROM_RODEX
- packet(0x09f2,3); // ZC_ACK_ZENY_FROM_RODEX
- packet(0x09f3,15,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
- packet(0x09f4,12); // ZC_ACK_ITEM_FROM_RODEX
- packet(0x09f8,-1); // ZC_ALL_QUEST_LIST3
- packet(0x09f9,131); // ZC_ADD_QUEST_EX
- packet(0x09fa,-1); // ZC_UPDATE_MISSION_HUNT_EX
+ packet(0x09f1,clif->pDull/*,XXX*/); // CZ_REQ_ZENY_FROM_RODEX
+ packet(0x09f3,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
// changed packet sizes
- packet(0x09eb,-1); // ZC_ACK_READ_RODEX
#endif
// 2014-01-22aRagexeRE
#if PACKETVER >= 20140122
// new packets
- packet(0x09fb,-1,clif->pPetEvolution); // CZ_PET_EVOLUTION
- packet(0x09fc,6); // ZC_PET_EVOLUTION_RESULT
- packet(0x09fd,-1); // ZC_NOTIFY_MOVEENTRY11
- packet(0x09fe,-1); // ZC_NOTIFY_NEWENTRY11
- packet(0x09ff,-1); // ZC_NOTIFY_STANDENTRY11
+ packet(0x09fb,clif->pPetEvolution); // CZ_PET_EVOLUTION
// changed packet sizes
- packet(0x09f9,143); // ZC_ADD_QUEST_EX
#endif
-// 2014-01-29bRagexeRE
-#if PACKETVER >= 20140129
-// new packets
- packet(0x0a00,269); // ZC_SHORTCUT_KEY_LIST_V3
- packet(0x0a01,3,clif->pHotkeyRowShift,2); // CZ_SHORTCUTKEYBAR_ROTATE
-// Warning hercules using this packets for items manipulation. In RagexeRE from 20140129 and before 20140305, this actions broken.
-#ifdef PACKETVER_RE
-// changed packet sizes
- packet(0x01c4,43); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,43); // ZC_ADD_ITEM_TO_CART2
- packet(0x080f,41); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x0990,52); // ZC_ITEM_PICKUP_ACK_V5
-#endif // PACKETVER_RE
+#if PACKETVER_MAIN_NUM >= 20140129 || PACKETVER_RE_NUM >= 20140129 || defined(PACKETVER_ZERO)
+ packet(0x0a01,clif->pHotkeyRowShift1); // CZ_SHORTCUTKEYBAR_ROTATE
#endif
// 2014-02-12aRagexeRE
#if PACKETVER >= 20140212
// new packets
- packet(0x0a02,4); // ZC_DRESSROOM_OPEN
// changed packet sizes
- packet(0x09e8,11,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
-#endif
-
-// 2014-02-19aRagexeRE
-#if PACKETVER >= 20140219
-// Warning hercules using this packets for items manipulation. In RagexeRE from 20140129 and before 20140305, this actions broken.
-#ifdef PACKETVER_RE
-// changed packet sizes
- packet(0x01c4,53); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,53); // ZC_ADD_ITEM_TO_CART2
- packet(0x080f,51); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x0990,62); // ZC_ITEM_PICKUP_ACK_V5
-#endif // PACKETVER_RE
+ packet(0x09e8,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
#endif
// 2014-02-26aRagexeRE
#if PACKETVER >= 20140226
// new packets
- packet(0x0a03,14,clif->pDull/*,XXX*/); // CZ_REQ_CANCEL_WRITE_RODEX
- packet(0x0a04,11,clif->pDull/*,XXX*/); // CZ_REQ_ADD_ITEM_RODEX
- packet(0x0a05,6); // ZC_ACK_ADD_ITEM_RODEX
- packet(0x0a06,5,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_RODEX_ITEM
+ packet(0x0a03,clif->pDull/*,XXX*/); // CZ_REQ_CANCEL_WRITE_RODEX
+ packet(0x0a04,clif->pDull/*,XXX*/); // CZ_REQ_ADD_ITEM_RODEX
+ packet(0x0a06,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_RODEX_ITEM
// changed packet sizes
#endif
// 2014-03-05aRagexeRE
#if PACKETVER >= 20140305
// new packets
- packet(0x0a07,4); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a08,5,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
- packet(0x0a09,50); // ZC_ADD_EXCHANGE_ITEM3
- packet(0x0a0a,52); // ZC_ADD_ITEM_TO_STORE3
- packet(0x0a0b,52); // ZC_ADD_ITEM_TO_CART3
- packet(0x0a0c,61); // ZC_ITEM_PICKUP_ACK_V6
- packet(0x0a0d,4); // ZC_INVENTORY_ITEMLIST_EQUIP_V6
-// changed packet sizes
-#ifdef PACKETVER_RE
- packet(0x01c4,22); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,22); // ZC_ADD_ITEM_TO_CART2
- packet(0x080f,20); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x0990,31); // ZC_ITEM_PICKUP_ACK_V5
-#endif // PACKETVER_RE
- packet(0x09f3,10,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
- packet(0x09f4,3); // ZC_ACK_ITEM_FROM_RODEX
-#endif
-
-// 2014-03-12bRagexeRE
-#if PACKETVER >= 20140312
-// new packets
- packet(0x0a0e,14); // ZC_BATTLEFIELD_NOTIFY_HP2
+ packet(0x0a08,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
// changed packet sizes
- packet(0x0a09,45); // ZC_ADD_EXCHANGE_ITEM3
- packet(0x0a0a,47); // ZC_ADD_ITEM_TO_STORE3
- packet(0x0a0b,47); // ZC_ADD_ITEM_TO_CART3
- packet(0x0a0c,56); // ZC_ITEM_PICKUP_ACK_V6
- packet(0x0a0d,-1); // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+ packet(0x09f3,clif->pDull/*,XXX*/); // CZ_REQ_ITEM_FROM_RODEX
#endif
// 2014-03-26cRagexeRE
#if PACKETVER >= 20140326
// changed packet sizes
- packet(0x09f1,11,clif->pRodexRequestZeny); // CZ_REQ_ZENY_FROM_RODEX
- packet(0x09f2,4); // ZC_ACK_ZENY_FROM_RODEX
- packet(0x09f3,11,clif->pRodexRequestItems); // CZ_REQ_ITEM_FROM_RODEX
- packet(0x09f4,4); // ZC_ACK_ITEM_FROM_RODEX
- packet(0x0a03,2,clif->pRodexCancelWriteMail); // CZ_REQ_CANCEL_WRITE_RODEX
- packet(0x0a07,6); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a08,7,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
-#endif
-
-// 2014-04-02eRagexeRE
-#if PACKETVER >= 20140402
-// new packets
- packet(0x0a0f,-1); // ZC_CART_ITEMLIST_EQUIP_V6
- packet(0x0a10,-1); // ZC_STORE_ITEMLIST_EQUIP_V6
- packet(0x0a11,-1); // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
-// changed packet sizes
-#endif
-
-// 2014-04-09aRagexeRE
-#if PACKETVER >= 20140409
-// changed packet sizes
- packet(0x09f2,12); // ZC_ACK_ZENY_FROM_RODEX
- packet(0x09f4,12); // ZC_ACK_ITEM_FROM_RODEX
+ packet(0x09f1,clif->pRodexRequestZeny); // CZ_REQ_ZENY_FROM_RODEX
+ packet(0x09f3,clif->pRodexRequestItems); // CZ_REQ_ITEM_FROM_RODEX
+ packet(0x0a03,clif->pRodexCancelWriteMail); // CZ_REQ_CANCEL_WRITE_RODEX
+ packet(0x0a08,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
#endif
// 2014-04-16aRagexeRE
#if PACKETVER >= 20140416
// new packets
- packet(0x0a04,6,clif->pRodexAddItem); // CZ_REQ_ADD_ITEM_RODEX
- packet(0x0a12,27); // ZC_ACK_OPEN_WRITE_RODEX
- packet(0x0a13,2,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
+ packet(0x0a04,clif->pRodexAddItem); // CZ_REQ_ADD_ITEM_RODEX
+ packet(0x0a13,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
// changed packet sizes
- packet(0x0a05,48); // ZC_ACK_ADD_ITEM_RODEX
- packet(0x0a06,6,clif->pRodexRemoveItem); // CZ_REQ_REMOVE_RODEX_ITEM
- packet(0x0a07,7); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a08,26,clif->pRodexOpenWriteMail); // CZ_REQ_OPEN_WRITE_RODEX
+ packet(0x0a06,clif->pRodexRemoveItem); // CZ_REQ_REMOVE_RODEX_ITEM
+ packet(0x0a08,clif->pRodexOpenWriteMail); // CZ_REQ_OPEN_WRITE_RODEX
#endif
// 2014-04-23aRagexeRE
#if PACKETVER >= 20140423
// new packets
- packet(0x0a14,6); // ZC_CHECK_RECEIVE_CHARACTER_NAME
// changed packet sizes
- packet(0x0a13,26,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
+ packet(0x0a13,clif->pRodexCheckName); // CZ_CHECK_RECEIVE_CHARACTER_NAME
#endif
// 2014-04-30aRagexeRE
#if PACKETVER >= 20140430
// new packets
- packet(0x0a15,11); // ZC_GOLDPCCAFE_POINT
- packet(0x0a16,26,clif->pDull/*,XXX*/); // CZ_DYNAMICNPC_CREATE_REQUEST
- packet(0x0a17,6); // ZC_DYNAMICNPC_CREATE_RESULT
-#endif
-
-// 2014-05-08bRagexeRE
-#if PACKETVER >= 20140508
-// changed packet sizes
- packet(0x0a15,12); // ZC_GOLDPCCAFE_POINT
-#endif
-
-// 2014-05-21aRagexeRE
-#if PACKETVER >= 20140521
-// changed packet sizes
- packet(0x0a07,9); // ZC_ACK_REMOVE_RODEX_ITEM
- packet(0x0a14,10); // ZC_CHECK_RECEIVE_CHARACTER_NAME
+ packet(0x0a16,clif->pDull/*,XXX*/); // CZ_DYNAMICNPC_CREATE_REQUEST
#endif
/* Roulette System [Yommy/Hercules] */
// 2014-06-05aRagexe
#if PACKETVER >= 20140605
// new packets
- packet(0x0a18,2); // ZC_ACCEPT_ENTER3
- packet(0x0a19,-1,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_ROULETTE
- packet(0x0a1a,10); // ZC_ACK_OPEN_ROULETTE
- packet(0x0A1B,2,clif->pRouletteInfo,0); // HEADER_CZ_REQ_ROULETTE_INFO
- packet(0x0a1c,6); // ZC_ACK_ROULEITTE_INFO
- packet(0x0a1d,14,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_ROULETTE
+ packet(0x0a19,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_ROULETTE
+ packet(0x0A1B,clif->pRouletteInfo,0); // HEADER_CZ_REQ_ROULETTE_INFO
+ packet(0x0a1d,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_ROULETTE
#endif
/* Roulette System [Yommy/Hercules] */
// 2014-06-11bRagexe / RE. moved by 4144
#if PACKETVER >= 20140611
// new packets
- packet(0x0a1e,3); // ZC_ACK_CLOSE_ROULETTE
- packet(0x0a1f,2,clif->pRouletteGenerate,0); // CZ_REQ_GENERATE_ROULETTE
- packet(0x0a20,21); // ZC_ACK_GENERATE_ROULETTE
- packet(0x0a21,6,clif->pDull/*,XXX*/); // CZ_RECV_ROULETTE_ITEM
- packet(0x0a22,3); // ZC_RECV_ROULETTE_ITEM
- packet(0x0a23,-1); // ZC_ALL_ACH_LIST
- packet(0x0a24,35); // ZC_ACH_UPDATE
- packet(0x0a25,6,clif->pAchievementGetReward, 2); // CZ_REQ_ACH_REWARD
- packet(0x0a26,7); // ZC_REQ_ACH_REWARD_ACK
+ packet(0x0a1f,clif->pRouletteGenerate,0); // CZ_REQ_GENERATE_ROULETTE
+ packet(0x0a21,clif->pDull/*,XXX*/); // CZ_RECV_ROULETTE_ITEM
+ packet(0x0a25,clif->pAchievementGetReward,2); // CZ_REQ_ACH_REWARD
// changed packet sizes
- packet(0x0a18,14); // ZC_ACCEPT_ENTER3
- packet(0x0a19,2,clif->pRouletteOpen,0); // CZ_REQ_OPEN_ROULETTE
- packet(0x0a1a,23); // ZC_ACK_OPEN_ROULETTE
- packet(0x0a1c,-1); // ZC_ACK_ROULEITTE_INFO
- packet(0x0a1d,2,clif->pRouletteClose,0); // CZ_REQ_CLOSE_ROULETTE
+ packet(0x0a19,clif->pRouletteOpen,0); // CZ_REQ_OPEN_ROULETTE
+ packet(0x0a1d,clif->pRouletteClose,0); // CZ_REQ_CLOSE_ROULETTE
#endif
// 2014-06-18cRagexeRE
#if PACKETVER >= 20140618
// changed packet sizes
- packet(0x0a21,3,clif->pRouletteRecvItem,2); // CZ_RECV_ROULETTE_ITEM
- packet(0x0a22,5); // ZC_RECV_ROULETTE_ITEM
-#endif
-
-// 2014-06-25aRagexeRE
-#if PACKETVER >= 20140625
-// new packets
- packet(0x0a27,8); // ZC_RECOVERY2
- packet(0x0a28,3); // ZC_ACK_OPENSTORE2
-// changed packet sizes
- packet(0x0a24,36); // ZC_ACH_UPDATE
+ packet(0x0a21,clif->pRouletteRecvItem,2); // CZ_RECV_ROULETTE_ITEM
#endif
// 2014-07-02aRagexeRE
#if PACKETVER >= 20140702
// new packets
- packet(0x0a29,6); // ZC_REQ_AU_BOT
- packet(0x0a2a,6,clif->pDull/*,XXX*/); // CZ_ACK_AU_BOT
-#endif
-
-// 2014-07-16aRagexeRE
-#if PACKETVER >= 20140716
-// changed packet sizes
- packet(0x09e7,3); // ZC_NOTIFY_UNREAD_RODEX
-#endif
-
-// 2014-07-23aRagexeRE
-#if PACKETVER >= 20140723
-// new packets
- packet(0x0a2b,14); // ZC_SE_CASHSHOP_OPEN2
- packet(0x0a2c,12); // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
-// changed packet sizes
- packet(0x0a24,56); // ZC_ACH_UPDATE
-#endif
-
-// 2014-08-20aRagexeRE
-#if PACKETVER >= 20140820
-// new packets
- packet(0x0a2d,-1); // ZC_EQUIPWIN_MICROSCOPE_V6
+ packet(0x0a2a,clif->pDull/*,XXX*/); // CZ_ACK_AU_BOT
#endif
// 2014-09-03aRagexeRE
#if PACKETVER >= 20140903
// new packets
- packet(0x0a2e,6,clif->pChangeTitle); // CZ_REQ_CHANGE_TITLE
- packet(0x0a2f,7); // ZC_ACK_CHANGE_TITLE
-// changed packet sizes
-#endif
-
-// 2014-09-24bRagexeRE
-#if PACKETVER >= 20140924
-// new packets
- packet(0x0a30,106); // ZC_ACK_REQNAMEALL2
- packet(0x0a31,-1); // ZC_RESULT_PACKAGE_ITEM_TEST
- packet(0x0a32,2); // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
- packet(0x0a33,7); // ZC_UPDATE_ROULETTE_COIN
- packet(0x0a34,6); // ZC_UPDATE_TAIWANCASH
-#endif
-
-// 2014-10-01bRagexeRE
-#if PACKETVER >= 20141001
-// changed packet sizes
- packet(0x0a24,66); // ZC_ACH_UPDATE
-#endif
-
-// 2014-10-08bRagexeRE
-#if PACKETVER >= 20141008
+ packet(0x0a2e,clif->pChangeTitle); // CZ_REQ_CHANGE_TITLE
// changed packet sizes
- packet(0x0a05,49); // ZC_ACK_ADD_ITEM_RODEX
#endif
// 2014-11-19bRagexeRE
#if PACKETVER >= 20141119
// new packets
- packet(0x0A35,4,clif->pOneClick_ItemIdentify,2);
+ packet(0x0A35,clif->pOneClick_ItemIdentify,2);
// changed packet sizes
- packet(0x0a05,53); // ZC_ACK_ADD_ITEM_RODEX
-#endif
-
-// 2014-11-26aRagexeRE
-#if PACKETVER >= 20141126
-// new packets
- packet(0x0a36,7); // ZC_HP_INFO_TINY
- packet(0x0a37,57); // ZC_ITEM_PICKUP_ACK_V7
-#endif
-
-// 2015-01-28aRagexeRE
-#if PACKETVER >= 20150128
-// new packets
- packet(0x0a38,3);
-#endif
-
-// 2015-03-11aRagexeRE
-#if PACKETVER >= 20150311
-// new packets
- packet(0x0a3a,12);
-// changed packet sizes
-#endif
-
-// 2015-04-15aRagexeRE
-#if PACKETVER >= 20150415
-// changed packet sizes
- packet(0x0a39,36); // CH_UNKNOWN_MAKE_CHAR // in char server used from 20151001. is this correct?
-#endif
-
-// 2015-04-22aRagexeRE
-#if PACKETVER >= 20150422
-// new packets
- packet(0x0a3b,-1);
-// changed packet sizes
-#endif
-
-// 2015-05-20aRagexeRE
-#if PACKETVER >= 20150520
-// new packets
- packet(0x0a3c,-1);
- packet(0x0a3d,18,clif->pDull/*,XXX*/);
-#endif
-
-// 2015-06-03bRagexeRE
-#if PACKETVER >= 20150603
-// new packets
- packet(0x0a3e,-1);
-#endif
-
-// 2015-06-24aRagexeRE
-#if PACKETVER >= 20150624
-// new packets
- packet(0x0a3f,9);
-#endif
-
-// 2015-08-12aRagexeRE
-#if PACKETVER >= 20150812
-// new packets
- packet(0x0a40,11);
-#endif
-
-// 2015-09-09aRagexeRE
-#if PACKETVER >= 20150909
-// new packets
- packet(0x0a41,18);
-#endif
-
-// 2015-09-16aRagexeRE
-#if PACKETVER >= 20150916
-// new packets
- packet(0x0a42,43);
-#endif
-
-// 2015-10-07aRagexeRE
-#if PACKETVER >= 20151007
-// new packets
- packet(0x0a43,85);
- packet(0x0a44,-1);
-#endif
-
-// 2015-10-28cRagexeRE
-#if PACKETVER >= 20151028
-// new packets
- packet(0x0a45,-1);
#endif
// 2015-11-04aRagexeRE
#if PACKETVER >= 20151104
// new packets
- packet(0x0a46,14,clif->pReqStyleChange);
- packet(0x0a47,3);
- packet(0x0a48,2,clif->pDull/*,XXX*/);
-#endif
-
-// 2015-11-18aRagexeRE
-#if PACKETVER >= 20151118
-// new packets
- packet(0x0a49,22);
- packet(0x0a4a,6);
- packet(0x0a4b,22); // ZC_AIRSHIP_MAPMOVE
- packet(0x0a4c,28); // ZC_AIRSHIP_SERVERMOVE
+ packet(0x0a46,clif->pReqStyleChange);
+ packet(0x0a48,clif->pStyleClose);
#endif
-// 2016-01-27aRagexeRE
-#if PACKETVER >= 20160127
-// new packets
- packet(0x0a4d,-1);
-// changed packet sizes
-#endif
-
-// 2016-03-02bRagexeRE
-#if PACKETVER >= 20160302
-// new packets
- packet(0x0a4e,4);
- packet(0x0a4f,-1,clif->pDull/*,XXX*/);
- packet(0x0a50,6);
- packet(0x0a51,34);
-// changed packet sizes
-#endif
-
-// 2016-03-16aRagexeRE
-#if PACKETVER >= 20160316
-// new packets
- packet(0x0a52,20,clif->pDull/*,XXX*/);
- packet(0x0a53,10);
- packet(0x0a54,-1);
- packet(0x0a55,2);
- packet(0x0a56,6,clif->pDull/*,XXX*/);
- packet(0x0a57,6);
- packet(0x0a58,8);
- packet(0x0a59,-1);
- packet(0x0a5a,2,clif->pDull/*,XXX*/);
- packet(0x0a5b,7);
- packet(0x0a5c,18,clif->pDull/*,XXX*/);
- packet(0x0a5d,6);
-// changed packet sizes
-#endif
// 2016-03-23aRagexeRE
#if PACKETVER >= 20160323
// new packets
- packet(0x0a68,3,clif->pOpenUIRequest);
- packet(0x0a69,6);
- packet(0x0a6a,12);
- packet(0x0a6b,-1);
+ packet(0x0a68,clif->pOpenUIRequest);
// changed packet sizes
#endif
// 2016-03-30aRagexeRE
#if PACKETVER >= 20160330
// new packets
- packet(0x0a6c,7,clif->pDull/*,XXX*/);
- packet(0x0a6d,-1);
- packet(0x0a6e,-1,clif->pRodexSendMail); // CZ_RODEX_SEND_MAIL
- packet(0x0a6f,-1);
+ packet(0x0a6e,clif->pRodexSendMail); // CZ_RODEX_SEND_MAIL
// changed packet sizes
#endif
-// 2016-04-27aRagexeRE
-#if PACKETVER >= 20160427
-// new packets
-// changed packet sizes
- packet(0x0a50,4);
-#endif
-
-// 2016-05-04aRagexeRE
-#if PACKETVER >= 20160504
-// new packets
- packet(0x0a70,2,clif->pDull/*,XXX*/);
- packet(0x0a71,-1);
- packet(0x0a72,61);
-// changed packet sizes
-#endif
-
-// 2016-05-11aRagexeRE
-#if PACKETVER >= 20160511
-// new packets
- packet(0x0a73,6);
- packet(0x0a74,8);
-// changed packet sizes
+#if PACKETVER >= 20160302
+ packet(0x0a4f,clif->plapineDdukDdak_ack);
#endif
-// 2016-05-18aRagexeRE
-#if PACKETVER >= 20160518
-// new packets
- packet(0x0a76,80);
-// changed packet sizes
- packet(0x0a73,2);
+#if PACKETVER_MAIN_NUM >= 20160504 || PACKETVER_RE_NUM >= 20160504 || defined(PACKETVER_ZERO)
+ packet(0x0a70,clif->plapineDdukDdak_close);
#endif
-// 2016-05-25aRagexeRE
+// all 2016-05-25
#if PACKETVER >= 20160525
-// new packets
- packet(0x0a77,15);
- packet(0x0a78,15);
-// changed packet sizes
+ packet(0x0a77,clif->pCameraInfo); // CZ_CAMERA_INFO
#endif
-// 2016-06-01aRagexeRE
-#if PACKETVER >= 20160601
-// new packets
- packet(0x0a79,-1);
- packet(0x0a7b,-1);
- packet(0x0a7c,-1);
- packet(0x0a7d,-1); // ZC_RODEX_MAILLIST
-// changed packet sizes
-#endif
-
-// 2016-06-15aRagexeRE
-#if PACKETVER >= 20160615
-// new packets
- packet(0x0a7e,4);
- packet(0x0a7f,-1);
- packet(0x0a80,2);
- packet(0x0a81,3);
-// changed packet sizes
-#endif
-
-// 2016-06-22aRagexeRE
+// all 20160622+
#if PACKETVER >= 20160622
-// new packets
- packet(0x0a82,46);
- packet(0x0a83,46);
- packet(0x0a84,94);
- packet(0x0a85,82);
- packet(0x0a86,-1);
- packet(0x0a87,4);
- packet(0x0a88,2);
-// changed packet sizes
+ packet(0x0a88,clif->pResetCooldown);
#endif
-// 2016-06-29aRagexeRE
-#if PACKETVER >= 20160629
-// new packets
- packet(0x0a89,32);
- packet(0x0a8a,6);
- packet(0x0a8b,2);
- packet(0x0a8c,2);
- packet(0x0a8d,-1);
-// changed packet sizes
- packet(0x0a80,6);
-#endif
-
-// 2016-07-06cRagexeRE
-#if PACKETVER >= 20160706
-// new packets
- packet(0x0a81,3);
-// changed packet sizes
- packet(0x0a7e,-1);
- packet(0x0a89,57);
-#endif
-
-// 2016-07-13aRagexeRE
-#if PACKETVER >= 20160713
-// new packets
-// changed packet sizes
- packet(0x0a87,-1);
-#endif
-
-// 2016-07-20aRagexeRE
-#if PACKETVER >= 20160720
-// new packets
- packet(0x0a8e,2);
- packet(0x0a8f,2);
- packet(0x0a90,3);
-// changed packet sizes
-#endif
-
-// 2016-07-27aRagexeRE
-#if PACKETVER >= 20160727
-// new packets
- packet(0x0a91,-1);
- packet(0x0a92,-1);
- packet(0x0a93,3);
-// changed packet sizes
-#endif
-
-// 2016-08-03bRagexeRE
-#if PACKETVER >= 20160803
-// new packets
- packet(0x0a94,2);
-// changed packet sizes
- packet(0x0a81,4);
-#endif
-
-// 2016-09-07aRagexeRE
-#if PACKETVER >= 20160907
-// new packets
- packet(0x0a95,4);
-// changed packet sizes
-#endif
-
-// 2016-09-21bRagexeRE
-#if PACKETVER >= 20160921
-// new packets
- packet(0x0a96,51);
-// changed packet sizes
- packet(0x0a37,59); // ZC_ITEM_PICKUP_ACK_V7
-#endif
-
-// 2016-09-28cRagexeRE
-#if PACKETVER >= 20160928
-// new packets
- packet(0x0a97,8);
- packet(0x0a98,12);
- packet(0x0a99,8);
- packet(0x0a9a,10);
- packet(0x0a9b,-1);
- packet(0x0a9c,2);
- packet(0x0a9d,4);
- packet(0x0a9e,2);
- packet(0x0a9f,2);
-// changed packet sizes
-#endif
-
-// 2016-10-05aRagexeRE
-#if PACKETVER >= 20161005
-// new packets
- packet(0x0aa0,2,clif->pDull/*,XXX*/);
- packet(0x0aa1,4);
- packet(0x0aa2,-1);
- packet(0x0aa3,7);
- packet(0x0aa4,2);
-// changed packet sizes
-#endif
-
-// 2016-10-26bRagexeRE
-#if PACKETVER >= 20161026
-// new packets
- packet(0x0aa5,-1);
- packet(0x0aa6,36);
-// changed packet sizes
-#endif
-
-// 2016-11-30aRagexeRE
-#if PACKETVER >= 20161130
-// new packets
- packet(0x0aa7,6);
- packet(0x0aa8,5);
- packet(0x0aa9,-1);
- packet(0x0aaa,-1);
- packet(0x0aab,-1);
-// changed packet sizes
-#endif
-
-// 2016-12-07cRagexeRE
-#if PACKETVER >= 20161207
-// new packets
- packet(0x0aac,67);
-// changed packet sizes
-#endif
-
-// 2016-12-21aRagexeRE
-#if PACKETVER >= 20161221
-// new packets
- packet(0x0aad,47);
- packet(0x0aae,2);
- packet(0x0aaf,6);
- packet(0x0ab0,6);
- packet(0x0ab1,10);
-// changed packet sizes
-#endif
-
-// 2016-12-28aRagexeRE
-#if PACKETVER >= 20161228
-// new packets
-// changed packet sizes
- packet(0x0ab1,14);
-#endif
-
-// 2017-01-04bRagexeRE
-#if PACKETVER >= 20170104
-// new packets
- packet(0x0ab2,7);
- packet(0x0ab3,15);
-// changed packet sizes
-#endif
-
-// 2017-01-11aRagexeRE
-#if PACKETVER >= 20170111
-// new packets
- packet(0x0ab4,4);
- packet(0x0ab5,2);
- packet(0x0ab6,6);
- packet(0x0ab7,4);
- packet(0x0ab8,2);
- packet(0x0ab9,39);
-// changed packet sizes
-#endif
-
-// 2017-01-18aRagexeRE
-#if PACKETVER >= 20170118
-// new packets
- packet(0x0aba,2);
- packet(0x0abb,2);
-// changed packet sizes
- packet(0x0aad,51);
- packet(0x0ab3,19);
-#endif
-
-// 2017-02-01aRagexeRE
-#if PACKETVER >= 20170201
-// new packets
- packet(0x0abc,-1);
-// changed packet sizes
-#endif
-
-// 2017-02-15aRagexeRE
-#if PACKETVER >= 20170215
-// new packets
- packet(0x0abd,10);
-// changed packet sizes
-#endif
-
-// 2017-02-22aRagexeRE
-#if PACKETVER >= 20170222
-// new packets
- packet(0x0abe,116);
- packet(0x0abf,114);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20161130 || PACKETVER_RE_NUM >= 20161109 || defined(PACKETVER_ZERO)
+ packet(0x0aa1, clif->pAddItemRefineryUI);
+ packet(0x0aa3, clif->pRefineryUIRefine);
+ packet(0x0aa4, clif->pRefineryUIClose);
#endif
// 2017-02-28aRagexeRE
#if PACKETVER >= 20170228
// new packets
- packet(0x0ac0,26,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
- packet(0x0ac1,26,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
- packet(0x0ac2,-1);
- packet(0x0ac3,2);
- packet(0x0ac4,-1);
- packet(0x0ac5,156,clif->pDull/*,XXX*/);
- packet(0x0ac6,156);
- packet(0x0ac7,156); // ZC_NPCACK_SERVERMOVE
-// changed packet sizes
- packet(0x0abe,-1); // ZC_WARPLIST
- packet(0x0abf,-1);
-#endif
-
-// 2017-03-08bRagexeRE
-#if PACKETVER >= 20170308
-// new packets
- packet(0x0ac8,2);
- packet(0x0ac9,-1);
-// changed packet sizes
-#endif
-
-// 2017-03-22aRagexeRE
-#if PACKETVER >= 20170322
-// new packets
- packet(0x0aca,3);
+ packet(0x0ac0,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
+ packet(0x0ac1,clif->pRodexRefreshMaillist); // CZ_REQ_REFRESH_RODEX
// changed packet sizes
#endif
-// 2017-03-29cRagexeRE
-#if PACKETVER >= 20170329
-// new packets
-// changed packet sizes
- packet(0x0aac,69);
-#endif
-
-// 2017-04-05bRagexeRE
-#if PACKETVER >= 20170405
-// new packets
- packet(0x0acb,12);
- packet(0x0acc,18);
-// changed packet sizes
-#endif
-
-// 2017-04-19bRagexeRE
-#if PACKETVER >= 20170419
-// new packets
- packet(0x0acd,23);
-// changed packet sizes
- packet(0x0a99,4);
-#endif
-
-// 2017-04-26dRagexeRE
-#if PACKETVER >= 20170426
-// new packets
-// changed packet sizes
- packet(0x0a98,10);
-#endif
-
-// 2017-05-02dRagexeRE
-#if PACKETVER >= 20170502
-// new packets
- packet(0x0ace,4);
-// changed packet sizes
-#endif
-
-// 2017-06-14bRagexeRE
-#if PACKETVER >= 20170614
-// new packets
- packet(0x0acf,52);
- packet(0x0ad0,11);
- packet(0x0ad1,-1);
-#endif
-
-// 2017-06-21aRagexeRE
-#if PACKETVER >= 20170621
-// changed packet sizes
- packet(0x0acf,57);
-#endif
-
-// 2017-07-05aRagexeRE
-#if PACKETVER >= 20170705
-// changed packet sizes
- packet(0x0acf,64);
-#endif
-
-// 2017-07-19aRagexeRE
-#if PACKETVER >= 20170719
-// new packets
- packet(0x0ad2,30);
- packet(0x0ad3,-1);
- packet(0x0ad4,-1);
- packet(0x0ad5,2);
- packet(0x0ad6,2);
- packet(0x0ad7,8);
- packet(0x0ad8,8);
- packet(0x0ad9,-1);
-// changed packet sizes
-#endif
-
-// 2017-07-26cRagexeRE
-#if PACKETVER >= 20170726
-// new packets
- packet(0x0ada,30);
-#endif
-
// 2017-08-30aRagexeRE
#if PACKETVER >= 20170830
// new packets
- packet(0x0adb,-1);
// changed packet sizes
- packet(0x006d,157); // HC_ACCEPT_MAKECHAR
- packet(0x08e3,157); // HC_UPDATE_CHARINFO
- packet(0x0a49, 20, clif->pPrivateAirshipRequest);
+ packet(0x0a49,clif->pPrivateAirshipRequest);
#endif
-// 2017-09-06cRagexeRE
-#if PACKETVER >= 20170906
-// new packets
- packet(0x0adc,6);
-#endif
-
-// 2017-09-13bRagexeRE
-#if PACKETVER >= 20170913
-// new packets
- packet(0x0add,22);
-#endif
-
-#if PACKETVER >= 20170920
-// new packets
- packet(0x0ade,6);
- packet(0x0adf,58);
-#endif
-
-#if PACKETVER >= 20170927
-// new packets
- packet(0x0ae0,30);
-// changed packet sizes
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2017-10-25bRagexe_zero
-#if PACKETVER >= 20171025
-// new packets
- packet(0x0ae1,28);
-#endif
-#endif // PACKETVER_ZERO
-
-// 2017-11-01bRagexeRE
-#if PACKETVER >= 20171101
-// new packets
- packet(0x0ae1,28);
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2017-11-09aRagexe
-#if PACKETVER >= 20171109
-// new packets
- packet(0x0ae2,7);
-#endif
-// 2017-11-13aRagexe
-#if PACKETVER >= 20171113
-// changed packet sizes
- packet(0x0acf,68);
-#endif
-#endif // PACKETVER_ZERO
-
-// 2017-11-15aRagexeRE
-#if PACKETVER >= 20171115
-// new packets
- packet(0x0ae2,7);
-// changed packet sizes
- packet(0x0acf,68);
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2017-11-23dRagexe
-#if PACKETVER >= 20171123
-// new packets
- packet(0x0ae3,-1); // AC_LOGIN_OTP
-#endif
-
-// 2017-11-30bRagexe
-#if PACKETVER >= 20171130
-// new packets
- packet(0x0ae4,89);
- packet(0x0ae5,-1);
-// changed packet sizes
-#endif
-#endif // PACKETVER_ZERO
-
-// 2017-12-06aRagexeRE
-#if PACKETVER >= 20171206
-// new packets
- packet(0x0ae4,89);
- packet(0x0ae5,-1);
-// changed packet sizes
-#endif
-
-#ifndef PACKETVER_ZERO
-#if PACKETVER >= 20171213
-// new packets
- packet(0x0ae3,-1); // AC_LOGIN_OTP
- packet(0x0ae6,30);
- packet(0x0ae7,30);
-// changed packet sizes
-#endif
-#endif // PACKETVER_ZERO
-
#ifdef PACKETVER_ZERO
#if PACKETVER >= 20171214
// new packets
- packet(0x0ae6,30);
- packet(0x0ae7,30);
- packet(0x0ae8,2,clif->pChangeDress);
+ packet(0x0ae8,clif->pChangeDress);
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
-// 2017-12-13bRagexe
-#if PACKETVER >= 20171213
-// new packets
- packet(0x0ae3,-1); // AC_LOGIN_OTP
- packet(0x0ae6,30);
- packet(0x0ae7,30);
-// changed packet sizes
-#endif
-
// 2017-12-20aRagexe
#if PACKETVER >= 20171220
// new packets
- packet(0x0ae8,2,clif->pChangeDress);
- packet(0x0ae9,64);
- packet(0x0aea,11);
-// changed packet sizes
-#endif
-
-// 2017-12-27aRagexe
-#if PACKETVER >= 20171227
-// new packets
- packet(0x0aeb,11);
- packet(0x0aec,2);
-// changed packet sizes
- packet(0x0aea,2);
-#endif
-
-// 2018-01-03aRagexe
-#if PACKETVER >= 20180103
-// new packets
- packet(0x0aed,2);
- packet(0x0aee,2);
-// changed packet sizes
-#ifdef PACKETVER_RE
- packet(0x09a0,6); // HC_CHARLIST_NOTIFY
-#endif
+ packet(0x0ae8,clif->pChangeDress);
// changed packet sizes
#endif
#if PACKETVER >= 20180117
// new packets
- packet(0x0aef,2,clif->pAttendanceRewardRequest);
- packet(0x0af0,10);
-// changed packet sizes
- packet(0x0ae9,13);
-#endif
-
-// 2018-01-24bRagexeRE
-#if PACKETVER >= 20180124
-// new packets
- packet(0x0af2,40,clif->pDull/*,XXX*/);
- packet(0x0af3,-1,clif->pDull/*,XXX*/);
+ packet(0x0aef,clif->pAttendanceRewardRequest);
// changed packet sizes
#endif
@@ -4000,103 +1864,16 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2018-01-31dRagexe_zero
#if PACKETVER >= 20180131
// new packets
- packet(0x0af2,40,clif->pDull/*,XXX*/);
- packet(0x0af3,-1,clif->pDull/*,XXX*/);
- packet(0x0af4,11,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
+ packet(0x0af4,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
// changed packet sizes
- packet(0x0ae6,10,clif->pDull/*,XXX*/);
#endif
#endif // PACKETVER_ZERO
-#ifdef PACKETVER_ZERO
-// 2018-02-07bRagexe_zero
-#if PACKETVER >= 20180207
-// new packets
- packet(0x0af5,3);
- packet(0x0af6,88);
- packet(0x0af7,32);
-// changed packet sizes
-#endif
-#else // PACKETVER_ZERO
+#ifndef PACKETVER_ZERO
// 2018-02-07bRagexeRE, 2018-02-07bRagexe
#if PACKETVER >= 20180207
// new packets
- packet(0x0af4,11,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
- packet(0x0af5,3);
- packet(0x0af6,88);
- packet(0x0af7,32);
-// changed packet sizes
- packet(0x0ae6,10);
-#endif
-#endif // PACKETVER_ZERO
-
-#ifdef PACKETVER_RE
-// 2018-02-21aRagexeRE
-#if PACKETVER >= 20180221
-// new packets
-// changed packet sizes
- packet(0x0206,35); // ZC_FRIENDS_STATE
-#endif
-#endif // PACKETVER_RE
-
-#ifndef PACKETVER_ZERO
-// 2018-03-07bRagexe
-#if PACKETVER >= 20180307
-// new packets
-// changed packet sizes
- packet(0x0206,35); // ZC_FRIENDS_STATE
-#endif
-#endif // PACKETVER_ZERO
-
-#ifndef PACKETVER_ZERO
-// 2018-03-21aRagexe, 2018-03-21aRagexeRE
-#if PACKETVER >= 20180321
-// new packets
- packet(0x0af8,11,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0ae7,34,clif->pDull/*,XXX*/);
-#endif
-#endif // PACKETVER_ZERO
-
-#ifdef PACKETVER_ZERO
-// 2018-03-28_1aRagexe_zero
-#if PACKETVER >= 20180328
-// new packets
- packet(0x0af8,11,clif->pDull/*,XXX*/);
- packet(0x0af9,6,clif->pDull/*,XXX*/);
- packet(0x0afa,54,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0206,35); // ZC_FRIENDS_STATE
- packet(0x0ae7,38,clif->pDull/*,XXX*/);
-#endif
-#endif // PACKETVER_ZERO
-
-
-#ifndef PACKETVER_ZERO
-// 2018-04-04bRagexe, 2018-04-04cRagexeRE
-#if PACKETVER >= 20180404
-// new packets
- packet(0x0af9,6,clif->pDull/*,XXX*/);
- packet(0x0afa,54,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0ae7,38,clif->pDull/*,XXX*/);
-#endif
-#endif // PACKETVER_ZERO
-
-#ifndef PACKETVER_ZERO
-// 2018-04-18aRagexe, 2018-04-18bRagexeRE
-#if PACKETVER >= 20180418
-// new packets
- packet(0x0afb,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
-#endif
-#endif
-
-#ifdef PACKETVER_ZERO
-// 2018-04-25_3aRagexe_zero
-#if PACKETVER >= 20180425
-// new packets
- packet(0x0afb,-1,clif->pDull/*,XXX*/);
+ packet(0x0af4,clif->pUseSkillToPos,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
@@ -4105,7 +1882,7 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2018-05-16cRagexe, 2018-05-16cRagexeRE
#if PACKETVER >= 20180516
// new packets
- packet(0x0afc,16,clif->pReqStyleChange2);
+ packet(0x0afc,clif->pReqStyleChange2);
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
@@ -4114,227 +1891,100 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2018-05-23aRagexe_zero
#if PACKETVER >= 20180523
// new packets
- packet(0x0afc,16,clif->pReqStyleChange2);
+ packet(0x0afc,clif->pReqStyleChange2);
// changed packet sizes
#endif
#endif // PACKETVER_ZERO
-// 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-05bRagexe_zero
-#if PACKETVER >= 20180605
+// 2018-07-04aRagexeRE
+#if PACKETVER_RE_NUM >= 20180704
// new packets
- packet(0x0afd,-1);
- packet(0x0afe,-1,clif->pDull/*,XXX*/);
- packet(0x0aff,-1,clif->pDull/*,XXX*/);
// changed packet sizes
+ packet(0x018e,clif->pProduceMix); // CZ_REQMAKINGITEM
+ packet(0x01ae,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
+ packet(0x01fd,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
+ packet(0x025b,clif->pCooking); // CZ_REQ_MAKINGITEM
+ packet(0x0445,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x0a49,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
#endif
-#ifndef PACKETVER_ZERO
-// 2018-06-20cRagexe, 2018-06-20eRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexeRE
-#if PACKETVER >= 20180620
+// 2018-11-14aRagexe_zero
+#if PACKETVER_ZERO_NUM >= 20181114
// new packets
- packet(0x0b00,8);
- packet(0x0b01,40,clif->pDull/*,XXX*/);
// changed packet sizes
+ packet(0x018e,clif->pProduceMix); // CZ_REQMAKINGITEM
+ packet(0x01ae,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
+ packet(0x01fd,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
+ packet(0x025b,clif->pCooking); // CZ_REQ_MAKINGITEM
+ packet(0x0445,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x0a49,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
#endif
-// 2018-07-04aRagexe, 2018-07-04aRagexeRE
-#if PACKETVER >= 20180704
+// 2018-11-21bRagexe
+#if PACKETVER_ZERO_NUM >= 20181121
// new packets
- packet(0x0b02,26); // AC_REFUSE_LOGIN4
// changed packet sizes
- packet(0x0b01,56,clif->pDull/*,XXX*/);
+ packet(0x018e,clif->pProduceMix); // CZ_REQMAKINGITEM
+ packet(0x01ae,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
+ packet(0x01fd,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
+ packet(0x025b,clif->pCooking); // CZ_REQ_MAKINGITEM
+ packet(0x0445,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+ packet(0x09ae,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+ packet(0x09b0,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+ packet(0x09c3,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+ packet(0x0a49,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
#endif
-#endif // PACKETVER_ZERO
-// 2018-06-27aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180627
-// new packets
- packet(0x0b00,8);
- packet(0x0b01,56,clif->pDull/*,XXX*/);
- packet(0x0b02,26); // AC_REFUSE_LOGIN4
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+ packet(0x0b10,clif->pStartUseSkillToId);
+ packet(0x0b11,clif->pStopUseSkillToId);
#endif
-// 2018-07-04aRagexeRE
-#if PACKETVER_RE_NUM >= 20180704
-// new packets
-// changed packet sizes
- packet(0x009d,19); // ZC_ITEM_ENTRY
- packet(0x009e,19); // ZC_ITEM_FALL_ENTRY
- packet(0x00a0,33); // ZC_ITEM_PICKUP_ACK
- packet(0x00e9,29,clif->pDull/*,XXX*/); // ZC_ADD_EXCHANGE_ITEM
- packet(0x00f4,31,clif->pDull/*,XXX*/); // ZC_ADD_ITEM_TO_STORE
- packet(0x010a,6); // ZC_MVP_GETTING_ITEM
- packet(0x0110,14); // ZC_ACK_TOUSESKILL
- packet(0x0124,31); // ZC_ADD_ITEM_TO_CART
- packet(0x018e,18,clif->pProduceMix); // CZ_REQMAKINGITEM
- packet(0x018f,8); // ZC_ACK_REQMAKINGITEM
- packet(0x01a3,7); // ZC_FEED_PET
- packet(0x01ae,6,clif->pSelectArrow,2); // CZ_REQ_MAKINGARROW
- packet(0x01c4,32); // ZC_ADD_ITEM_TO_STORE2
- packet(0x01c5,32); // ZC_ADD_ITEM_TO_CART2
- packet(0x01c8,15); // ZC_USE_ITEM_ACK2
- packet(0x01d7,15); // ZC_SPRITE_CHANGE2
- packet(0x01d8,58); // ZC_NOTIFY_STANDENTRY2
- packet(0x01d9,57); // ZC_NOTIFY_NEWENTRY2
- packet(0x01da,64); // ZC_NOTIFY_MOVEENTRY2
- packet(0x01fd,25,clif->pRepairItem); // CZ_REQ_ITEMREPAIR
- packet(0x0223,10); // ZC_ACK_WEAPONREFINE
- packet(0x022a,62); // ZC_NOTIFY_STANDENTRY3
- packet(0x022b,61); // ZC_NOTIFY_NEWENTRY3
- packet(0x022c,69); // ZC_NOTIFY_MOVEENTRY3
- packet(0x022e,73); // ZC_PROPERTY_HOMUN
- packet(0x022f,7); // ZC_FEED_MER
- packet(0x025b,8,clif->pCooking); // CZ_REQ_MAKINGITEM
- packet(0x0298,10); // ZC_CASH_TIME_COUNTER
- packet(0x0299,8); // ZC_CASH_ITEM_DELETE
- packet(0x029a,37); // ZC_ITEM_PICKUP_ACK2
- packet(0x02b8,32); // ZC_ITEM_PICKUP_PARTY
- packet(0x02d4,39); // ZC_ITEM_PICKUP_ACK3
- packet(0x02ec,71); // ZC_NOTIFY_MOVEENTRY4
- packet(0x02ed,63); // ZC_NOTIFY_NEWENTRY4
- packet(0x02ee,64); // ZC_NOTIFY_STANDENTRY4
- packet(0x0445,12,clif->pDull/*,XXX*/); // CZ_SIMPLE_BUY_CASH_POINT_ITEM
- packet(0x080f,30); // ZC_ADD_EXCHANGE_ITEM2
- packet(0x081b,12); // ZC_UPDATE_ITEM_FROM_BUYING_STORE
- packet(0x0824,8); // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
- packet(0x084b,21); // ZC_ITEM_FALL_ENTRY4
- packet(0x0990,41); // ZC_ITEM_PICKUP_ACK_V5
- packet(0x09ad,12); // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
- packet(0x09ae,19,clif->pDull/*,XXX*/); // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
- packet(0x09b0,10,clif->pDull/*,XXX*/); // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
- packet(0x09b2,10); // ZC_NOTIFY_BARGAIN_SALE_SELLING
- packet(0x09b3,6); // ZC_NOTIFY_BARGAIN_SALE_CLOSE
- packet(0x09c3,10,clif->pDull/*,XXX*/); // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
- packet(0x09c4,10); // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
- packet(0x09e6,24); // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
- packet(0x09f7,77); // ZC_PROPERTY_HOMUN_2
- packet(0x0a05,63); // ZC_ACK_ADD_ITEM_RODEX
- packet(0x0a09,55); // ZC_ADD_EXCHANGE_ITEM3
- packet(0x0a0a,57); // ZC_ADD_ITEM_TO_STORE3
- packet(0x0a0b,57); // ZC_ADD_ITEM_TO_CART3
- packet(0x0a0c,66); // ZC_ITEM_PICKUP_ACK_V6
- packet(0x0a1a,25); // ZC_ACK_OPEN_ROULETTE
- packet(0x0a20,23); // ZC_ACK_GENERATE_ROULETTE
- packet(0x0a22,7); // ZC_RECV_ROULETTE_ITEM
- packet(0x0a37,69); // ZC_ITEM_PICKUP_ACK_V7
- packet(0x0a3d,20,clif->pDull/*,XXX*/);
- packet(0x0a3f,11,clif->pDull/*,XXX*/);
- packet(0x0a49,22,clif->pPrivateAirshipRequest); // CZ_PRIVATE_AIRSHIP_REQUEST
- packet(0x0a4e,6);
- packet(0x0a89,61); // ZC_NOTIFY_OFFLINE_STORE
- packet(0x0a96,61); // ZC_ADD_EXCHANGE_ITEM4
- packet(0x0aa3,9,clif->pDull/*,XXX*/);
- packet(0x0ab4,6,clif->pDull/*,XXX*/);
- packet(0x0ab6,8,clif->pDull/*,XXX*/);
- packet(0x0ab9,47);
- packet(0x0ada,32);
- packet(0x0add,24); // ZC_ITEM_FALL_ENTRY
-#endif
-
-// 2018-07-25_2aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180725
-// new packets
- packet(0x0b03,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
-#endif
-
-#ifndef PACKETVER_ZERO
-// 2018-08-01cRagexe, 2018-08-01cRagexeRE
-#if PACKETVER >= 20180801
-// new packets
- packet(0x0b03,-1);
- packet(0x0b04,80,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+ packet(0x0b14,clif->pInventoryExpansion);
+ packet(0x0b16,clif->pInventoryExpansionConfirmed);
+ packet(0x0b19,clif->pInventoryExpansionRejected);
#endif
-#endif // PACKETVER_ZERO
-// 2018-08-08_2aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180808
-// new packets
- packet(0x0b04,80,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+ packet(0x0b0f,clif->pNPCBarterPurchase);
+ packet(0x0b12,clif->pNPCBarterClosed);
#endif
-// 2018-08-22aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180822
-// new packets
- packet(0x0b05,59);
- packet(0x0b06,53,clif->pDull/*,XXX*/);
- packet(0x0b07,-1);
- packet(0x0b08,26,clif->pDull/*,XXX*/);
- packet(0x0b09,-1,clif->pDull/*,XXX*/);
- packet(0x0b0a,-1,clif->pDull/*,XXX*/);
- packet(0x0b0b,3,clif->pDull/*,XXX*/);
- packet(0x0b0c,155,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+ packet(0x0b1c,clif->pPing);
#endif
-// 2018-08-29aRagexe
-#if PACKETVER_MAIN_NUM >= 20180829
-// new packets
- packet(0x0b05,59);
- packet(0x0b06,53,clif->pDull/*,XXX*/);
- packet(0x0b07,-1);
- packet(0x0b08,26); // ZC_INVENTORY_START
- packet(0x0b09,-1); // ZC_STORE_ITEMLIST_NORMAL_V6
- packet(0x0b0a,-1); // ZC_STORE_ITEMLIST_EQUIP_V6
- packet(0x0b0b,3); // ZC_INVENTORY_END
- packet(0x0b0c,155,clif->pDull/*,XXX*/);
-// changed packet sizes
+#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
-// 2018-08-29aRagexeRE
-#if PACKETVER_RE_NUM >= 20180829
-// new packets
- packet(0x0b05,63);
- packet(0x0b06,53,clif->pDull/*,XXX*/);
- packet(0x0b07,-1);
- packet(0x0b08,26); // ZC_INVENTORY_START
- packet(0x0b09,-1); // ZC_STORE_ITEMLIST_NORMAL_V6
- packet(0x0b0a,-1); // ZC_STORE_ITEMLIST_EQUIP_V6
- packet(0x0b0b,3); // ZC_INVENTORY_END
- packet(0x0b0c,155,clif->pDull/*,XXX*/);
-// changed packet sizes
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
+ packet(0x0b28,clif->pGuildCastleTeleportRequest);
+ packet(0x0b2c,clif->pGuildCastleInfoRequest);
#endif
-// 2018-09-05aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180905
-// new packets
- packet(0x0b0d,6,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0b08,27); // ZC_INVENTORY_START
- packet(0x0b0b,4); // ZC_INVENTORY_END
+#if PACKETVER_MAIN_NUM >= 20190703 || PACKETVER_RE_NUM >= 20190703
+ packet(0x0b35,clif->pReqGearOff);
#endif
-#ifndef PACKETVER_ZERO
-// 2018-09-12dRagexe, 2018-09-12dRagexeRE
-#if PACKETVER >= 20180912
-// new packets
- packet(0x0b0d,10,clif->pDull/*,XXX*/);
- packet(0x0b0e,-1,clif->pDull/*,XXX*/);
- packet(0x0b0f,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0b08,27,clif->pDull/*,XXX*/); // ZC_INVENTORY_START
- packet(0x0b0b,4,clif->pDull/*,XXX*/); // ZC_INVENTORY_END
-#endif
+#if PACKETVER_ZERO_NUM >= 20190709
+ packet(0x0b35,clif->pReqGearOff);
#endif
-// 2018-09-19aRagexeRE
-#if PACKETVER_RE_NUM >= 20180919
-// new packets
-// changed packet sizes
- packet(0x0b08,-1); // ZC_INVENTORY_START
+#if PACKETVER >= 20190724
+ packet(0x0b4c,clif->pCashShopLimitedReq);
#endif
-// 2018-09-19aRagexe_zero
-#if PACKETVER_ZERO_NUM >= 20180919
-// new packets
- packet(0x0b0e,-1,clif->pDull/*,XXX*/);
- packet(0x0b0f,-1,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0b08,-1); // ZC_INVENTORY_START
- packet(0x0b0d,10,clif->pDull/*,XXX*/);
+#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 a9d9a7020..adfefe5dc 100644
--- a/src/map/packets_keys_main.h
+++ b/src/map/packets_keys_main.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -33,71 +34,219 @@
#if PACKETVER == 20101123 || \
PACKETVER == 20101124 || \
PACKETVER == 20101126
- packetKeys(0x49357D72,0x22C370A1,0x5F836591);
+ packetKeys(0x49357d72,0x22c370a1,0x5f836591);
+#endif
+
+// 2010-11-23aRagexeRE, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-25aRagexeRE, 2010-11-26aRagexeRE, 2010-11-30aRagexeRE, 2010-12-07aRagexeRE, 2010-12-14aRagexeRE, 2010-12-21aRagexeRE, 2010-12-23aRagexeRE, 2010-12-28aRagexeRE, 2011-01-04aRagexeRE, 2011-01-05aRagexeRE, 2011-01-11aRagexeRE, 2011-01-18aRagexeRE, 2011-01-25aRagexeRE, 2011-01-26aRagexeRE, 2011-01-26bRagexeRE, 2011-01-31aRagexeRE, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE, 2011-02-08aRagexeRE, 2011-02-15aRagexeRE, 2011-02-22aRagexeRE, 2011-02-23aRagexeRE, 2011-02-23bRagexeRE, 2011-02-24aRagexeRE, 2011-02-25aRagexeRE, 2011-02-28aRagexeRE, 2011-03-08aRagexeRE, 2011-03-09aRagexeRE, 2011-03-09bRagexeRE, 2011-03-09cRagexeRE, 2011-03-09dRagexeRE, 2011-03-15aRagexeRE, 2011-03-22aRagexeRE, 2011-03-29aRagexeRE, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE, 2011-04-05aRagexeRE, 2011-04-12aRagexeRE, 2011-04-19aRagexeRE, 2011-04-20aRagexeRE, 2011-04-26aRagexeRE, 2011-04-27aRagexeRE, 2011-05-03aRagexeRE, 2011-05-11aRagexeRE, 2011-05-17bRagexeRE, 2011-05-24aRagexeRE, 2011-05-26aRagexeRE, 2011-05-31aRagexeRE, 2011-06-07aRagexeRE, 2011-06-08aRagexeRE, 2011-06-08bRagexeRE, 2011-06-08cRagexeRE, 2011-06-09aRagexeRE, 2011-06-14bRagexeRE, 2011-06-22aRagexeRE, 2011-06-28aRagexeRE, 2011-07-06aRagexeRE, 2011-07-13aRagexeRE, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE, 2011-07-19aRagexeRE, 2011-07-26aRagexeRE, 2011-08-03aRagexeRE, 2011-08-03bRagexeRE, 2011-08-10aRagexeRE, 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE, 2018-10-02aRagexe, 2018-10-02aRagexeRE, 2018-10-02bRagexe, 2018-10-02bRagexeRE, 2018-10-17_02aRagexe, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexe, 2018-10-17_03aRagexeRE, 2018-10-17bRagexe, 2018-10-17bRagexeRE, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-10-31cRagexeRE, 2018-11-07aRagexe, 2018-11-07aRagexeRE, 2018-11-14cRagexe, 2018-11-14cRagexeRE, 2018-11-14dRagexe, 2018-11-14dRagexeRE, 2018-11-21bRagexe, 2018-11-21cRagexeRE, 2018-11-28aRagexe, 2018-11-28aRagexeRE, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-05bRagexeRE, 2018-12-12aRagexe, 2018-12-12aRagexeRE, 2018-12-12bRagexe, 2018-12-12bRagexeRE, 2018-12-19bRagexe, 2018-12-19bRagexeRE, 2018-12-26aRagexe, 2018-12-26aRagexeRE, 2019-01-09aRagexe, 2019-01-09bRagexeRE, 2019-01-16bRagexe, 2019-01-16bRagexeRE, 2019-01-16cRagexe, 2019-01-16cRagexeRE, 2019-01-23dRagexe, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-20aRagexeRE, 2019-02-27aRagexe, 2019-02-27bRagexeRE, 2019-02-28aRagexe, 2019-02-28aRagexeRE, 2019-03-06bRagexe, 2019-03-06bRagexeRE, 2019-03-06cRagexe, 2019-03-06cRagexeRE, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-20aRagexeRE, 2019-03-22aRagexe, 2019-03-22aRagexeRE, 2019-03-27bRagexe, 2019-03-27bRagexeRE, 2019-04-03aRagexe, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17aRagexe, 2019-04-17cRagexeRE, 2019-04-18aRagexe, 2019-04-18aRagexeRE, 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
+#if PACKETVER == 20101123 || \
+ PACKETVER == 20101124 || \
+ PACKETVER == 20101125 || \
+ PACKETVER == 20101126 || \
+ PACKETVER == 20101130 || \
+ PACKETVER == 20101207 || \
+ PACKETVER == 20101214 || \
+ PACKETVER == 20101221 || \
+ PACKETVER == 20101223 || \
+ PACKETVER == 20101228 || \
+ PACKETVER == 20110104 || \
+ PACKETVER == 20110105 || \
+ PACKETVER == 20110111 || \
+ PACKETVER == 20110118 || \
+ PACKETVER == 20110125 || \
+ PACKETVER == 20110126 || \
+ PACKETVER == 20110131 || \
+ PACKETVER == 20110208 || \
+ PACKETVER == 20110215 || \
+ PACKETVER == 20110222 || \
+ PACKETVER == 20110223 || \
+ PACKETVER == 20110224 || \
+ PACKETVER == 20110225 || \
+ PACKETVER == 20110228 || \
+ PACKETVER == 20110308 || \
+ PACKETVER == 20110309 || \
+ PACKETVER == 20110315 || \
+ PACKETVER == 20110322 || \
+ PACKETVER == 20110329 || \
+ PACKETVER == 20110330 || \
+ PACKETVER == 20110405 || \
+ PACKETVER == 20110412 || \
+ PACKETVER == 20110419 || \
+ PACKETVER == 20110420 || \
+ PACKETVER == 20110426 || \
+ PACKETVER == 20110427 || \
+ PACKETVER == 20110503 || \
+ PACKETVER == 20110511 || \
+ PACKETVER == 20110517 || \
+ PACKETVER == 20110524 || \
+ PACKETVER == 20110526 || \
+ PACKETVER == 20110531 || \
+ PACKETVER == 20110607 || \
+ PACKETVER == 20110608 || \
+ PACKETVER == 20110609 || \
+ PACKETVER == 20110614 || \
+ PACKETVER == 20110622 || \
+ PACKETVER == 20110628 || \
+ PACKETVER == 20110706 || \
+ PACKETVER == 20110713 || \
+ PACKETVER == 20110719 || \
+ PACKETVER == 20110726 || \
+ PACKETVER == 20110803 || \
+ PACKETVER == 20110810 || \
+ PACKETVER == 20131223 || \
+ PACKETVER == 20140508 || \
+ PACKETVER == 20140611 || \
+ PACKETVER == 20150225 || \
+ PACKETVER == 20180315 || \
+ PACKETVER == 20180321 || \
+ PACKETVER == 20180328 || \
+ PACKETVER == 20180404 || \
+ PACKETVER == 20180418 || \
+ PACKETVER == 20180425 || \
+ PACKETVER == 20180502 || \
+ PACKETVER == 20180509 || \
+ PACKETVER == 20180516 || \
+ PACKETVER == 20180523 || \
+ PACKETVER == 20180530 || \
+ PACKETVER == 20180605 || \
+ PACKETVER == 20180612 || \
+ PACKETVER == 20180620 || \
+ PACKETVER == 20180621 || \
+ PACKETVER == 20180704 || \
+ PACKETVER == 20180711 || \
+ PACKETVER == 20180718 || \
+ PACKETVER == 20180801 || \
+ PACKETVER == 20180808 || \
+ PACKETVER == 20180822 || \
+ PACKETVER == 20180829 || \
+ PACKETVER == 20180831 || \
+ PACKETVER == 20180912 || \
+ PACKETVER == 20180919 || \
+ PACKETVER == 20181002 || \
+ PACKETVER == 20181017 || \
+ PACKETVER == 20181024 || \
+ PACKETVER == 20181031 || \
+ PACKETVER == 20181107 || \
+ PACKETVER == 20181114 || \
+ PACKETVER == 20181121 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181205 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190109 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER == 20190418 || \
+ 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
+ packetKeys(0x00000000,0x00000000,0x00000000);
#endif
// 2010-11-30aRagexe
#if PACKETVER == 20101130
- packetKeys(0x3726593C,0x0EFD5EE8,0x79036DF9);
+ packetKeys(0x3726593c,0x0efd5ee8,0x79036df9);
#endif
// 2010-12-07bRagexe
#if PACKETVER == 20101207
- packetKeys(0x66111112,0x2B7B53AA,0x04E76DF8);
+ packetKeys(0x66111112,0x2b7b53aa,0x04e76df8);
#endif
// 2010-12-14aRagexe
#if PACKETVER == 20101214
- packetKeys(0x5E535D06,0x4E297F0E,0x400B6AD8);
+ packetKeys(0x5e535d06,0x4e297f0e,0x400b6ad8);
#endif
// 2010-12-21aRagexe
#if PACKETVER == 20101221
- packetKeys(0x0448466A,0x41554AC9,0x5B4710B2);
+ packetKeys(0x0448466a,0x41554ac9,0x5b4710b2);
#endif
// 2010-12-28aRagexe
#if PACKETVER == 20101228
- packetKeys(0x50C638A5,0x4BF86B20,0x480C3746);
+ packetKeys(0x50c638a5,0x4bf86b20,0x480c3746);
#endif
// 2011-01-04aRagexe
#if PACKETVER == 20110104
- packetKeys(0x55DB401F,0x047D4E02,0x6D8F2EA3);
+ packetKeys(0x55db401f,0x047d4e02,0x6d8f2ea3);
#endif
// 2011-01-11aRagexe
#if PACKETVER == 20110111
- packetKeys(0x2D5F6302,0x2A361CD6,0x39D661D6);
+ packetKeys(0x2d5f6302,0x2a361cd6,0x39d661d6);
#endif
// 2011-01-18aRagexe
#if PACKETVER == 20110118
- packetKeys(0x3C777D2D,0x00541A1D,0x5E0053A2);
+ packetKeys(0x3c777d2d,0x00541a1d,0x5e0053a2);
#endif
// 2011-01-25aRagexe, 2011-01-26aRagexe, 2011-01-26bRagexe, 2011-01-31aRagexe
#if PACKETVER == 20110125 || \
PACKETVER == 20110126 || \
PACKETVER == 20110131
- packetKeys(0x6BB84BB0,0x4C004382,0x10AE3260);
+ packetKeys(0x6bb84bb0,0x4c004382,0x10ae3260);
#endif
// 2011-01-31bRagexe, 2011-02-01aRagexe
#if PACKETVER == 20110131 || \
PACKETVER == 20110201
- packetKeys(0x68871E62,0x60D17266,0x74726DAA);
+ packetKeys(0x68871e62,0x60d17266,0x74726daa);
#endif
// 2011-02-08aRagexe, 2011-02-10aRagexe, 2011-02-10bRagexe
#if PACKETVER == 20110208 || \
PACKETVER == 20110210
- packetKeys(0x72BA4E9D,0x281E1DF1,0x208255AA);
+ packetKeys(0x72ba4e9d,0x281e1df1,0x208255aa);
#endif
// 2011-02-15aRagexe
#if PACKETVER == 20110215
- packetKeys(0x1B174D76,0x32005014,0x7B8B72D5);
+ packetKeys(0x1b174d76,0x32005014,0x7b8b72d5);
#endif
// 2011-02-22aRagexe, 2011-02-23aRagexe, 2011-02-23bRagexe, 2011-02-24aRagexe, 2011-02-25aRagexe, 2011-02-25bRagexe
@@ -105,70 +254,70 @@
PACKETVER == 20110223 || \
PACKETVER == 20110224 || \
PACKETVER == 20110225
- packetKeys(0x48F73B56,0x155F7D66,0x44AB57CE);
+ packetKeys(0x48f73b56,0x155f7d66,0x44ab57ce);
#endif
// 2011-02-28aRagexe
#if PACKETVER == 20110228
- packetKeys(0x26385EBF,0x7A8C7534,0x60AE2C34);
+ packetKeys(0x26385ebf,0x7a8c7534,0x60ae2c34);
#endif
// 2011-03-08aRagexe, 2011-03-09aRagexe, 2011-03-09bRagexe, 2011-03-09cRagexe, 2011-03-09dRagexe
#if PACKETVER == 20110308 || \
PACKETVER == 20110309
- packetKeys(0x003F1B20,0x7A1E12A3,0x34994AAD);
+ packetKeys(0x003f1b20,0x7a1e12a3,0x34994aad);
#endif
// 2011-03-15aRagexe, 2011-03-16aRagexe
#if PACKETVER == 20110315 || \
PACKETVER == 20110316
- packetKeys(0x62967D7D,0x34833D1A,0x26D45ECA);
+ packetKeys(0x62967d7d,0x34833d1a,0x26d45eca);
#endif
// 2011-03-22aRagexe
#if PACKETVER == 20110322
- packetKeys(0x5870617C,0x638D5376,0x739F4817);
+ packetKeys(0x5870617c,0x638d5376,0x739f4817);
#endif
// 2011-03-29aRagexe, 2011-03-30aRagexe
#if PACKETVER == 20110329 || \
PACKETVER == 20110330
- packetKeys(0x06900BB7,0x45DB687B,0x197B017B);
+ packetKeys(0x06900bb7,0x45db687b,0x197b017b);
#endif
// 2011-04-05aRagexe
#if PACKETVER == 20110405
- packetKeys(0x248D5C37,0x1C6A1B37,0x1F644FDB);
+ packetKeys(0x248d5c37,0x1c6a1b37,0x1f644fdb);
#endif
// 2011-04-12bRagexe
#if PACKETVER == 20110412
- packetKeys(0x3DE86BFC,0x0DD47F80,0x42481C9B);
+ packetKeys(0x3de86bfc,0x0dd47f80,0x42481c9b);
#endif
// 2011-04-19aRagexe
#if PACKETVER == 20110419
- packetKeys(0x26073204,0x62013A51,0x22AC58E0);
+ packetKeys(0x26073204,0x62013a51,0x22ac58e0);
#endif
// 2011-04-26aRagexe
#if PACKETVER == 20110426
- packetKeys(0x392813F9,0x09905054,0x40DB732E);
+ packetKeys(0x392813f9,0x09905054,0x40db732e);
#endif
// 2011-05-03aRagexe
#if PACKETVER == 20110503
- packetKeys(0x28BE32EE,0x1D506FCB,0x63832421);
+ packetKeys(0x28be32ee,0x1d506fcb,0x63832421);
#endif
// 2011-05-11aRagexe
#if PACKETVER == 20110511
- packetKeys(0x6A715733,0x3C5C0D74,0x408A48EC);
+ packetKeys(0x6a715733,0x3c5c0d74,0x408a48ec);
#endif
// 2011-05-17aRagexe
#if PACKETVER == 20110517
- packetKeys(0x07FE0C72,0x46766BAD,0x5EB5126A);
+ packetKeys(0x07fe0c72,0x46766bad,0x5eb5126a);
#endif
// 2011-05-23aRagexe, 2011-05-26bRagexe
@@ -179,323 +328,323 @@
// 2011-05-31aRagexe
#if PACKETVER == 20110531
- packetKeys(0x5ABA2C7C,0x3CD22073,0x78953988);
+ packetKeys(0x5aba2c7c,0x3cd22073,0x78953988);
#endif
// 2011-06-07aRagexe, 2011-06-08aRagexe, 2011-06-08bRagexe, 2011-06-08cRagexe, 2011-06-09aRagexe
#if PACKETVER == 20110607 || \
PACKETVER == 20110608 || \
PACKETVER == 20110609
- packetKeys(0x76B0426C,0x0DD74DEB,0x1F92228E);
+ packetKeys(0x76b0426c,0x0dd74deb,0x1f92228e);
#endif
// 2011-06-14aRagexe
#if PACKETVER == 20110614
- packetKeys(0x5749027B,0x71710972,0x5B096475);
+ packetKeys(0x5749027b,0x71710972,0x5b096475);
#endif
// 2011-06-20aRagexe
#if PACKETVER == 20110620
- packetKeys(0x3A1760D4,0x254E0DF9,0x440E2357);
+ packetKeys(0x3a1760d4,0x254e0df9,0x440e2357);
#endif
// 2011-06-27aRagexe
#if PACKETVER == 20110627
- packetKeys(0x3EFC29BD,0x699E4B11,0x7B900A13);
+ packetKeys(0x3efc29bd,0x699e4b11,0x7b900a13);
#endif
// 2011-07-05aRagexe
#if PACKETVER == 20110705
- packetKeys(0x48801A5E,0x68FC7726,0x081D7F6E);
+ packetKeys(0x48801a5e,0x68fc7726,0x081d7f6e);
#endif
// 2011-07-11bRagexe, 2011-07-13aRagexe, 2011-07-13bRagexe
#if PACKETVER == 20110711 || \
PACKETVER == 20110713
- packetKeys(0x489C544B,0x33BA1C25,0x2DE66E4E);
+ packetKeys(0x489c544b,0x33ba1c25,0x2de66e4e);
#endif
// 2011-07-18aRagexe
#if PACKETVER == 20110718
- packetKeys(0x08464674,0x1EEB3BD5,0x33395199);
+ packetKeys(0x08464674,0x1eeb3bd5,0x33395199);
#endif
// 2011-07-26aRagexe
#if PACKETVER == 20110726
- packetKeys(0x41E5730B,0x119C6C11,0x5356524A);
+ packetKeys(0x41e5730b,0x119c6c11,0x5356524a);
#endif
// 2011-08-02aRagexe
#if PACKETVER == 20110802
- packetKeys(0x607C08A1,0x65B20528,0x360571E9);
+ packetKeys(0x607c08a1,0x65b20528,0x360571e9);
#endif
// 2011-08-09aRagexe
#if PACKETVER == 20110809
- packetKeys(0x742A559A,0x047F425D,0x5C8C2CA0);
+ packetKeys(0x742a559a,0x047f425d,0x5c8c2ca0);
#endif
// 2011-08-16aRagexe, 2011-08-16aRagexeRE, 2011-08-17aRagexe, 2011-08-17aRagexeRE, 2011-08-17bRagexe, 2011-08-17bRagexeRE
#if PACKETVER == 20110816 || \
PACKETVER == 20110817
- packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED);
+ packetKeys(0x053d5ced,0x3ded6ded,0x6ded6ded);
#endif
// 2011-08-23aRagexe, 2011-08-23aRagexeRE, 2011-08-24aRagexe, 2011-08-24aRagexeRE, 2011-08-24bRagexeRE
#if PACKETVER == 20110823 || \
PACKETVER == 20110824
- packetKeys(0x35C91401,0x262A5556,0x28FA03AA);
+ packetKeys(0x35c91401,0x262a5556,0x28fa03aa);
#endif
// 2011-08-31aRagexe, 2011-08-31aRagexeRE, 2011-08-31bRagexe, 2011-08-31bRagexeRE, 2011-08-31cRagexe, 2011-08-31cRagexeRE, 2011-08-31dRagexeRE, 2011-08-31eRagexeRE
#if PACKETVER == 20110831
- packetKeys(0x3AD67ED0,0x44703C69,0x6F876809);
+ packetKeys(0x3ad67ed0,0x44703c69,0x6f876809);
#endif
// 2011-09-06aRagexe, 2011-09-06aRagexeRE, 2011-09-14aRagexe, 2011-09-14aRagexeRE
#if PACKETVER == 20110906 || \
PACKETVER == 20110914
- packetKeys(0x350124EC,0x39A14595,0x0DE56125);
+ packetKeys(0x350124ec,0x39a14595,0x0de56125);
#endif
// 2011-09-20aRagexe, 2011-09-20aRagexeRE, 2011-09-20aRagexeRE2
#if PACKETVER == 20110920
- packetKeys(0x79C91A12,0x20450CC0,0x584B2A38);
+ packetKeys(0x79c91a12,0x20450cc0,0x584b2a38);
#endif
// 2011-09-28aRagexe, 2011-09-28aRagexe-retry, 2011-09-28aRagexeRE, 2011-09-29aRagexe, 2011-09-29aRagexeRE
#if PACKETVER == 20110928 || \
PACKETVER == 20110929
- packetKeys(0x26567512,0x4B0732DF,0x57D266C6);
+ packetKeys(0x26567512,0x4b0732df,0x57d266c6);
#endif
// 2011-10-04aRagexe, 2011-10-04aRagexeRE, 2011-10-05aRagexe, 2011-10-05aRagexeRE
#if PACKETVER == 20111004 || \
PACKETVER == 20111005
- packetKeys(0x291E6762,0x77CD391A,0x60AC2F16);
+ packetKeys(0x291e6762,0x77cd391a,0x60ac2f16);
#endif
// 2011-10-10aRagexe, 2011-10-10bRagexeRE, 2011-10-12aRagexeRE, 2011-10-12bRagexe
#if PACKETVER == 20111010 || \
PACKETVER == 20111012
- packetKeys(0x7F3C2D29,0x59B01DE6,0x1DBB44CA);
+ packetKeys(0x7f3c2d29,0x59b01de6,0x1dbb44ca);
#endif
// 2011-10-17aRagexe, 2011-10-17aRagexeRE, 2011-10-19aRagexeRE, 2011-10-19bRagexeRE, 2011-10-21aRagexe, 2011-10-21aRagexeRE, 2011-10-21cRagexe
#if PACKETVER == 20111017 || \
PACKETVER == 20111019 || \
PACKETVER == 20111021
- packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5);
+ packetKeys(0x357d55dc,0x5a8d759f,0x245c30f5);
#endif
// 2011-10-25aRagexe, 2011-10-25aRagexeRE
#if PACKETVER == 20111025
- packetKeys(0x50AE1A63,0x3CE579B5,0x29C10406);
+ packetKeys(0x50ae1a63,0x3ce579b5,0x29c10406);
#endif
// 2011-11-01cRagexe, 2011-11-01cRagexeRE, 2011-11-02aRagexe, 2011-11-02aRagexeRE
#if PACKETVER == 20111101 || \
PACKETVER == 20111102
- packetKeys(0x5324329D,0x5D545D52,0x06137269);
+ packetKeys(0x5324329d,0x5d545d52,0x06137269);
#endif
// 2011-11-08aRagexe, 2011-11-08aRagexeRE, 2011-11-09aRagexe, 2011-11-09aRagexeRE, 2011-11-09bRagexe, 2011-11-09cRagexe, 2011-11-09dRagexe, 2011-11-09eRagexe
#if PACKETVER == 20111108 || \
PACKETVER == 20111109
- packetKeys(0x0B642BDA,0x6ECB1D1C,0x61C7454B);
+ packetKeys(0x0b642bda,0x6ecb1d1c,0x61c7454b);
#endif
// 2011-11-14aRagexe, 2011-11-14aRagexeRE, 2011-11-16aRagexe, 2011-11-16aRagexeRE
#if PACKETVER == 20111114 || \
PACKETVER == 20111116
- packetKeys(0x419D0DB0,0x74916BF4,0x027371B4);
+ packetKeys(0x419d0db0,0x74916bf4,0x027371b4);
#endif
// 2011-11-22aRagexe, 2011-11-22aRagexeRE, 2011-11-23aRagexe
#if PACKETVER == 20111122 || \
PACKETVER == 20111123
- packetKeys(0x3B550F07,0x1F666C7C,0x60304EF5);
+ packetKeys(0x3b550f07,0x1f666c7c,0x60304ef5);
#endif
// 2011-12-07aRagexe, 2011-12-07aRagexeRE
#if PACKETVER == 20111207
- packetKeys(0x2A610886,0x3E09165E,0x57C11888);
+ packetKeys(0x2a610886,0x3e09165e,0x57c11888);
#endif
// 2011-12-13aRagexe, 2011-12-13aRagexeRE, 2011-12-14aRagexe, 2011-12-14aRagexeRE, 2011-12-14bRagexeRE, 2011-12-14cRagexeRE
#if PACKETVER == 20111213 || \
PACKETVER == 20111214
- packetKeys(0x5151306B,0x7AE32886,0x53060628);
+ packetKeys(0x5151306b,0x7ae32886,0x53060628);
#endif
// 2011-12-20bRagexe, 2011-12-20bRagexeRE
#if PACKETVER == 20111220
- packetKeys(0x05D53871,0x7D0027B4,0x29975333);
+ packetKeys(0x05d53871,0x7d0027b4,0x29975333);
#endif
// 2011-12-27aRagexe, 2011-12-27aRagexeRE, 2011-12-28aRagexe, 2011-12-28aRagexeRE
#if PACKETVER == 20111227 || \
PACKETVER == 20111228
- packetKeys(0x0FF87E93,0x6CFF7860,0x3A3D1DEC);
+ packetKeys(0x0ff87e93,0x6cff7860,0x3a3d1dec);
#endif
// 2012-01-03aRagexe, 2012-01-03bRagexeRE, 2012-01-04aRagexe, 2012-01-04aRagexeRE, 2012-01-04bRagexe
#if PACKETVER == 20120103 || \
PACKETVER == 20120104
- packetKeys(0x262034A1,0x674542A5,0x73A50BA5);
+ packetKeys(0x262034a1,0x674542a5,0x73a50ba5);
#endif
// 2012-01-10aRagexeRE, 2012-01-10bRagexe
#if PACKETVER == 20120110
- packetKeys(0x2B412AFC,0x4FF94487,0x6705339D);
+ packetKeys(0x2b412afc,0x4ff94487,0x6705339d);
#endif
// 2012-01-17aRagexe, 2012-01-17aRagexeRE, 2012-01-18aRagexe
#if PACKETVER == 20120117 || \
PACKETVER == 20120118
- packetKeys(0x24E32C2E,0x48DD17A5,0x64F8771A);
+ packetKeys(0x24e32c2e,0x48dd17a5,0x64f8771a);
#endif
// 2012-01-20aRagexe, 2012-01-20aRagexeRE
#if PACKETVER == 20120120
- packetKeys(0x504345D0,0x3D427B1B,0x794C2DCC);
+ packetKeys(0x504345d0,0x3d427b1b,0x794c2dcc);
#endif
// 2012-01-31aRagexe, 2012-01-31cRagexeRE, 2012-02-01aRagexeRE, 2012-02-02aRagexe, 2012-02-02aRagexeRE, 2012-02-02bRagexe, 2012-02-02bRagexeRE
#if PACKETVER == 20120131 || \
PACKETVER == 20120201 || \
PACKETVER == 20120202
- packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0);
+ packetKeys(0x2cfc0a71,0x2ba91d8d,0x087e39e0);
#endif
// 2012-02-07bRagexe, 2012-02-07bRagexeRE, 2012-02-08aRagexe, 2012-02-09aRagexe
#if PACKETVER == 20120207 || \
PACKETVER == 20120208 || \
PACKETVER == 20120209
- packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D);
+ packetKeys(0x1d373f5d,0x5acd604d,0x1c4d7c4d);
#endif
// 2012-02-14bRagexe, 2012-02-14bRagexeRE, 2012-02-15aRagexe
#if PACKETVER == 20120214 || \
PACKETVER == 20120215
- packetKeys(0x7A255EFA,0x30977276,0x2D4A0448);
+ packetKeys(0x7a255efa,0x30977276,0x2d4a0448);
#endif
// 2012-02-21aRagexe, 2012-02-21aRagexeRE, 2012-02-22aRagexe, 2012-02-22aRagexeRE
#if PACKETVER == 20120221 || \
PACKETVER == 20120222
- packetKeys(0x1CA5130F,0x43ED240A,0x7FEA3BE0);
+ packetKeys(0x1ca5130f,0x43ed240a,0x7fea3be0);
#endif
// 2012-02-28bRagexe, 2012-02-28bRagexeRE, 2012-02-29aRagexe, 2012-02-29aRagexeRE
#if PACKETVER == 20120228 || \
PACKETVER == 20120229
- packetKeys(0x520B4C64,0x2800407D,0x47651458);
+ packetKeys(0x520b4c64,0x2800407d,0x47651458);
#endif
// 2012-03-07aRagexe, 2012-03-07aRagexeRE, 2012-03-07bRagexe, 2012-03-07bRagexeRE, 2012-03-07cRagexe, 2012-03-07cRagexeRE, 2012-03-07dRagexe, 2012-03-07dRagexeRE, 2012-03-07eRagexeRE, 2012-03-07fRagexeRE
#if PACKETVER == 20120307
- packetKeys(0x382A6DEF,0x5CBE7202,0x61F46637);
+ packetKeys(0x382a6def,0x5cbe7202,0x61f46637);
#endif
// 2012-03-14aRagexe, 2012-03-14aRagexeRE, 2012-03-14bRagexe, 2012-03-14bRagexeRE, 2012-03-14cRagexe, 2012-03-14cRagexeRE
#if PACKETVER == 20120314
- packetKeys(0x689C1729,0x11812639,0x60F82967);
+ packetKeys(0x689c1729,0x11812639,0x60f82967);
#endif
// 2012-03-20aRagexe, 2012-03-20aRagexeRE, 2012-03-21aRagexeRE
#if PACKETVER == 20120320 || \
PACKETVER == 20120321
- packetKeys(0x21F9683F,0x710C5CA5,0x1FD910E9);
+ packetKeys(0x21f9683f,0x710c5ca5,0x1fd910e9);
#endif
// 2012-03-28aRagexe, 2012-03-28aRagexeRE, 2012-03-28bRagexe, 2012-03-28bRagexeRE, 2012-03-28cRagexe, 2012-03-28cRagexeRE, 2012-03-28dRagexe, 2012-03-28dRagexeRE, 2012-03-28eRagexeRE, 2012-03-28fRagexeRE, 2012-03-28gRagexeRE
#if PACKETVER == 20120328
- packetKeys(0x75B8553B,0x37F20B12,0x385C2B40);
+ packetKeys(0x75b8553b,0x37f20b12,0x385c2b40);
#endif
// 2012-04-04aRagexe, 2012-04-04aRagexeRE
#if PACKETVER == 20120404
- packetKeys(0x0036310C,0x2DCD0BED,0x1EE62A78);
+ packetKeys(0x0036310c,0x2dcd0bed,0x1ee62a78);
#endif
// 2012-04-10aRagexe, 2012-04-10aRagexeRE
#if PACKETVER == 20120410
- packetKeys(0x01581359,0x452D6FFA,0x6AFB6E2E);
+ packetKeys(0x01581359,0x452d6ffa,0x6afb6e2e);
#endif
// 2012-04-17aRagexe, 2012-04-17aRagexeRE, 2012-04-18aRagexeRE
#if PACKETVER == 20120417 || \
PACKETVER == 20120418
- packetKeys(0x01540E48,0x13041224,0x31247924);
+ packetKeys(0x01540e48,0x13041224,0x31247924);
#endif
// 2012-04-24aRagexe, 2012-04-24aRagexeRE
#if PACKETVER == 20120424
- packetKeys(0x411D1DBB,0x4CBA4848,0x1A432FC4);
+ packetKeys(0x411d1dbb,0x4cba4848,0x1a432fc4);
#endif
// 2012-05-02aRagexeRE, 2012-05-03aRagexe, 2012-05-03aRagexeRE, 2012-05-03bRagexe
#if PACKETVER == 20120502 || \
PACKETVER == 20120503
- packetKeys(0x37A91D19,0x10190019,0x00190019);
+ packetKeys(0x37a91d19,0x10190019,0x00190019);
#endif
// 2012-05-08aRagexe, 2012-05-08aRagexeRE, 2012-05-09aRagexeRE, 2012-05-09bRagexeRE
#if PACKETVER == 20120508 || \
PACKETVER == 20120509
- packetKeys(0x16CF3301,0x1F472B9B,0x0B4A3CD2);
+ packetKeys(0x16cf3301,0x1f472b9b,0x0b4a3cd2);
#endif
// 2012-05-15aRagexe, 2012-05-15aRagexeRE
#if PACKETVER == 20120515
- packetKeys(0x4A715EF9,0x79103E4F,0x405C1238);
+ packetKeys(0x4a715ef9,0x79103e4f,0x405c1238);
#endif
// 2012-05-22aRagexe, 2012-05-23aRagexe, 2012-05-23aRagexeRE, 2012-05-23bRagexeRE, 2012-05-25aRagexeRE
#if PACKETVER == 20120522 || \
PACKETVER == 20120523 || \
PACKETVER == 20120525
- packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08);
+ packetKeys(0x70eb4ccb,0x0487713c,0x398d4b08);
#endif
// 2012-05-29bRagexe, 2012-05-29bRagexeRE
#if PACKETVER == 20120529
- packetKeys(0x53415DDE,0x34953E16,0x27623DF2);
+ packetKeys(0x53415dde,0x34953e16,0x27623df2);
#endif
// 2012-06-01aRagexeRE, 2012-06-04aRagexe, 2012-06-05aRagexeRE
#if PACKETVER == 20120601 || \
PACKETVER == 20120604 || \
PACKETVER == 20120605
- packetKeys(0x68CA3080,0x31B74BDD,0x505208F1);
+ packetKeys(0x68ca3080,0x31b74bdd,0x505208f1);
#endif
// 2012-06-12aRagexe, 2012-06-12aRagexeRE
#if PACKETVER == 20120612
- packetKeys(0x32E45D64,0x35643564,0x35643564);
+ packetKeys(0x32e45d64,0x35643564,0x35643564);
#endif
// 2012-06-18aRagexe, 2012-06-18aRagexeRE
#if PACKETVER == 20120618
- packetKeys(0x261F261F,0x261F261F,0x261F261F);
+ packetKeys(0x261f261f,0x261f261f,0x261f261f);
#endif
// 2012-06-26aRagexe, 2012-06-26aRagexeRE, 2012-06-27aRagexe, 2012-06-27aRagexeRE
#if PACKETVER == 20120626 || \
PACKETVER == 20120627
- packetKeys(0x02277E66,0x045723F1,0x7107392C);
+ packetKeys(0x02277e66,0x045723f1,0x7107392c);
#endif
// 2012-07-02aRagexe, 2012-07-02aRagexeRE
#if PACKETVER == 20120702
- packetKeys(0x25733B31,0x53486CFD,0x398649BD);
+ packetKeys(0x25733b31,0x53486cfd,0x398649bd);
#endif
// 2012-07-10aRagexe, 2012-07-10aRagexeRE, 2012-07-12aRagexe, 2012-07-12aRagexeRE
#if PACKETVER == 20120710 || \
PACKETVER == 20120712
- packetKeys(0x0E8B7AFB,0x6930362D,0x42D33A57);
+ packetKeys(0x0e8b7afb,0x6930362d,0x42d33a57);
#endif
// 2012-07-16aRagexe, 2012-07-16aRagexeRE
@@ -505,486 +654,453 @@
// 2012-07-24aRagexe, 2012-07-24aRagexeRE
#if PACKETVER == 20120724
- packetKeys(0x783D5BC6,0x3AAC2176,0x66616F02);
+ packetKeys(0x783d5bc6,0x3aac2176,0x66616f02);
#endif
// 2012-08-01aRagexe, 2012-08-01aRagexeRE, 2012-08-01bRagexe, 2012-08-01bRagexeRE
#if PACKETVER == 20120801
- packetKeys(0x71FB6768,0x5843166B,0x6CB445C6);
+ packetKeys(0x71fb6768,0x5843166b,0x6cb445c6);
#endif
// 2012-08-08aRagexe, 2012-08-08aRagexeRE, 2012-08-08bRagexe, 2012-08-08bRagexeRE, 2012-08-08cRagexe, 2012-08-08cRagexeRE, 2012-08-08dRagexeRE
#if PACKETVER == 20120808
- packetKeys(0x5D5068BB,0x36732065,0x47CF7367);
+ packetKeys(0x5d5068bb,0x36732065,0x47cf7367);
#endif
// 2012-08-14aRagexe, 2012-08-14aRagexeRE, 2012-08-14bRagexe, 2012-08-14bRagexeRE
#if PACKETVER == 20120814
- packetKeys(0x203E21BD,0x047459FB,0x56AF5A97);
+ packetKeys(0x203e21bd,0x047459fb,0x56af5a97);
#endif
// 2012-08-22aRagexe, 2012-08-22aRagexeRE, 2012-08-22bRagexe, 2012-08-22bRagexeRE, 2012-08-22cRagexe, 2012-08-22cRagexeRE
#if PACKETVER == 20120822
- packetKeys(0x06A92E7B,0x3D324F29,0x5FD63004);
+ packetKeys(0x06a92e7b,0x3d324f29,0x5fd63004);
#endif
// 2012-08-30aRagexe, 2012-08-30aRagexeRE, 2012-08-30bRagexeRE
#if PACKETVER == 20120830
- packetKeys(0x0AF1363D,0x4AB33E3B,0x48421DBE);
+ packetKeys(0x0af1363d,0x4ab33e3b,0x48421dbe);
#endif
// 2012-09-05aRagexe, 2012-09-05aRagexeRE
#if PACKETVER == 20120905
- packetKeys(0x04F50D80,0x092F5C4D,0x29BF3DCF);
+ packetKeys(0x04f50d80,0x092f5c4d,0x29bf3dcf);
#endif
// 2012-09-11aRagexe, 2012-09-11aRagexeRE
#if PACKETVER == 20120911
- packetKeys(0x1F3D1145,0x02DB3C32,0x4BE34C49);
+ packetKeys(0x1f3d1145,0x02db3c32,0x4be34c49);
#endif
// 2012-09-19aRagexe, 2012-09-19aRagexeRE
#if PACKETVER == 20120919
- packetKeys(0x72E00F24,0x4EA02D80,0x7C803480);
+ packetKeys(0x72e00f24,0x4ea02d80,0x7c803480);
#endif
// 2012-09-25aRagexe, 2012-09-25aRagexeRE, 2012-09-26aRagexe, 2012-09-26aRagexeRE
#if PACKETVER == 20120925 || \
PACKETVER == 20120926
- packetKeys(0x43A66E22,0x36C2229F,0x08172ECE);
+ packetKeys(0x43a66e22,0x36c2229f,0x08172ece);
#endif
// 2012-10-10aRagexe, 2012-10-10aRagexeRE, 2012-10-10bRagexe, 2012-10-10bRagexeRE, 2012-10-11aRagexeRE
#if PACKETVER == 20121010 || \
PACKETVER == 20121011
- packetKeys(0x169733E2,0x4C4640DC,0x31636531);
+ packetKeys(0x169733e2,0x4c4640dc,0x31636531);
#endif
// 2012-10-17aRagexe, 2012-10-17aRagexeRE, 2012-10-17bRagexe, 2012-10-17bRagexeRE
#if PACKETVER == 20121017
- packetKeys(0x340C0C31,0x33205EA8,0x55964BFF);
+ packetKeys(0x340c0c31,0x33205ea8,0x55964bff);
#endif
// 2012-10-24aRagexe, 2012-10-24aRagexeRE
#if PACKETVER == 20121024
- packetKeys(0x6166335C,0x45393483,0x7EDC5478);
+ packetKeys(0x6166335c,0x45393483,0x7edc5478);
#endif
// 2012-10-31aRagexe, 2012-10-31aRagexeRE
#if PACKETVER == 20121031
- packetKeys(0x66EB7ADB,0x242864BB,0x354A4CDE);
+ packetKeys(0x66eb7adb,0x242864bb,0x354a4cde);
#endif
// 2012-11-07aRagexe, 2012-11-07aRagexeRE
#if PACKETVER == 20121107
- packetKeys(0x49967892,0x48025276,0x1E192CA3);
+ packetKeys(0x49967892,0x48025276,0x1e192ca3);
#endif
// 2012-11-14aRagexe, 2012-11-14aRagexeRE
#if PACKETVER == 20121114
- packetKeys(0x3473545C,0x2706445C,0x79647616);
+ packetKeys(0x3473545c,0x2706445c,0x79647616);
#endif
// 2012-11-21aRagexe, 2012-11-21aRagexeRE
#if PACKETVER == 20121121
- packetKeys(0x6EB54B0B,0x3F2A6BE5,0x0B2866E6);
+ packetKeys(0x6eb54b0b,0x3f2a6be5,0x0b2866e6);
#endif
// 2012-11-28aRagexe, 2012-11-28aRagexeRE
#if PACKETVER == 20121128
- packetKeys(0x146D4D5E,0x5C3D161B,0x759250B8);
+ packetKeys(0x146d4d5e,0x5c3d161b,0x759250b8);
#endif
// 2012-12-05aRagexe, 2012-12-05aRagexeRE, 2012-12-05bRagexe, 2012-12-05bRagexeRE
#if PACKETVER == 20121205
- packetKeys(0x218C64B6,0x4EFE17AE,0x27EA5E74);
+ packetKeys(0x218c64b6,0x4efe17ae,0x27ea5e74);
#endif
// 2012-12-12aRagexe, 2012-12-12aRagexeRE, 2012-12-12bRagexe, 2012-12-12bRagexeRE, 2012-12-12cRagexeRE
#if PACKETVER == 20121212
- packetKeys(0x7F8026F0,0x32EE2A4B,0x73746C0E);
+ packetKeys(0x7f8026f0,0x32ee2a4b,0x73746c0e);
#endif
// 2012-12-18aRagexe, 2012-12-18aRagexeRE, 2012-12-18bRagexe, 2012-12-18bRagexeRE
#if PACKETVER == 20121218
- packetKeys(0x6A5450A2,0x4322498A,0x2C6574FB);
+ packetKeys(0x6a5450a2,0x4322498a,0x2c6574fb);
#endif
// 2012-12-27aRagexe, 2012-12-27aRagexeRE
#if PACKETVER == 20121227
- packetKeys(0x71773018,0x36A14EEB,0x28CD5A20);
+ packetKeys(0x71773018,0x36a14eeb,0x28cd5a20);
#endif
// 2013-01-03aRagexe, 2013-01-03aRagexeRE, 2013-01-07aRagexe
#if PACKETVER == 20130103 || \
PACKETVER == 20130107
- packetKeys(0x1E1A559A,0x199A799A,0x799A799A);
+ packetKeys(0x1e1a559a,0x199a799a,0x799a799a);
#endif
// 2013-01-09aRagexe, 2013-01-09aRagexeRE
#if PACKETVER == 20130109
- packetKeys(0x6435360F,0x0A283678,0x64A04AC7);
+ packetKeys(0x6435360f,0x0a283678,0x64a04ac7);
#endif
// 2013-01-15aRagexeRE, 2013-01-15bRagexe, 2013-01-16aRagexe, 2013-01-16aRagexeRE, 2013-01-16bRagexe
#if PACKETVER == 20130115 || \
PACKETVER == 20130116
- packetKeys(0x273C25CD,0x06AA48AF,0x45A01BD4);
+ packetKeys(0x273c25cd,0x06aa48af,0x45a01bd4);
#endif
// 2013-01-21aRagexe, 2013-01-21aRagexeRE
#if PACKETVER == 20130121
- packetKeys(0x5DD874B0,0x7D98233F,0x28FF5566);
+ packetKeys(0x5dd874b0,0x7d98233f,0x28ff5566);
#endif
// 2013-01-30aRagexe, 2013-01-30aRagexeRE
#if PACKETVER == 20130130
- packetKeys(0x1EA57961,0x27786856,0x30301FA0);
+ packetKeys(0x1ea57961,0x27786856,0x30301fa0);
#endif
// 2013-02-06aRagexe, 2013-02-06aRagexeRE
#if PACKETVER == 20130206
- packetKeys(0x1D8F4227,0x675812AA,0x29132929);
+ packetKeys(0x1d8f4227,0x675812aa,0x29132929);
#endif
// 2013-02-15aRagexe, 2013-02-15aRagexeRE, 2013-02-15bRagexe
#if PACKETVER == 20130215
- packetKeys(0x69FB1C38,0x7D386860,0x62805311);
+ packetKeys(0x69fb1c38,0x7d386860,0x62805311);
#endif
// 2013-02-20aRagexe, 2013-02-20bRagexeRE
#if PACKETVER == 20130220
- packetKeys(0x0D555256,0x28C26722,0x72220A22);
+ packetKeys(0x0d555256,0x28c26722,0x72220a22);
#endif
// 2013-02-27aRagexe, 2013-02-27aRagexeRE
#if PACKETVER == 20130227
- packetKeys(0x44F86842,0x43786A7A,0x71654528);
+ packetKeys(0x44f86842,0x43786a7a,0x71654528);
#endif
// 2013-03-06aRagexe, 2013-03-06aRagexeRE, 2013-03-06bRagexeRE
#if PACKETVER == 20130306
- packetKeys(0x7E274326,0x7D182DF2,0x4FC27DFA);
+ packetKeys(0x7e274326,0x7d182df2,0x4fc27dfa);
#endif
// 2013-03-13aRagexe, 2013-03-13aRagexeRE, 2013-03-13bRagexeRE, 2013-03-13cRagexeRE
#if PACKETVER == 20130313
- packetKeys(0x560021C3,0x6A5D110F,0x52BD40A5);
+ packetKeys(0x560021c3,0x6a5d110f,0x52bd40a5);
#endif
// 2013-03-20bRagexeRE, 2013-03-20cRagexeRE, 2013-03-20dRagexe, 2013-03-20eRagexe
#if PACKETVER == 20130320
- packetKeys(0x3F094C49,0x55F86C1E,0x58AA359A);
+ packetKeys(0x3f094c49,0x55f86c1e,0x58aa359a);
#endif
// 2013-03-27bRagexe, 2013-03-27bRagexeRE
#if PACKETVER == 20130327
- packetKeys(0x114B1BA0,0x2C4F0AE2,0x5FA1183F);
+ packetKeys(0x114b1ba0,0x2c4f0ae2,0x5fa1183f);
#endif
// 2013-04-03aRagexe, 2013-04-03aRagexeRE
#if PACKETVER == 20130403
- packetKeys(0x424A43AE,0x4A9D5EBE,0x4B3518A9);
+ packetKeys(0x424a43ae,0x4a9d5ebe,0x4b3518a9);
#endif
// 2013-04-10aRagexe, 2013-04-10aRagexeRE
#if PACKETVER == 20130410
- packetKeys(0x3AD52ACA,0x314D1AED,0x086E415E);
+ packetKeys(0x3ad52aca,0x314d1aed,0x086e415e);
#endif
// 2013-04-17aRagexe, 2013-04-17aRagexeRE
#if PACKETVER == 20130417
- packetKeys(0x7FB13B83,0x6E003749,0x07A02B94);
+ packetKeys(0x7fb13b83,0x6e003749,0x07a02b94);
#endif
// 2013-04-24aRagexe, 2013-04-24aRagexeRE
#if PACKETVER == 20130424
- packetKeys(0x79F679F6,0x79F679F6,0x79F679F6);
+ packetKeys(0x79f679f6,0x79f679f6,0x79f679f6);
#endif
// 2013-05-02aRagexe, 2013-05-02aRagexeRE, 2013-05-02bRagexe
#if PACKETVER == 20130502
- packetKeys(0x62E733B9,0x62204281,0x7F044DCA);
+ packetKeys(0x62e733b9,0x62204281,0x7f044dca);
#endif
// 2013-05-08bRagexe, 2013-05-08bRagexeRE, 2013-05-08cRagexe, 2013-05-08dRagexe, 2013-05-08eRagexe, 2013-05-08fRagexe
#if PACKETVER == 20130508
- packetKeys(0x25421E49,0x175200BA,0x6C0B5239);
+ packetKeys(0x25421e49,0x175200ba,0x6c0b5239);
#endif
// 2013-05-15aRagexe, 2013-05-15aRagexeRE
#if PACKETVER == 20130515
- packetKeys(0x75794A38,0x58A96BC1,0x296E6FB8);
+ packetKeys(0x75794a38,0x58a96bc1,0x296e6fb8);
#endif
// 2013-05-22aRagexe, 2013-05-22aRagexeRE
#if PACKETVER == 20130522
- packetKeys(0x6948050B,0x06511D9D,0x725D4DF1);
+ packetKeys(0x6948050b,0x06511d9d,0x725d4df1);
#endif
// 2013-05-29aRagexe, 2013-05-29aRagexeRE
#if PACKETVER == 20130529
- packetKeys(0x023A6C87,0x14BF1F1E,0x5CC70CC9);
+ packetKeys(0x023a6c87,0x14bf1f1e,0x5cc70cc9);
#endif
// 2013-06-05aRagexe, 2013-06-05bRagexe, 2013-06-05cRagexeRE
#if PACKETVER == 20130605
- packetKeys(0x646E08D9,0x5F153AB5,0x61B509B5);
+ packetKeys(0x646e08d9,0x5f153ab5,0x61b509b5);
#endif
// 2013-06-12aRagexe, 2013-06-12bRagexe, 2013-06-12bRagexeRE, 2013-06-12cRagexe, 2013-06-12dRagexe, 2013-06-12eRagexe
#if PACKETVER == 20130612
- packetKeys(0x6D166F66,0x3C000FCF,0x295B0FCB);
+ packetKeys(0x6d166f66,0x3c000fcf,0x295b0fcb);
#endif
// 2013-06-18#1aRagexe, 2013-06-18#1aRagexeRE
#if PACKETVER == 20130618
- packetKeys(0x434115DE,0x34A10FE9,0x6791428E);
+ packetKeys(0x434115de,0x34a10fe9,0x6791428e);
#endif
// 2013-06-26_3bRagexeRE, 2013-06-26_3cRagexe, 2013-06-26aRagexeRE, 2013-06-26bRagexe
#if PACKETVER == 20130626
- packetKeys(0x38F453EF,0x6A040FD8,0x65BD6668);
+ packetKeys(0x38f453ef,0x6a040fd8,0x65bd6668);
#endif
// 2013-07-03aRagexe, 2013-07-03bRagexeRE
#if PACKETVER == 20130703
- packetKeys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA);
+ packetKeys(0x4ff90e23,0x0f1432f2,0x4cfa1eda);
#endif
// 2013-07-10aRagexeRE, 2013-07-10bRagexe, 2013-07-10bRagexeRE, 2013-07-10cRagexeRE, 2013-07-10dRagexeRE, 2013-07-10eRagexeRE
#if PACKETVER == 20130710
- packetKeys(0x4A9C4237,0x4CCF3F8F,0x458F758F);
+ packetKeys(0x4a9c4237,0x4ccf3f8f,0x458f758f);
#endif
// 2013-07-17cRagexe, 2013-07-17cRagexeRE, 2013-07-17dRagexeRE, 2013-07-17eRagexeRE
#if PACKETVER == 20130717
- packetKeys(0x5EE5520C,0x5F9E00CF,0x2BED4F91);
+ packetKeys(0x5ee5520c,0x5f9e00cf,0x2bed4f91);
#endif
// 2013-07-24eRagexe, 2013-07-24eRagexeRE, 2013-07-24fRagexeRE
#if PACKETVER == 20130724
- packetKeys(0x3C243BF5,0x42CC4E2F,0x02106EC6);
+ packetKeys(0x3c243bf5,0x42cc4e2f,0x02106ec6);
#endif
// 2013-07-31cRagexe, 2013-07-31cRagexeRE
#if PACKETVER == 20130731
- packetKeys(0x1E9D11A6,0x21A232B8,0x6A9E02B7);
+ packetKeys(0x1e9d11a6,0x21a232b8,0x6a9e02b7);
#endif
// 2013-08-07aRagexe, 2013-08-07aRagexeRE
#if PACKETVER == 20130807
- packetKeys(0x7E241DE0,0x5E805580,0x3D807D80);
+ packetKeys(0x7e241de0,0x5e805580,0x3d807d80);
#endif
// 2013-08-14aRagexe, 2013-08-14aRagexeRE
#if PACKETVER == 20130814
- packetKeys(0x23A23148,0x0C41420E,0x53785AD7);
+ packetKeys(0x23a23148,0x0c41420e,0x53785ad7);
#endif
// 2013-08-21bRagexe, 2013-08-21dRagexeRE
#if PACKETVER == 20130821
- packetKeys(0x51673F38,0x01663512,0x5CFF0B3D);
+ packetKeys(0x51673f38,0x01663512,0x5cff0b3d);
#endif
// 2013-08-28bRagexe, 2013-08-28bRagexeRE, 2013-08-28cRagexe, 2013-08-28cRagexeRE
#if PACKETVER == 20130828
- packetKeys(0x02EF7A9A,0x4882042F,0x76796678);
+ packetKeys(0x02ef7a9a,0x4882042f,0x76796678);
#endif
// 2013-09-04aRagexe, 2013-09-04bRagexeRE
#if PACKETVER == 20130904
- packetKeys(0x41AF20C5,0x0997799E,0x4AE803A0);
+ packetKeys(0x41af20c5,0x0997799e,0x4ae803a0);
#endif
// 2013-09-11aRagexe, 2013-09-11aRagexeRE, 2013-09-11bRagexe, 2013-09-11bRagexeRE
#if PACKETVER == 20130911
- packetKeys(0x232B3F47,0x0AD0515F,0x1CA31828);
+ packetKeys(0x232b3f47,0x0ad0515f,0x1ca31828);
#endif
// 2013-09-17aRagexe, 2013-09-17aRagexeRE
#if PACKETVER == 20130917
- packetKeys(0x5C9164C5,0x32B62F83,0x52864548);
+ packetKeys(0x5c9164c5,0x32b62f83,0x52864548);
#endif
// 2013-09-25aRagexe, 2013-09-25aRagexeRE, 2013-09-25bRagexe, 2013-09-25bRagexeRE, 2013-09-25cRagexe
#if PACKETVER == 20130925
- packetKeys(0x4B9C279A,0x0C7849C4,0x72A77646);
+ packetKeys(0x4b9c279a,0x0c7849c4,0x72a77646);
#endif
// 2013-10-02aRagexe, 2013-10-02aRagexeRE
#if PACKETVER == 20131002
- packetKeys(0x63A466F7,0x635362F3,0x41F369F3);
+ packetKeys(0x63a466f7,0x635362f3,0x41f369f3);
#endif
// 2013-10-08aRagexe, 2013-10-08bRagexeRE
#if PACKETVER == 20131008
- packetKeys(0x64924AAD,0x08CA0445,0x1CBC36DE);
+ packetKeys(0x64924aad,0x08ca0445,0x1cbc36de);
#endif
// 2013-10-16aRagexe, 2013-10-16aRagexeRE, 2013-10-16bRagexe, 2013-10-16bRagexeRE
#if PACKETVER == 20131016
- packetKeys(0x33AD7A93,0x720C7C49,0x12C4205A);
+ packetKeys(0x33ad7a93,0x720c7c49,0x12c4205a);
#endif
// 2013-10-23aRagexe, 2013-10-23aRagexeRE
#if PACKETVER == 20131023
- packetKeys(0x02EF6163,0x2B774814,0x58EC3036);
+ packetKeys(0x02ef6163,0x2b774814,0x58ec3036);
#endif
// 2013-10-30aRagexe, 2013-10-30aRagexeRE
#if PACKETVER == 20131030
- packetKeys(0x4A6A3EFF,0x7E2D5237,0x01CA019E);
+ packetKeys(0x4a6a3eff,0x7e2d5237,0x01ca019e);
#endif
// 2013-11-06aRagexe, 2013-11-06aRagexeRE, 2013-11-07aRagexe, 2013-11-07bRagexe, 2013-11-07cRagexe, 2013-11-08aRagexe
#if PACKETVER == 20131106 || \
PACKETVER == 20131107 || \
PACKETVER == 20131108
- packetKeys(0x143E528F,0x5CA05899,0x44B85B23);
+ packetKeys(0x143e528f,0x5ca05899,0x44b85b23);
#endif
// 2013-11-13aRagexeRE, 2013-11-13bRagexe
#if PACKETVER == 20131113
- packetKeys(0x44EA14CD,0x49311C88,0x40C86C31);
+ packetKeys(0x44ea14cd,0x49311c88,0x40c86c31);
#endif
// 2013-11-20dRagexe, 2013-11-20eRagexeRE
#if PACKETVER == 20131120
- packetKeys(0x541E5172,0x1B1D30A0,0x28AA7CE5);
+ packetKeys(0x541e5172,0x1b1d30a0,0x28aa7ce5);
#endif
// 2013-11-27aRagexeRE, 2013-11-27bRagexe, 2013-11-27bRagexeRE
#if PACKETVER == 20131127
- packetKeys(0x21426A48,0x5C505D6A,0x046D06AD);
+ packetKeys(0x21426a48,0x5c505d6a,0x046d06ad);
#endif
// 2013-12-04dRagexeRE, 2013-12-04eRagexe, 2013-12-04eRagexeRE
#if PACKETVER == 20131204
- packetKeys(0x792760B2,0x5AF45387,0x36165603);
+ packetKeys(0x792760b2,0x5af45387,0x36165603);
#endif
// 2013-12-11cRagexe, 2013-12-11cRagexeRE, 2013-12-11dRagexe, 2013-12-11eRagexeRE
#if PACKETVER == 20131211
- packetKeys(0x55B0394E,0x4D341FF2,0x60BC1DC3);
+ packetKeys(0x55b0394e,0x4d341ff2,0x60bc1dc3);
#endif
// 2013-12-18aRagexeRE, 2013-12-18bRagexe
#if PACKETVER == 20131218
- packetKeys(0x6A596301,0x76866D0E,0x32294A45);
-#endif
-
-// 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE
-#if PACKETVER == 20131223 || \
- PACKETVER == 20140508 || \
- PACKETVER == 20140611 || \
- PACKETVER == 20150225 || \
- PACKETVER == 20180315 || \
- PACKETVER == 20180321 || \
- PACKETVER == 20180328 || \
- PACKETVER == 20180404 || \
- PACKETVER == 20180418 || \
- PACKETVER == 20180425 || \
- PACKETVER == 20180502 || \
- PACKETVER == 20180509 || \
- PACKETVER == 20180516 || \
- PACKETVER == 20180523 || \
- PACKETVER == 20180530 || \
- PACKETVER == 20180605 || \
- PACKETVER == 20180612 || \
- PACKETVER == 20180620 || \
- PACKETVER == 20180621 || \
- PACKETVER == 20180704 || \
- PACKETVER == 20180711 || \
- PACKETVER == 20180718 || \
- PACKETVER == 20180801 || \
- PACKETVER == 20180808 || \
- PACKETVER == 20180822 || \
- PACKETVER == 20180829 || \
- PACKETVER == 20180831 || \
- PACKETVER == 20180912 || \
- PACKETVER >= 20180919
- packetKeys(0x00000000,0x00000000,0x00000000);
+ packetKeys(0x6a596301,0x76866d0e,0x32294a45);
#endif
// 2013-12-23bRagexe, 2013-12-23bRagexeRE, 2013-12-23cRagexe, 2013-12-23xRagexeRE
#if PACKETVER == 20131223
- packetKeys(0x631C511C,0x111C111C,0x111C111C);
+ packetKeys(0x631c511c,0x111c111c,0x111c111c);
#endif
// 2013-12-30aRagexe, 2013-12-30aRagexeRE
#if PACKETVER == 20131230
- packetKeys(0x611B7097,0x01F957A1,0x768A0FCB);
+ packetKeys(0x611b7097,0x01f957a1,0x768a0fcb);
#endif
// 2014-01-08bRagexeRE, 2014-01-08cRagexe, 2014-01-08cRagexeRE, 2014-01-08dRagexe
#if PACKETVER == 20140108
- packetKeys(0x4A1E26F2,0x231E7EFE,0x61FE19FE);
+ packetKeys(0x4a1e26f2,0x231e7efe,0x61fe19fe);
#endif
// 2014-01-15aRagexe, 2014-01-15bRagexe, 2014-01-15cRagexe, 2014-01-15cRagexeRE, 2014-01-15dRagexeRE, 2014-01-15eRagexe, 2014-01-15eRagexeRE
#if PACKETVER == 20140115
- packetKeys(0x63224335,0x0F3A1F27,0x6D217B24);
+ packetKeys(0x63224335,0x0f3a1f27,0x6d217b24);
#endif
// 2014-01-22aRagexe, 2014-01-22aRagexeRE
#if PACKETVER == 20140122
- packetKeys(0x6123177B,0x05B42C99,0x71702594);
+ packetKeys(0x6123177b,0x05b42c99,0x71702594);
#endif
// 2014-01-29aRagexe, 2014-01-29bRagexeRE, 2014-01-29cRagexe
#if PACKETVER == 20140129
- packetKeys(0x2E52163C,0x605E518B,0x3C7A62CB);
+ packetKeys(0x2e52163c,0x605e518b,0x3c7a62cb);
#endif
// 2014-02-05bRagexe, 2014-02-05bRagexeRE
#if PACKETVER == 20140205
- packetKeys(0x63DC7BDC,0x7BDC7BDC,0x7BDC7BDC);
+ packetKeys(0x63dc7bdc,0x7bdc7bdc,0x7bdc7bdc);
#endif
// 2014-02-12aRagexe, 2014-02-12aRagexeRE
#if PACKETVER == 20140212
- packetKeys(0x46837074,0x65292E89,0x77237F9C);
+ packetKeys(0x46837074,0x65292e89,0x77237f9c);
#endif
// 2014-02-19aRagexe, 2014-02-19aRagexeRE, 2014-02-19bRagexeRE
#if PACKETVER == 20140219
- packetKeys(0x4E3C5327,0x3A6B5469,0x2CE36AED);
+ packetKeys(0x4e3c5327,0x3a6b5469,0x2ce36aed);
#endif
// 2014-02-26aRagexe, 2014-02-26aRagexeRE, 2014-02-26bRagexeRE
#if PACKETVER == 20140226
- packetKeys(0x36D71056,0x52122F5E,0x6FF76E99);
+ packetKeys(0x36d71056,0x52122f5e,0x6ff76e99);
#endif
// 2014-03-05aRagexe, 2014-03-05aRagexeRE, 2014-03-05bRagexe, 2014-03-05bRagexeRE
#if PACKETVER == 20140305
- packetKeys(0x116763F2,0x41117DAC,0x7FD13C45);
+ packetKeys(0x116763f2,0x41117dac,0x7fd13c45);
#endif
// 2014-03-12bRagexeRE, 2014-03-12dRagexe
#if PACKETVER == 20140312
- packetKeys(0x48911E4E,0x58CB2EB3,0x05232619);
+ packetKeys(0x48911e4e,0x58cb2eb3,0x05232619);
#endif
// 2014-03-19aRagexe, 2014-03-19aRagexeRE
#if PACKETVER == 20140319
- packetKeys(0x3DA44383,0x1ABB165F,0x5B6846B9);
+ packetKeys(0x3da44383,0x1abb165f,0x5b6846b9);
#endif
// 2014-03-26aRagexe, 2014-03-26cRagexeRE
#if PACKETVER == 20140326
- packetKeys(0x68E72AF6,0x27DB4C3D,0x348F2677);
+ packetKeys(0x68e72af6,0x27db4c3d,0x348f2677);
#endif
// 2014-04-02eRagexeRE, 2014-04-02fRagexe, 2014-04-02fRagexeRE, 2014-04-02gRagexe
#if PACKETVER == 20140402
- packetKeys(0x15D3271C,0x004D725B,0x111A3A37);
+ packetKeys(0x15d3271c,0x004d725b,0x111a3a37);
#endif
// 2014-04-09aRagexe, 2014-04-09aRagexeRE, 2014-04-09bRagexe
#if PACKETVER == 20140409
- packetKeys(0x7F6C390F,0x139C254C,0x7F25708C);
+ packetKeys(0x7f6c390f,0x139c254c,0x7f25708c);
#endif
// 2014-04-16aRagexe, 2014-04-16aRagexeRE, 2014-04-16bRagexe
@@ -994,464 +1110,464 @@
// 2014-04-23aRagexe, 2014-04-23aRagexeRE
#if PACKETVER == 20140423
- packetKeys(0x7E0D6B56,0x74673CD3,0x2EBA4940);
+ packetKeys(0x7e0d6b56,0x74673cd3,0x2eba4940);
#endif
// 2014-04-30aRagexe, 2014-04-30aRagexeRE
#if PACKETVER == 20140430
- packetKeys(0x400145D8,0x3FE50155,0x11624F70);
+ packetKeys(0x400145d8,0x3fe50155,0x11624f70);
#endif
// 2014-05-08bRagexe, 2014-05-08bRagexeRE
#if PACKETVER == 20140508
- packetKeys(0x087E57EC,0x25224F4A,0x024F12C6);
+ packetKeys(0x087e57ec,0x25224f4a,0x024f12c6);
#endif
// 2014-05-14bRagexe, 2014-05-14bRagexeRE, 2014-05-14cRagexeRE
#if PACKETVER == 20140514
- packetKeys(0x4BE46730,0x047926E0,0x37773BBB);
+ packetKeys(0x4be46730,0x047926e0,0x37773bbb);
#endif
// 2014-05-21aRagexeRE, 2014-05-21bRagexe
#if PACKETVER == 20140521
- packetKeys(0x14ED2D86,0x17371C33,0x2D0473C8);
+ packetKeys(0x14ed2d86,0x17371c33,0x2d0473c8);
#endif
// 2014-05-28aRagexe, 2014-05-28aRagexeRE
#if PACKETVER == 20140528
- packetKeys(0x579445EB,0x26734878,0x7C861628);
+ packetKeys(0x579445eb,0x26734878,0x7c861628);
#endif
// 2014-06-05aRagexe, 2014-06-05aRagexeRE, 2014-06-05bRagexe
#if PACKETVER == 20140605
- packetKeys(0x5ABC4223,0x04DD2636,0x0D5850E0);
+ packetKeys(0x5abc4223,0x04dd2636,0x0d5850e0);
#endif
// 2014-06-11bRagexeRE, 2014-06-11cRagexe, 2014-06-11dRagexe, 2014-06-11hRagexe, 2014-06-12aRagexe, 2014-06-13aRagexe
#if PACKETVER == 20140611 || \
PACKETVER == 20140612 || \
PACKETVER == 20140613
- packetKeys(0x4FC83479,0x3AB04D1F,0x477B4010);
+ packetKeys(0x4fc83479,0x3ab04d1f,0x477b4010);
#endif
// 2014-06-18aRagexe, 2014-06-18cRagexeRE
#if PACKETVER == 20140618
- packetKeys(0x2DB507BB,0x11BA12E7,0x7F447760);
+ packetKeys(0x2db507bb,0x11ba12e7,0x7f447760);
#endif
// 2014-06-25aRagexe, 2014-06-25aRagexeRE, 2014-06-25bRagexe
#if PACKETVER == 20140625
- packetKeys(0x09987045,0x644B1051,0x1A091CB8);
+ packetKeys(0x09987045,0x644b1051,0x1a091cb8);
#endif
// 2014-07-02aRagexe, 2014-07-02aRagexeRE
#if PACKETVER == 20140702
- packetKeys(0x5C4574F4,0x5D446386,0x48BD24C9);
+ packetKeys(0x5c4574f4,0x5d446386,0x48bd24c9);
#endif
// 2014-07-09aRagexe, 2014-07-09aRagexeRE
#if PACKETVER == 20140709
- packetKeys(0x2C7A6E92,0x324F1B85,0x29916FC2);
+ packetKeys(0x2c7a6e92,0x324f1b85,0x29916fc2);
#endif
// 2014-07-16aRagexe, 2014-07-16aRagexeRE, 2014-07-16bRagexe, 2014-07-16cRagexe
#if PACKETVER == 20140716
- packetKeys(0x0EB20408,0x6D6C4292,0x4F6E4CF3);
+ packetKeys(0x0eb20408,0x6d6c4292,0x4f6e4cf3);
#endif
// 2014-07-23aRagexe, 2014-07-23aRagexeRE, 2014-07-23bRagexe, 2014-07-23bRagexeRE
#if PACKETVER == 20140723
- packetKeys(0x42A21713,0x51CE6EAD,0x102F7B0B);
+ packetKeys(0x42a21713,0x51ce6ead,0x102f7b0b);
#endif
// 2014-07-30aRagexe, 2014-07-30bRagexeRE
#if PACKETVER == 20140730
- packetKeys(0x63CE4E53,0x04F969A3,0x690954DB);
+ packetKeys(0x63ce4e53,0x04f969a3,0x690954db);
#endif
// 2014-08-06aRagexe, 2014-08-06aRagexeRE, 2014-08-06bRagexe
#if PACKETVER == 20140806
- packetKeys(0x0D5B69AC,0x3C001F20,0x0C201420);
+ packetKeys(0x0d5b69ac,0x3c001f20,0x0c201420);
#endif
// 2014-08-13aRagexe, 2014-08-13aRagexeRE, 2014-08-13bRagexe, 2014-08-14aRagexe
#if PACKETVER == 20140813 || \
PACKETVER == 20140814
- packetKeys(0x7AD51E0A,0x28C72C46,0x210205BD);
+ packetKeys(0x7ad51e0a,0x28c72c46,0x210205bd);
#endif
// 2014-08-20aRagexe, 2014-08-20aRagexeRE
#if PACKETVER == 20140820
- packetKeys(0x374F15D0,0x64C87DEC,0x65CE2A41);
+ packetKeys(0x374f15d0,0x64c87dec,0x65ce2a41);
#endif
// 2014-08-27aRagexe, 2014-08-27aRagexeRE
#if PACKETVER == 20140827
- packetKeys(0x53814CA2,0x27DE193E,0x503E683E);
+ packetKeys(0x53814ca2,0x27de193e,0x503e683e);
#endif
// 2014-09-03aRagexe, 2014-09-03aRagexeRE
#if PACKETVER == 20140903
- packetKeys(0x2F386F34,0x0F935365,0x76A43888);
+ packetKeys(0x2f386f34,0x0f935365,0x76a43888);
#endif
// 2014-09-17aRagexe, 2014-09-17cRagexeRE
#if PACKETVER == 20140917
- packetKeys(0x180118EA,0x440134CF,0x3A99179D);
+ packetKeys(0x180118ea,0x440134cf,0x3a99179d);
#endif
// 2014-09-24bRagexeRE, 2014-09-24cRagexe, 2014-09-24cRagexeRE
#if PACKETVER == 20140924
- packetKeys(0x6F5222D8,0x593B798C,0x4CBD655E);
+ packetKeys(0x6f5222d8,0x593b798c,0x4cbd655e);
#endif
// 2014-10-01aRagexe, 2014-10-01bRagexeRE, 2014-10-01cRagexeRE
#if PACKETVER == 20141001
- packetKeys(0x6D882C11,0x7DF959E2,0x4F3F60E8);
+ packetKeys(0x6d882c11,0x7df959e2,0x4f3f60e8);
#endif
// 2014-10-08aRagexe, 2014-10-08bRagexe, 2014-10-08bRagexeRE, 2014-10-08cRagexe, 2014-10-08cRagexeRE, 2014-10-08dRagexe
#if PACKETVER == 20141008
- packetKeys(0x754365B3,0x36B326B3,0x26B326B3);
+ packetKeys(0x754365b3,0x36b326b3,0x26b326b3);
#endif
// 2014-10-15bRagexe, 2014-10-15bRagexeRE, 2014-10-15cRagexe, 2014-10-15dRagexe, 2014-10-16aRagexe, 2014-10-16aRagexeRE
#if PACKETVER == 20141015 || \
PACKETVER == 20141016
- packetKeys(0x2DFF467C,0x444B37EE,0x2C1B634F);
+ packetKeys(0x2dff467c,0x444b37ee,0x2c1b634f);
#endif
// 2014-10-22aRagexeRE, 2014-10-22bRagexe
#if PACKETVER == 20141022
- packetKeys(0x290551EA,0x2B952C75,0x2D67669B);
+ packetKeys(0x290551ea,0x2b952c75,0x2d67669b);
#endif
// 2014-10-29aRagexe, 2014-10-29aRagexeRE
#if PACKETVER == 20141029
- packetKeys(0x1AFD581D,0x2E1D4E1D,0x4E1D4E1D);
+ packetKeys(0x1afd581d,0x2e1d4e1d,0x4e1d4e1d);
#endif
// 2014-11-05aRagexe, 2014-11-05aRagexeRE, 2014-11-05bRagexe, 2014-11-05bRagexeRE
#if PACKETVER == 20141105
- packetKeys(0x7F310819,0x5FF45401,0x2D303DD9);
+ packetKeys(0x7f310819,0x5ff45401,0x2d303dd9);
#endif
// 2014-11-12aRagexeRE, 2014-11-12cRagexe, 2014-11-12dRagexe
#if PACKETVER == 20141112
- packetKeys(0x430C0C27,0x067153CF,0x5E5439A9);
+ packetKeys(0x430c0c27,0x067153cf,0x5e5439a9);
#endif
// 2014-11-19bRagexeRE, 2014-11-19dRagexe
#if PACKETVER == 20141119
- packetKeys(0x7A7E7EDE,0x24EB02E3,0x71603607);
+ packetKeys(0x7a7e7ede,0x24eb02e3,0x71603607);
#endif
// 2014-11-26aRagexe, 2014-11-26aRagexeRE, 2014-11-26bRagexe, 2014-11-26bRagexeRE, 2014-11-26cRagexe, 2014-11-26cRagexeRE, 2014-11-26dRagexe, 2014-11-26dRagexeRE, 2014-11-26eRagexeRE
#if PACKETVER == 20141126
- packetKeys(0x01E14C42,0x56D73044,0x4B3278DF);
+ packetKeys(0x01e14c42,0x56d73044,0x4b3278df);
#endif
// 2014-12-03aRagexe, 2014-12-03aRagexeRE
#if PACKETVER == 20141203
- packetKeys(0x66CB52E4,0x1EB84093,0x33563E18);
+ packetKeys(0x66cb52e4,0x1eb84093,0x33563e18);
#endif
// 2014-12-10bRagexe, 2014-12-10cRagexe, 2014-12-10cRagexeRE
#if PACKETVER == 20141210
- packetKeys(0x0B0B1DD3,0x26EF1797,0x4F40370B);
+ packetKeys(0x0b0b1dd3,0x26ef1797,0x4f40370b);
#endif
// 2014-12-17aRagexe, 2014-12-17aRagexeRE
#if PACKETVER == 20141217
- packetKeys(0x01AB478C,0x0FDE58F2,0x1DAC7303);
+ packetKeys(0x01ab478c,0x0fde58f2,0x1dac7303);
#endif
// 2014-12-23cRagexeRE, 2014-12-24aRagexe
#if PACKETVER == 20141223 || \
PACKETVER == 20141224
- packetKeys(0x2E8936E6,0x34463C46,0x67CD3885);
+ packetKeys(0x2e8936e6,0x34463c46,0x67cd3885);
#endif
// 2014-12-31aRagexe, 2014-12-31aRagexeRE
#if PACKETVER == 20141231
- packetKeys(0x154C347E,0x54B26512,0x52126A12);
+ packetKeys(0x154c347e,0x54b26512,0x52126a12);
#endif
// 2015-01-07aRagexe, 2015-01-07aRagexeRE
#if PACKETVER == 20150107
- packetKeys(0x6C494A14,0x4DDB6427,0x3E6D7B65);
+ packetKeys(0x6c494a14,0x4ddb6427,0x3e6d7b65);
#endif
// 2015-01-14aRagexe, 2015-01-14aRagexeRE, 2015-01-14bRagexe, 2015-01-14cRagexe, 2015-01-14dRagexe
#if PACKETVER == 20150114
- packetKeys(0x21C96102,0x13142934,0x1ABF4EA3);
+ packetKeys(0x21c96102,0x13142934,0x1abf4ea3);
#endif
// 2015-01-21aRagexe, 2015-01-21aRagexeRE, 2015-01-21bRagexeRE
#if PACKETVER == 20150121
- packetKeys(0x0B9D2AF5,0x658A3346,0x379E3654);
+ packetKeys(0x0b9d2af5,0x658a3346,0x379e3654);
#endif
// 2015-01-28aRagexe, 2015-01-28aRagexeRE, 2015-01-29aRagexe, 2015-01-30aRagexe
#if PACKETVER == 20150128 || \
PACKETVER == 20150129 || \
PACKETVER == 20150130
- packetKeys(0x77CA2D55,0x28B608F0,0x75B47957);
+ packetKeys(0x77ca2d55,0x28b608f0,0x75b47957);
#endif
// 2015-02-04aRagexe, 2015-02-04cRagexeRE
#if PACKETVER == 20150204
- packetKeys(0x134529DB,0x5B4F6CEF,0x29EF11EF);
+ packetKeys(0x134529db,0x5b4f6cef,0x29ef11ef);
#endif
// 2015-02-11aRagexe, 2015-02-11aRagexeRE
#if PACKETVER == 20150211
- packetKeys(0x33911A25,0x1E6945FD,0x7385623A);
+ packetKeys(0x33911a25,0x1e6945fd,0x7385623a);
#endif
// 2015-02-17aRagexe, 2015-02-17aRagexeRE
#if PACKETVER == 20150217
- packetKeys(0x731B731B,0x731B731B,0x731B731B);
+ packetKeys(0x731b731b,0x731b731b,0x731b731b);
#endif
// 2015-02-25aRagexeRE, 2015-02-25bRagexeRE, 2015-02-25cRagexeRE, 2015-02-25dRagexeRE, 2015-02-25eRagexe, 2015-02-25eRagexeRE, 2015-02-25fRagexe, 2015-02-25gRagexe, 2015-02-25iRagexe, 2015-02-25jRagexe, 2015-02-26aRagexe, 2015-02-26aRagexeRE
#if PACKETVER == 20150225 || \
PACKETVER == 20150226
- packetKeys(0x57FD4B7B,0x19CC16FB,0x0D255D72);
+ packetKeys(0x57fd4b7b,0x19cc16fb,0x0d255d72);
#endif
// 2015-03-04aRagexe, 2015-03-04aRagexeRE, 2015-03-04bRagexeRE
#if PACKETVER == 20150304
- packetKeys(0x1A657B1C,0x7E1806E7,0x55396A5C);
+ packetKeys(0x1a657b1c,0x7e1806e7,0x55396a5c);
#endif
// 2015-03-11aRagexe, 2015-03-11aRagexeRE, 2015-03-11bRagexe, 2015-03-11bRagexeRE
#if PACKETVER == 20150311
- packetKeys(0x48C45D97,0x06CE09B0,0x5836642F);
+ packetKeys(0x48c45d97,0x06ce09b0,0x5836642f);
#endif
// 2015-03-18aRagexe, 2015-03-18aRagexeRE, 2015-03-18bRagexe, 2015-03-18bRagexeRE, 2015-03-18cRagexeRE
#if PACKETVER == 20150318
- packetKeys(0x1B3738E7,0x0AD4238F,0x7D252A1F);
+ packetKeys(0x1b3738e7,0x0ad4238f,0x7d252a1f);
#endif
// 2015-03-25aRagexe, 2015-03-25bRagexeRE, 2015-03-25cRagexeRE
#if PACKETVER == 20150325
- packetKeys(0x68F62B8C,0x337C3468,0x38FC0AC7);
+ packetKeys(0x68f62b8c,0x337c3468,0x38fc0ac7);
#endif
// 2015-04-01aRagexe, 2015-04-01bRagexeRE
#if PACKETVER == 20150401
- packetKeys(0x207F3A08,0x57E6160C,0x02A60382);
+ packetKeys(0x207f3a08,0x57e6160c,0x02a60382);
#endif
// 2015-04-08aRagexe, 2015-04-08aRagexeRE
#if PACKETVER == 20150408
- packetKeys(0x39812C9D,0x23DA516E,0x59A33DD2);
+ packetKeys(0x39812c9d,0x23da516e,0x59a33dd2);
#endif
// 2015-04-15aRagexe, 2015-04-15aRagexeRE
#if PACKETVER == 20150415
- packetKeys(0x7EC44F6A,0x7DE57139,0x60DA5436);
+ packetKeys(0x7ec44f6a,0x7de57139,0x60da5436);
#endif
// 2015-04-22aRagexe, 2015-04-22aRagexeRE
#if PACKETVER == 20150422
- packetKeys(0x10D22CE2,0x69E279E2,0x79E279E2);
+ packetKeys(0x10d22ce2,0x69e279e2,0x79e279e2);
#endif
// 2015-04-29aRagexe, 2015-04-29aRagexeRE
#if PACKETVER == 20150429
- packetKeys(0x2BF61A71,0x565D5DDF,0x0FB90019);
+ packetKeys(0x2bf61a71,0x565d5ddf,0x0fb90019);
#endif
// 2015-05-07bRagexe, 2015-05-07bRagexeRE, 2015-05-07cRagexe
#if PACKETVER == 20150507
- packetKeys(0x55B54373,0x58967821,0x67F41832);
+ packetKeys(0x55b54373,0x58967821,0x67f41832);
#endif
// 2015-05-13aRagexe, 2015-05-13aRagexeRE
#if PACKETVER == 20150513
- packetKeys(0x62C86D09,0x75944F17,0x112C133D);
+ packetKeys(0x62c86d09,0x75944f17,0x112c133d);
#endif
// 2015-05-20aRagexe, 2015-05-20aRagexeRE
#if PACKETVER == 20150520
- packetKeys(0x17430238,0x44DE585F,0x56A40616);
+ packetKeys(0x17430238,0x44de585f,0x56a40616);
#endif
// 2015-05-27aRagexe, 2015-05-27aRagexeRE
#if PACKETVER == 20150527
- packetKeys(0x35AE7BAE,0x3BAE3BAE,0x3BAE3BAE);
+ packetKeys(0x35ae7bae,0x3bae3bae,0x3bae3bae);
#endif
// 2015-06-03aRagexe, 2015-06-03bRagexeRE
#if PACKETVER == 20150603
- packetKeys(0x1DDD245D,0x309446E0,0x58E53F1F);
+ packetKeys(0x1ddd245d,0x309446e0,0x58e53f1f);
#endif
// 2015-06-10aRagexe, 2015-06-10aRagexeRE
#if PACKETVER == 20150610
- packetKeys(0x2FC406D3,0x7B3E32F5,0x02B80B47);
+ packetKeys(0x2fc406d3,0x7b3e32f5,0x02b80b47);
#endif
// 2015-06-17aRagexe, 2015-06-17aRagexeRE, 2015-06-18aRagexe, 2015-06-18aRagexeRE
#if PACKETVER == 20150617 || \
PACKETVER == 20150618
- packetKeys(0x250F7E09,0x25416076,0x029A780E);
+ packetKeys(0x250f7e09,0x25416076,0x029a780e);
#endif
// 2015-06-24aRagexe, 2015-06-24aRagexeRE
#if PACKETVER == 20150624
- packetKeys(0x440B0E24,0x1BEA7A4C,0x2C646784);
+ packetKeys(0x440b0e24,0x1bea7a4c,0x2c646784);
#endif
// 2015-07-01bRagexe, 2015-07-01bRagexeRE, 2015-07-02aRagexe
#if PACKETVER == 20150701 || \
PACKETVER == 20150702
- packetKeys(0x4DD55F9B,0x70C67B03,0x78C60DB6);
+ packetKeys(0x4dd55f9b,0x70c67b03,0x78c60db6);
#endif
// 2015-07-08bRagexeRE, 2015-07-08cRagexe, 2015-07-08cRagexeRE, 2015-07-08dRagexeRE
#if PACKETVER == 20150708
- packetKeys(0x451C5E19,0x5661750B,0x2F4644AC);
+ packetKeys(0x451c5e19,0x5661750b,0x2f4644ac);
#endif
// 2015-07-15aRagexe, 2015-07-15aRagexeRE
#if PACKETVER == 20150715
- packetKeys(0x1F805483,0x67745585,0x7FCE189C);
+ packetKeys(0x1f805483,0x67745585,0x7fce189c);
#endif
// 2015-07-22bRagexe, 2015-07-22bRagexeRE
#if PACKETVER == 20150722
- packetKeys(0x41FA53D4,0x2CF044E2,0x663A3F1D);
+ packetKeys(0x41fa53d4,0x2cf044e2,0x663a3f1d);
#endif
// 2015-07-29aRagexe, 2015-07-29aRagexeRE
#if PACKETVER == 20150729
- packetKeys(0x08EE40A9,0x206F3D7F,0x0AE37339);
+ packetKeys(0x08ee40a9,0x206f3d7f,0x0ae37339);
#endif
// 2015-08-05aRagexe, 2015-08-05dRagexeRE
#if PACKETVER == 20150805
- packetKeys(0x1C3F243F,0x243F243F,0x243F243F);
+ packetKeys(0x1c3f243f,0x243f243f,0x243f243f);
#endif
// 2015-08-12aRagexe, 2015-08-12aRagexeRE
#if PACKETVER == 20150812
- packetKeys(0x0B6F64A8,0x5BCC47EC,0x00EC08EC);
+ packetKeys(0x0b6f64a8,0x5bcc47ec,0x00ec08ec);
#endif
// 2015-08-19aRagexe, 2015-08-19aRagexeRE, 2015-08-19bRagexeRE
#if PACKETVER == 20150819
- packetKeys(0x1A2400E0,0x736E5686,0x10F315D5);
+ packetKeys(0x1a2400e0,0x736e5686,0x10f315d5);
#endif
// 2015-08-26aRagexe, 2015-08-26aRagexeRE, 2015-08-26bRagexe, 2015-08-26bRagexeRE
#if PACKETVER == 20150826
- packetKeys(0x77883C56,0x1829359F,0x0DE635B6);
+ packetKeys(0x77883c56,0x1829359f,0x0de635b6);
#endif
// 2015-09-02aRagexe, 2015-09-02aRagexeRE
#if PACKETVER == 20150902
- packetKeys(0x4EDB18C1,0x6B9355BA,0x38AA6239);
+ packetKeys(0x4edb18c1,0x6b9355ba,0x38aa6239);
#endif
// 2015-09-09aRagexe, 2015-09-09aRagexeRE
#if PACKETVER == 20150909
- packetKeys(0x19AB2BF0,0x04754299,0x48770736);
+ packetKeys(0x19ab2bf0,0x04754299,0x48770736);
#endif
// 2015-09-16aRagexe, 2015-09-16cRagexe, 2015-09-16cRagexeRE
#if PACKETVER == 20150916
- packetKeys(0x17F83A19,0x116944F4,0x1CC541E9);
+ packetKeys(0x17f83a19,0x116944f4,0x1cc541e9);
#endif
// 2015-09-23bRagexe, 2015-09-23bRagexeRE, 2015-09-23cRagexe, 2015-09-23dRagexe, 2015-09-23eRagexe, 2015-09-23eRagexeRE, 2015-09-23fRagexe, 2015-09-23fRagexeRE
#if PACKETVER == 20150923
- packetKeys(0x765742B9,0x22D61C2F,0x7DA94FB2);
+ packetKeys(0x765742b9,0x22d61c2f,0x7da94fb2);
#endif
// 2015-10-01aRagexe, 2015-10-01bRagexeRE
#if PACKETVER == 20151001
- packetKeys(0x5CFF4561,0x32514AD1,0x06D126D1);
+ packetKeys(0x5cff4561,0x32514ad1,0x06d126d1);
#endif
// 2015-10-07aRagexe, 2015-10-07aRagexeRE
#if PACKETVER == 20151007
- packetKeys(0x3C6447A8,0x032170D7,0x6490476C);
+ packetKeys(0x3c6447a8,0x032170d7,0x6490476c);
#endif
// 2015-10-14bRagexe, 2015-10-14bRagexeRE
#if PACKETVER == 20151014
- packetKeys(0x402728A8,0x5D0E309F,0x240018FD);
+ packetKeys(0x402728a8,0x5d0e309f,0x240018fd);
#endif
// 2015-10-21aRagexe, 2015-10-21aRagexeRE, 2015-10-22aRagexe, 2015-10-22aRagexeRE
#if PACKETVER == 20151021 || \
PACKETVER == 20151022
- packetKeys(0x0311104D,0x46C326D6,0x00E82720);
+ packetKeys(0x0311104d,0x46c326d6,0x00e82720);
#endif
// 2015-10-28bRagexeRE, 2015-10-28bRagexeRE_2, 2015-10-28cRagexe, 2015-10-28cRagexeRE, 2015-10-28dRagexe, 2015-10-28dRagexeRE, 2015-10-29aRagexe, 2015-10-29aRagexeRE
#if PACKETVER == 20151028 || \
PACKETVER == 20151029
- packetKeys(0x45B945B9,0x45B945B9,0x45B945B9);
+ packetKeys(0x45b945b9,0x45b945b9,0x45b945b9);
#endif
// 2015-11-04aRagexe, 2015-11-04aRagexeRE
#if PACKETVER == 20151104
- packetKeys(0x4C17382A,0x7ED174C9,0x29961E4F);
+ packetKeys(0x4c17382a,0x7ed174c9,0x29961e4f);
#endif
// 2015-11-11aRagexe, 2015-11-11aRagexeRE, 2015-11-11bRagexe
#if PACKETVER == 20151111
- packetKeys(0x46097C77,0x5F193871,0x29140A21);
+ packetKeys(0x46097c77,0x5f193871,0x29140a21);
#endif
// 2015-11-18aRagexe, 2015-11-18aRagexeRE
#if PACKETVER == 20151118
- packetKeys(0x734C3241,0x6E846F34,0x731C06D6);
+ packetKeys(0x734c3241,0x6e846f34,0x731c06d6);
#endif
// 2015-11-25bRagexe, 2015-11-25bRagexeRE, 2015-11-25cRagexeRE, 2015-11-25dRagexe, 2015-11-25dRagexeRE
#if PACKETVER == 20151125
- packetKeys(0x237446C0,0x5EFB343A,0x0EDF06C5);
+ packetKeys(0x237446c0,0x5efb343a,0x0edf06c5);
#endif
// 2015-12-02aRagexe, 2015-12-02bRagexeRE
#if PACKETVER == 20151202
- packetKeys(0x4EDE52DE,0x52DE52DE,0x52DE52DE);
+ packetKeys(0x4ede52de,0x52de52de,0x52de52de);
#endif
// 2015-12-09aRagexe, 2015-12-09aRagexeRE
#if PACKETVER == 20151209
- packetKeys(0x652C5898,0x7A351FB3,0x67EA2886);
+ packetKeys(0x652c5898,0x7a351fb3,0x67ea2886);
#endif
// 2015-12-16aRagexe, 2015-12-16aRagexeRE
#if PACKETVER == 20151216
- packetKeys(0x25DD643D,0x61AC39DE,0x77A8206D);
+ packetKeys(0x25dd643d,0x61ac39de,0x77a8206d);
#endif
// 2015-12-23bRagexe, 2015-12-23bRagexeRE
#if PACKETVER == 20151223
- packetKeys(0x347D68D0,0x2C705320,0x7B4A199D);
+ packetKeys(0x347d68d0,0x2c705320,0x7b4a199d);
#endif
// 2015-12-30aRagexe, 2015-12-30aRagexeRE
#if PACKETVER == 20151230
- packetKeys(0x54C51241,0x33883499,0x3CDA35F0);
+ packetKeys(0x54c51241,0x33883499,0x3cda35f0);
#endif
// 2016-01-06aRagexe, 2016-01-06aRagexeRE
#if PACKETVER == 20160106
- packetKeys(0x40520265,0x33FE26FC,0x7136294F);
+ packetKeys(0x40520265,0x33fe26fc,0x7136294f);
#endif
// 2016-01-13aRagexe, 2016-01-13aRagexeRE, 2016-01-13bRagexe, 2016-01-13bRagexeRE, 2016-01-13bRagexeRE_2, 2016-01-13bRagexe_2, 2016-01-13cRagexeRE
#if PACKETVER == 20160113
- packetKeys(0x18005C4B,0x19A94A72,0x73F678EC);
+ packetKeys(0x18005c4b,0x19a94a72,0x73f678ec);
#endif
// 2016-01-20aRagexe, 2016-01-20aRagexeRE
@@ -1461,549 +1577,549 @@
// 2016-01-27aRagexeRE, 2016-01-27aRagexeRE_2, 2016-01-27bRagexeRE, 2016-01-27cRagexe, 2016-01-27dRagexe
#if PACKETVER == 20160127
- packetKeys(0x6B1E7146,0x612C47E6,0x274E56EE);
+ packetKeys(0x6b1e7146,0x612c47e6,0x274e56ee);
#endif
// 2016-02-03aRagexe, 2016-02-03aRagexeRE
#if PACKETVER == 20160203
- packetKeys(0x3E1411AF,0x6C744497,0x7CFA1BDE);
+ packetKeys(0x3e1411af,0x6c744497,0x7cfa1bde);
#endif
// 2016-02-11aRagexe, 2016-02-11aRagexeRE
#if PACKETVER == 20160211
- packetKeys(0x613813EA,0x05251DAB,0x1FD35E33);
+ packetKeys(0x613813ea,0x05251dab,0x1fd35e33);
#endif
// 2016-02-17aRagexe, 2016-02-17aRagexeRE, 2016-02-17bRagexeRE, 2016-02-17bRagexeRE_2, 2016-02-17cRagexeRE
#if PACKETVER == 20160217
- packetKeys(0x25895A8E,0x09421C19,0x763A2D7A);
+ packetKeys(0x25895a8e,0x09421c19,0x763a2d7a);
#endif
// 2016-02-24aRagexe, 2016-02-24aRagexeRE, 2016-02-24bRagexeRE
#if PACKETVER == 20160224
- packetKeys(0x7088019A,0x13471F02,0x42356A7D);
+ packetKeys(0x7088019a,0x13471f02,0x42356a7d);
#endif
// 2016-03-02bRagexe, 2016-03-02bRagexeRE
#if PACKETVER == 20160302
- packetKeys(0x7B4441B9,0x5BBC63AF,0x45DA0E71);
+ packetKeys(0x7b4441b9,0x5bbc63af,0x45da0e71);
#endif
// 2016-03-09aRagexeRE, 2016-03-09cRagexe
#if PACKETVER == 20160309
- packetKeys(0x21587520,0x353A7706,0x1B722B25);
+ packetKeys(0x21587520,0x353a7706,0x1b722b25);
#endif
// 2016-03-16aRagexe, 2016-03-16aRagexeRE, 2016-03-18aRagexe
#if PACKETVER == 20160316 || \
PACKETVER == 20160318
- packetKeys(0x62363E36,0x3E363E36,0x3E363E36);
+ packetKeys(0x62363e36,0x3e363e36,0x3e363e36);
#endif
// 2016-03-23aRagexe, 2016-03-23aRagexeRE, 2016-03-23bRagexe, 2016-03-23bRagexeRE
#if PACKETVER == 20160323
- packetKeys(0x73E35A83,0x62142FA8,0x12BA36BD);
+ packetKeys(0x73e35a83,0x62142fa8,0x12ba36bd);
#endif
// 2016-03-30aRagexe, 2016-03-30aRagexeRE, 2016-03-30bRagexe
#if PACKETVER == 20160330
- packetKeys(0x02050940,0x545336FF,0x7E7D4902);
+ packetKeys(0x02050940,0x545336ff,0x7e7d4902);
#endif
// 2016-04-06aRagexe, 2016-04-06aRagexeRE, 2016-04-06bRagexe
#if PACKETVER == 20160406
- packetKeys(0x568611EA,0x32457D8D,0x2B020477);
+ packetKeys(0x568611ea,0x32457d8d,0x2b020477);
#endif
// 2016-04-14aRagexe, 2016-04-14aRagexeRE, 2016-04-14bRagexe, 2016-04-14bRagexeRE, 2016-04-14bRagexe_2, 2016-04-14cRagexe
#if PACKETVER == 20160414
- packetKeys(0x31BD479A,0x40C61398,0x397C1A80);
+ packetKeys(0x31bd479a,0x40c61398,0x397c1a80);
#endif
// 2016-04-20aRagexeRE, 2016-04-20cRagexe
#if PACKETVER == 20160420
- packetKeys(0x67D2163A,0x3068215B,0x4835474D);
+ packetKeys(0x67d2163a,0x3068215b,0x4835474d);
#endif
// 2016-04-27aRagexe, 2016-04-27aRagexeRE
#if PACKETVER == 20160427
- packetKeys(0x12DC378E,0x4E3E7EBE,0x0ABE2ABE);
+ packetKeys(0x12dc378e,0x4e3e7ebe,0x0abe2abe);
#endif
// 2016-05-04aRagexe, 2016-05-04aRagexeRE
#if PACKETVER == 20160504
- packetKeys(0x09E0544C,0x0231251D,0x2F4E195F);
+ packetKeys(0x09e0544c,0x0231251d,0x2f4e195f);
#endif
// 2016-05-11aRagexe, 2016-05-11aRagexeRE, 2016-05-11bRagexeRE
#if PACKETVER == 20160511
- packetKeys(0x3C666FE2,0x27E84E3E,0x53E11BA5);
+ packetKeys(0x3c666fe2,0x27e84e3e,0x53e11ba5);
#endif
// 2016-05-18aRagexe, 2016-05-18aRagexeRE
#if PACKETVER == 20160518
- packetKeys(0x57DB7CA1,0x1FEA1629,0x26DD244D);
+ packetKeys(0x57db7ca1,0x1fea1629,0x26dd244d);
#endif
// 2016-05-25aRagexe, 2016-05-25aRagexeRE, 2016-05-26aRagexe
#if PACKETVER == 20160525 || \
PACKETVER == 20160526
- packetKeys(0x485C45B6,0x47DC6192,0x76B34A36);
+ packetKeys(0x485c45b6,0x47dc6192,0x76b34a36);
#endif
// 2016-06-01aRagexe, 2016-06-01aRagexeRE
#if PACKETVER == 20160601
- packetKeys(0x3DAD32C4,0x59F001BE,0x73F65E56);
+ packetKeys(0x3dad32c4,0x59f001be,0x73f65e56);
#endif
// 2016-06-08aRagexe, 2016-06-08aRagexeRE, 2016-06-08bRagexe, 2016-06-08bRagexeRE, 2016-06-09aRagexe
#if PACKETVER == 20160608 || \
PACKETVER == 20160609
- packetKeys(0x11D74609,0x77C43E8A,0x44290F53);
+ packetKeys(0x11d74609,0x77c43e8a,0x44290f53);
#endif
// 2016-06-15aRagexe, 2016-06-15aRagexeRE
#if PACKETVER == 20160615
- packetKeys(0x062C5C26,0x6CF47E82,0x4DD53480);
+ packetKeys(0x062c5c26,0x6cf47e82,0x4dd53480);
#endif
// 2016-06-22aRagexe, 2016-06-22aRagexeRE
#if PACKETVER == 20160622
- packetKeys(0x426548AB,0x5C0F5DD4,0x03022710);
+ packetKeys(0x426548ab,0x5c0f5dd4,0x03022710);
#endif
// 2016-06-29aRagexe, 2016-06-29aRagexeRE, 2016-06-30aRagexe, 2016-06-30aRagexeRE
#if PACKETVER == 20160629 || \
PACKETVER == 20160630
- packetKeys(0x0DF31CCC,0x54281606,0x5C4C6855);
+ packetKeys(0x0df31ccc,0x54281606,0x5c4c6855);
#endif
// 2016-07-06bRagexe, 2016-07-06cRagexeRE
#if PACKETVER == 20160706
- packetKeys(0x33A766D0,0x743F04F8,0x0FA0276C);
+ packetKeys(0x33a766d0,0x743f04f8,0x0fa0276c);
#endif
// 2016-07-13aRagexe, 2016-07-13aRagexeRE, 2016-07-13bRagexe, 2016-07-13bRagexeRE, 2016-07-13cRagexe, 2016-07-13dRagexe
#if PACKETVER == 20160713
- packetKeys(0x714F2495,0x7DDC6F32,0x3FD8533D);
+ packetKeys(0x714f2495,0x7ddc6f32,0x3fd8533d);
#endif
// 2016-07-20aRagexe, 2016-07-20aRagexeRE, 2016-07-20bRagexe, 2016-07-20bRagexeRE
#if PACKETVER == 20160720
- packetKeys(0x4F8A19C0,0x2D8E085C,0x37BB67D6);
+ packetKeys(0x4f8a19c0,0x2d8e085c,0x37bb67d6);
#endif
// 2016-07-27aRagexe, 2016-07-27aRagexeRE, 2016-07-27bRagexe, 2016-07-27bRagexeRE
#if PACKETVER == 20160727
- packetKeys(0x3C6952AB,0x26E4077F,0x37E25DF7);
+ packetKeys(0x3c6952ab,0x26e4077f,0x37e25df7);
#endif
// 2016-08-03bRagexe, 2016-08-03bRagexeRE
#if PACKETVER == 20160803
- packetKeys(0x67F438C2,0x512A4EB7,0x2D353182);
+ packetKeys(0x67f438c2,0x512a4eb7,0x2d353182);
#endif
// 2016-08-10aRagexe, 2016-08-10aRagexeRE
#if PACKETVER == 20160810
- packetKeys(0x2F252886,0x242234A2,0x48BC5032);
+ packetKeys(0x2f252886,0x242234a2,0x48bc5032);
#endif
// 2016-08-17aRagexe, 2016-08-17aRagexeRE
#if PACKETVER == 20160817
- packetKeys(0x675E6900,0x3F8E1D16,0x58D650E5);
+ packetKeys(0x675e6900,0x3f8e1d16,0x58d650e5);
#endif
// 2016-08-24aRagexe, 2016-08-24aRagexeRE
#if PACKETVER == 20160824
- packetKeys(0x2FA92FA9,0x2FA92FA9,0x2FA92FA9);
+ packetKeys(0x2fa92fa9,0x2fa92fa9,0x2fa92fa9);
#endif
// 2016-08-31aRagexe, 2016-08-31aRagexeRE, 2016-08-31bRagexe, 2016-08-31bRagexeRE
#if PACKETVER == 20160831
- packetKeys(0x564E13B0,0x7F680549,0x382D273B);
+ packetKeys(0x564e13b0,0x7f680549,0x382d273b);
#endif
// 2016-09-07aRagexe, 2016-09-07aRagexeRE
#if PACKETVER == 20160907
- packetKeys(0x32E5237D,0x57BD4DBD,0x5DBD5DBD);
+ packetKeys(0x32e5237d,0x57bd4dbd,0x5dbd5dbd);
#endif
// 2016-09-13aRagexe, 2016-09-13aRagexeRE
#if PACKETVER == 20160913
- packetKeys(0x7C79748F,0x1AA03B1D,0x6EAC4747);
+ packetKeys(0x7c79748f,0x1aa03b1d,0x6eac4747);
#endif
// 2016-09-21aRagexe, 2016-09-21bRagexeRE
#if PACKETVER == 20160921
- packetKeys(0x11CD15CD,0x15CD15CD,0x15CD15CD);
+ packetKeys(0x11cd15cd,0x15cd15cd,0x15cd15cd);
#endif
// 2016-09-28cRagexe, 2016-09-28cRagexeRE, 2016-09-28dRagexeRE
#if PACKETVER == 20160928
- packetKeys(0x2F8C67F5,0x22D42C38,0x57513774);
+ packetKeys(0x2f8c67f5,0x22d42c38,0x57513774);
#endif
// 2016-10-05aRagexe, 2016-10-05aRagexeRE
#if PACKETVER == 20161005
- packetKeys(0x5BAE21F8,0x021E2FFC,0x3BEB7C31);
+ packetKeys(0x5bae21f8,0x021e2ffc,0x3beb7c31);
#endif
// 2016-10-12aRagexe, 2016-10-12aRagexeRE
#if PACKETVER == 20161012
- packetKeys(0x5E2311F2,0x14FD012C,0x76EB64F6);
+ packetKeys(0x5e2311f2,0x14fd012c,0x76eb64f6);
#endif
// 2016-10-19aRagexe, 2016-10-19aRagexeRE
#if PACKETVER == 20161019
- packetKeys(0x34882F11,0x7C870E70,0x7E61350D);
+ packetKeys(0x34882f11,0x7c870e70,0x7e61350d);
#endif
// 2016-10-26bRagexe, 2016-10-26bRagexeRE, 2016-10-26cRagexe, 2016-10-26cRagexeRE
#if PACKETVER == 20161026
- packetKeys(0x2CB86AE6,0x7D12660E,0x1B004DEB);
+ packetKeys(0x2cb86ae6,0x7d12660e,0x1b004deb);
#endif
// 2016-11-02aRagexe, 2016-11-02aRagexeRE, 2016-11-03aRagexe, 2016-11-03aRagexeRE
#if PACKETVER == 20161102 || \
PACKETVER == 20161103
- packetKeys(0x76725C17,0x72FE4EC1,0x07A91BFD);
+ packetKeys(0x76725c17,0x72fe4ec1,0x07a91bfd);
#endif
// 2016-11-09aRagexe, 2016-11-09aRagexeRE, 2016-11-09bRagexe, 2016-11-09bRagexeRE, 2016-11-09cRagexeRE, 2016-11-09dRagexeRE
#if PACKETVER == 20161109
- packetKeys(0x0A5277C0,0x2DB17506,0x0E8F26DA);
+ packetKeys(0x0a5277c0,0x2db17506,0x0e8f26da);
#endif
// 2016-11-16aRagexe, 2016-11-16bRagexeRE, 2016-11-16cRagexeRE
#if PACKETVER == 20161116
- packetKeys(0x780C5C3F,0x15E92272,0x2BA770C5);
+ packetKeys(0x780c5c3f,0x15e92272,0x2ba770c5);
#endif
// 2016-11-23aRagexe, 2016-11-23aRagexeRE
#if PACKETVER == 20161123
- packetKeys(0x66FF559F,0x00D3535B,0x236246F7);
+ packetKeys(0x66ff559f,0x00d3535b,0x236246f7);
#endif
// 2016-11-30aRagexe, 2016-11-30aRagexeRE, 2016-11-30bRagexe, 2016-11-30bRagexeRE
#if PACKETVER == 20161130
- packetKeys(0x2ED80296,0x0D837373,0x20266F9A);
+ packetKeys(0x2ed80296,0x0d837373,0x20266f9a);
#endif
// 2016-12-07cRagexe, 2016-12-07cRagexeRE, 2016-12-07dRagexeRE, 2016-12-07eRagexe, 2016-12-07eRagexeRE
#if PACKETVER == 20161207
- packetKeys(0x52D267AA,0x4FE42156,0x1292153E);
+ packetKeys(0x52d267aa,0x4fe42156,0x1292153e);
#endif
// 2016-12-14bRagexe, 2016-12-14bRagexeRE, 2016-12-14cRagexe, 2016-12-14cRagexeRE
#if PACKETVER == 20161214
- packetKeys(0x4DDE217B,0x07863AE0,0x5B591656);
+ packetKeys(0x4dde217b,0x07863ae0,0x5b591656);
#endif
// 2016-12-21aRagexe, 2016-12-21aRagexeRE, 2016-12-21bRagexe, 2016-12-21bRagexeRE, 2016-12-21cRagexeRE, 2016-12-21dRagexeRE
#if PACKETVER == 20161221
- packetKeys(0x69CB4F56,0x793C165E,0x673A2354);
+ packetKeys(0x69cb4f56,0x793c165e,0x673a2354);
#endif
// 2016-12-28aRagexe, 2016-12-28aRagexeRE
#if PACKETVER == 20161228
- packetKeys(0x09366971,0x005672F1,0x6F3712AE);
+ packetKeys(0x09366971,0x005672f1,0x6f3712ae);
#endif
// 2017-01-04aRagexe, 2017-01-04bRagexeRE
#if PACKETVER == 20170104
- packetKeys(0x44416BC3,0x6C8D1817,0x072D75D5);
+ packetKeys(0x44416bc3,0x6c8d1817,0x072d75d5);
#endif
// 2017-01-11aRagexe, 2017-01-11aRagexeRE
#if PACKETVER == 20170111
- packetKeys(0x19B637F9,0x0E9C378A,0x41673186);
+ packetKeys(0x19b637f9,0x0e9c378a,0x41673186);
#endif
// 2017-01-18aRagexe, 2017-01-18aRagexeRE
#if PACKETVER == 20170118
- packetKeys(0x456B36EB,0x15EB34B0,0x18C42E43);
+ packetKeys(0x456b36eb,0x15eb34b0,0x18c42e43);
#endif
// 2017-01-25aRagexe, 2017-01-25aRagexeRE
#if PACKETVER == 20170125
- packetKeys(0x066E04FE,0x3004224A,0x04FF0458);
+ packetKeys(0x066e04fe,0x3004224a,0x04ff0458);
#endif
// 2017-02-01aRagexe, 2017-02-01aRagexeRE
#if PACKETVER == 20170201
- packetKeys(0x2011228E,0x00453005,0x628E7F0A);
+ packetKeys(0x2011228e,0x00453005,0x628e7f0a);
#endif
// 2017-02-08aRagexeRE, 2017-02-08bRagexe, 2017-02-08bRagexeRE
#if PACKETVER == 20170208
- packetKeys(0x6A764E5F,0x0609570D,0x28AE07FA);
+ packetKeys(0x6a764e5f,0x0609570d,0x28ae07fa);
#endif
// 2017-02-15aRagexe, 2017-02-15aRagexeRE
#if PACKETVER == 20170215
- packetKeys(0x50C01315,0x51012A42,0x679E16C3);
+ packetKeys(0x50c01315,0x51012a42,0x679e16c3);
#endif
// 2017-02-22aRagexe, 2017-02-22aRagexeRE
#if PACKETVER == 20170222
- packetKeys(0x5A242F2F,0x6C556187,0x73C022CB);
+ packetKeys(0x5a242f2f,0x6c556187,0x73c022cb);
#endif
// 2017-02-28aRagexe, 2017-02-28aRagexeRE, 2017-02-28bRagexe
#if PACKETVER == 20170228
- packetKeys(0x771D4F2B,0x20EF1F4C,0x0D5135C8);
+ packetKeys(0x771d4f2b,0x20ef1f4c,0x0d5135c8);
#endif
// 2017-03-08aRagexe, 2017-03-08bRagexeRE
#if PACKETVER == 20170308
- packetKeys(0x653470A9,0x6B316A71,0x5C712C71);
+ packetKeys(0x653470a9,0x6b316a71,0x5c712c71);
#endif
// 2017-03-15cRagexe, 2017-03-15cRagexeRE
#if PACKETVER == 20170315
- packetKeys(0x399A0856,0x56642A94,0x7F77157D);
+ packetKeys(0x399a0856,0x56642a94,0x7f77157d);
#endif
// 2017-03-22aRagexe, 2017-03-22aRagexeRE, 2017-03-22bRagexe, 2017-03-22bRagexeRE
#if PACKETVER == 20170322
- packetKeys(0x2050167B,0x01731233,0x40337033);
+ packetKeys(0x2050167b,0x01731233,0x40337033);
#endif
// 2017-03-29bRagexe, 2017-03-29cRagexe, 2017-03-29cRagexeRE, 2017-03-29dRagexeRE
#if PACKETVER == 20170329
- packetKeys(0x18B31A80,0x1B0B1D56,0x16857D6A);
+ packetKeys(0x18b31a80,0x1b0b1d56,0x16857d6a);
#endif
// 2017-04-05bRagexe, 2017-04-05bRagexeRE, 2017-04-05cRagexe, 2017-04-05cRagexeRE
#if PACKETVER == 20170405
- packetKeys(0x1FDE7DAC,0x2F9F5B63,0x3F2062AF);
+ packetKeys(0x1fde7dac,0x2f9f5b63,0x3f2062af);
#endif
// 2017-04-12aRagexe, 2017-04-12aRagexeRE
#if PACKETVER == 20170412
- packetKeys(0x39223393,0x5C847779,0x10217985);
+ packetKeys(0x39223393,0x5c847779,0x10217985);
#endif
// 2017-04-19aRagexe, 2017-04-19bRagexeRE
#if PACKETVER == 20170419
- packetKeys(0x1F8F4B3F,0x2E481F03,0x39ED4178);
+ packetKeys(0x1f8f4b3f,0x2e481f03,0x39ed4178);
#endif
// 2017-04-26bRagexe, 2017-04-26dRagexeRE
#if PACKETVER == 20170426
- packetKeys(0x167642A7,0x1DEC3D26,0x6D046D4C);
+ packetKeys(0x167642a7,0x1dec3d26,0x6d046d4c);
#endif
// 2017-05-02aRagexe, 2017-05-02bRagexe, 2017-05-02dRagexeRE
#if PACKETVER == 20170502
- packetKeys(0x05224194,0x466D4204,0x31F02EE0);
+ packetKeys(0x05224194,0x466d4204,0x31f02ee0);
#endif
// 2017-05-17aRagexe, 2017-05-17aRagexeRE, 2017-05-17bRagexeRE
#if PACKETVER == 20170517
- packetKeys(0x2CC4749A,0x1FA954DC,0x72276857);
+ packetKeys(0x2cc4749a,0x1fa954dc,0x72276857);
#endif
// 2017-05-24aRagexe, 2017-05-24aRagexeRE, 2017-05-24bRagexe
#if PACKETVER == 20170524
- packetKeys(0x0B4E03A6,0x2B93427C,0x583D4477);
+ packetKeys(0x0b4e03a6,0x2b93427c,0x583d4477);
#endif
// 2017-05-31aRagexe, 2017-05-31aRagexeRE
#if PACKETVER == 20170531
- packetKeys(0x03FA5A97,0x20B802D5,0x339F1977);
+ packetKeys(0x03fa5a97,0x20b802d5,0x339f1977);
#endif
// 2017-06-07bRagexeRE, 2017-06-07cRagexe, 2017-06-07cRagexeRE
#if PACKETVER == 20170607
- packetKeys(0x50564ACD,0x79CA4E15,0x405F4894);
+ packetKeys(0x50564acd,0x79ca4e15,0x405f4894);
#endif
// 2017-06-14bRagexe, 2017-06-14bRagexeRE
#if PACKETVER == 20170614
- packetKeys(0x5ED10A48,0x667F4301,0x2E5D761F);
+ packetKeys(0x5ed10a48,0x667f4301,0x2e5d761f);
#endif
// 2017-06-21aRagexeRE, 2017-06-21bRagexe
#if PACKETVER == 20170621
- packetKeys(0x155F34EC,0x2D943FA9,0x3D9170EB);
+ packetKeys(0x155f34ec,0x2d943fa9,0x3d9170eb);
#endif
// 2017-06-28bRagexe, 2017-06-28bRagexeRE
#if PACKETVER == 20170628
- packetKeys(0x04691C86,0x43C210E2,0x2FE277E2);
+ packetKeys(0x04691c86,0x43c210e2,0x2fe277e2);
#endif
// 2017-07-05aRagexe, 2017-07-05aRagexeRE
#if PACKETVER == 20170705
- packetKeys(0x7EB000AE,0x02FB1DBC,0x5CB131E6);
+ packetKeys(0x7eb000ae,0x02fb1dbc,0x5cb131e6);
#endif
// 2017-07-12bRagexe, 2017-07-12bRagexeRE
#if PACKETVER == 20170712
- packetKeys(0x2C3C202C,0x3F2C2F2C,0x2F2C2F2C);
+ packetKeys(0x2c3c202c,0x3f2c2f2c,0x2f2c2f2c);
#endif
// 2017-07-19aRagexe, 2017-07-19aRagexeRE
#if PACKETVER == 20170719
- packetKeys(0x46465C88,0x10116F66,0x200866F9);
+ packetKeys(0x46465c88,0x10116f66,0x200866f9);
#endif
// 2017-07-26aRagexe, 2017-07-26cRagexeRE
#if PACKETVER == 20170726
- packetKeys(0x102F23DB,0x7E767751,0x3BC172EF);
+ packetKeys(0x102f23db,0x7e767751,0x3bc172ef);
#endif
// 2017-08-01aRagexe, 2017-08-01aRagexeRE, 2017-08-01bRagexe
#if PACKETVER == 20170801
- packetKeys(0x26B52A7F,0x5377619D,0x4F580AC4);
+ packetKeys(0x26b52a7f,0x5377619d,0x4f580ac4);
#endif
// 2017-08-09cRagexe, 2017-08-09cRagexeRE
#if PACKETVER == 20170809
- packetKeys(0x452156CB,0x71442624,0x2EE66D1C);
+ packetKeys(0x452156cb,0x71442624,0x2ee66d1c);
#endif
// 2017-08-16cRagexe, 2017-08-16cRagexeRE, 2017-08-16dRagexe, 2017-08-16dRagexeRE
#if PACKETVER == 20170816
- packetKeys(0x78914673,0x3F8B7634,0x55B814BC);
+ packetKeys(0x78914673,0x3f8b7634,0x55b814bc);
#endif
// 2017-08-23aRagexe, 2017-08-23aRagexeRE
#if PACKETVER == 20170823
- packetKeys(0x22677205,0x393D1002,0x58DC6BB4);
+ packetKeys(0x22677205,0x393d1002,0x58dc6bb4);
#endif
// 2017-08-30aRagexe, 2017-08-30aRagexeRE, 2017-08-30bRagexe, 2017-08-30bRagexeRE
#if PACKETVER == 20170830
- packetKeys(0x1D49592B,0x00970C17,0x1E640103);
+ packetKeys(0x1d49592b,0x00970c17,0x1e640103);
#endif
// 2017-09-06cRagexe, 2017-09-06cRagexeRE
#if PACKETVER == 20170906
- packetKeys(0x7DEF7677,0x351F36E6,0x52303485);
+ packetKeys(0x7def7677,0x351f36e6,0x52303485);
#endif
// 2017-09-13bRagexeRE, 2017-09-13cRagexe
#if PACKETVER == 20170913
- packetKeys(0x7A645935,0x1DA05062,0x5A7A4C43);
+ packetKeys(0x7a645935,0x1da05062,0x5a7a4c43);
#endif
// 2017-09-20aRagexe, 2017-09-20bRagexeRE
#if PACKETVER == 20170920
- packetKeys(0x53024DA5,0x04EC212D,0x0BF87CD4);
+ packetKeys(0x53024da5,0x04ec212d,0x0bf87cd4);
#endif
// 2017-09-27bRagexe, 2017-09-27bRagexeRE, 2017-09-27cRagexe, 2017-09-27dRagexe, 2017-09-27dRagexeRE
#if PACKETVER == 20170927
- packetKeys(0x15624100,0x0CE1463E,0x0E5D6534);
+ packetKeys(0x15624100,0x0ce1463e,0x0e5d6534);
#endif
// 2017-10-02cRagexe, 2017-10-02cRagexeRE
#if PACKETVER == 20171002
- packetKeys(0x15E1716C,0x4E765B63,0x357D2370);
+ packetKeys(0x15e1716c,0x4e765b63,0x357d2370);
#endif
// 2017-10-11aRagexe, 2017-10-11aRagexeRE, 2017-10-11bRagexe, 2017-10-11bRagexeRE
#if PACKETVER == 20171011
- packetKeys(0x4F121B3E,0x12670E17,0x19896C11);
+ packetKeys(0x4f121b3e,0x12670e17,0x19896c11);
#endif
// 2017-10-18aRagexe, 2017-10-18aRagexeRE
#if PACKETVER == 20171018
- packetKeys(0x2CAA109C,0x158C1EC2,0x7A5E58F3);
+ packetKeys(0x2caa109c,0x158c1ec2,0x7a5e58f3);
#endif
// 2017-10-25bRagexe, 2017-10-25bRagexeRE, 2017-10-25cRagexe, 2017-10-25cRagexeRE, 2017-10-25dRagexe, 2017-10-25dRagexeRE, 2017-10-25eRagexe, 2017-10-25eRagexeRE
#if PACKETVER == 20171025
- packetKeys(0x165C565C,0x565C565C,0x565C565C);
+ packetKeys(0x165c565c,0x565c565c,0x565c565c);
#endif
// 2017-11-01aRagexe, 2017-11-01bRagexeRE
#if PACKETVER == 20171101
- packetKeys(0x7056317F,0x7EEE0589,0x02672373);
+ packetKeys(0x7056317f,0x7eee0589,0x02672373);
#endif
// 2017-11-08aRagexe, 2017-11-08bRagexeRE
#if PACKETVER == 20171108
- packetKeys(0x03695685,0x7FAC12CE,0x182F7A7B);
+ packetKeys(0x03695685,0x7fac12ce,0x182f7a7b);
#endif
// 2017-11-15aRagexe, 2017-11-15aRagexeRE
#if PACKETVER == 20171115
- packetKeys(0x23B97A3B,0x34610993,0x2892070E);
+ packetKeys(0x23b97a3b,0x34610993,0x2892070e);
#endif
// 2017-11-22aRagexe, 2017-11-22bRagexeRE
#if PACKETVER == 20171122
- packetKeys(0x03221B0E,0x73AB7A5F,0x0DD80FD4);
+ packetKeys(0x03221b0e,0x73ab7a5f,0x0dd80fd4);
#endif
// 2017-11-29aRagexe, 2017-11-29aRagexeRE
#if PACKETVER == 20171129
- packetKeys(0x581B77A7,0x62F74D7A,0x4F102173);
+ packetKeys(0x581b77a7,0x62f74d7a,0x4f102173);
#endif
// 2017-12-06aRagexeRE, 2017-12-06bRagexe, 2017-12-06cRagexe
#if PACKETVER == 20171206
- packetKeys(0x39D54BD3,0x577A0C21,0x4C1C316E);
+ packetKeys(0x39d54bd3,0x577a0c21,0x4c1c316e);
#endif
// 2017-12-13bRagexe, 2017-12-13bRagexeRE
#if PACKETVER == 20171213
- packetKeys(0x44E41107,0x3B126921,0x00E06AAC);
+ packetKeys(0x44e41107,0x3b126921,0x00e06aac);
#endif
// 2017-12-20aRagexe, 2017-12-20aRagexeRE
#if PACKETVER == 20171220
- packetKeys(0x6EFE009A,0x440B7BFA,0x052339C8);
+ packetKeys(0x6efe009a,0x440b7bfa,0x052339c8);
#endif
// 2017-12-27aRagexe, 2017-12-27aRagexeRE
#if PACKETVER == 20171227
- packetKeys(0x257A2F6E,0x51140EEE,0x00FA4452);
+ packetKeys(0x257a2f6e,0x51140eee,0x00fa4452);
#endif
// 2018-01-03aRagexe, 2018-01-03aRagexeRE, 2018-01-03bRagexe, 2018-01-03bRagexeRE
#if PACKETVER == 20180103
- packetKeys(0x348F4BD7,0x7A425A54,0x628F589A);
+ packetKeys(0x348f4bd7,0x7a425a54,0x628f589a);
#endif
// 2018-01-17aRagexe, 2018-01-17aRagexeRE
#if PACKETVER == 20180117
- packetKeys(0x21F477F4,0x37F437F4,0x37F437F4);
+ packetKeys(0x21f477f4,0x37f437f4,0x37f437f4);
#endif
// 2018-01-24bRagexe, 2018-01-24bRagexeRE, 2018-01-31Ragexe
#if PACKETVER == 20180124 || \
PACKETVER == 20180131
- packetKeys(0x7EAA1CE0,0x415D1CFD,0x4C8F19FA);
+ packetKeys(0x7eaa1ce0,0x415d1cfd,0x4c8f19fa);
#endif
// 2018-02-07bRagexe, 2018-02-07bRagexeRE, 2018-02-07cRagexe
#if PACKETVER == 20180207
- packetKeys(0x45AA1B44,0x20E716B7,0x5388105C);
+ packetKeys(0x45aa1b44,0x20e716b7,0x5388105c);
#endif
// 2018-02-13aRagexe, 2018-02-13aRagexeRE, 2018-02-13bRagexe
#if PACKETVER == 20180213
- packetKeys(0x189D69B2,0x43B85EAD,0x2B7A687E);
+ packetKeys(0x189d69b2,0x43b85ead,0x2b7a687e);
#endif
// 2018-02-21aRagexeRE, 2018-02-21bRagexe, 2018-02-21bRagexeRE
#if PACKETVER == 20180221
- packetKeys(0x6E2F6233,0x193B0A66,0x0D1D2CA5);
+ packetKeys(0x6e2f6233,0x193b0a66,0x0d1d2ca5);
#endif
// 2018-03-07bRagexe, 2018-03-07bRagexeRE, 2018-03-09aRagexe
#if PACKETVER == 20180307 || \
PACKETVER == 20180309
- packetKeys(0x47DA10EB,0x4B922CCF,0x765C5055);
+ packetKeys(0x47da10eb,0x4b922ccf,0x765c5055);
#endif
// 2018-03-14nRagexe
#if PACKETVER == 20180314
- packetKeys(0x2FF07149,0x00596EA3,0x2B853026);
+ packetKeys(0x2ff07149,0x00596ea3,0x2b853026);
#endif
diff --git a/src/map/packets_keys_zero.h b/src/map/packets_keys_zero.h
index bbc1f7332..6be572964 100644
--- a/src/map/packets_keys_zero.h
+++ b/src/map/packets_keys_zero.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -29,7 +30,7 @@
/* This file is autogenerated, please do not commit manual changes */
-// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_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
#if PACKETVER == 20171018 || \
PACKETVER == 20171019 || \
PACKETVER == 20171023 || \
@@ -58,7 +59,51 @@
PACKETVER == 20180829 || \
PACKETVER == 20180905 || \
PACKETVER == 20180912 || \
- PACKETVER >= 20180919
+ PACKETVER == 20180919 || \
+ PACKETVER == 20180928 || \
+ PACKETVER == 20181010 || \
+ PACKETVER == 20181024 || \
+ PACKETVER == 20181114 || \
+ PACKETVER == 20181120 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190117 || \
+ PACKETVER == 20190130 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190410 || \
+ PACKETVER == 20190424 || \
+ PACKETVER == 20190502 || \
+ 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
packetKeys(0x00000000,0x00000000,0x00000000);
#endif
@@ -66,34 +111,34 @@
#if PACKETVER == 20171115 || \
PACKETVER == 20171116 || \
PACKETVER == 20171117
- packetKeys(0x3B93061D,0x3CB50DCD,0x410A197E);
+ packetKeys(0x3b93061d,0x3cb50dcd,0x410a197e);
#endif
// 2017-11-21aRagexe_zero, 2017-11-22aRagexe_zero
#if PACKETVER == 20171121 || \
PACKETVER == 20171122
- packetKeys(0x195B4DA8,0x6E3A473B,0x126F4B61);
+ packetKeys(0x195b4da8,0x6e3a473b,0x126f4b61);
#endif
// 2017-11-23dRagexe_zero
#if PACKETVER == 20171123
- packetKeys(0x6087733A,0x5C5C4AEE,0x0F10408F);
+ packetKeys(0x6087733a,0x5c5c4aee,0x0f10408f);
#endif
// 2017-11-27aRagexe_zero, 2017-11-27cRagexe_zero, 2017-11-28aRagexe_zero
#if PACKETVER == 20171127 || \
PACKETVER == 20171128
- packetKeys(0x141C135C,0x675C275C,0x275C275C);
+ packetKeys(0x141c135c,0x675c275c,0x275c275c);
#endif
// 2017-11-30bRagexe_zero
#if PACKETVER == 20171130
- packetKeys(0x31A04B32,0x3AC96B76,0x1742085D);
+ packetKeys(0x31a04b32,0x3ac96b76,0x1742085d);
#endif
// 2017-12-04bRagexe_zero
#if PACKETVER == 20171204
- packetKeys(0x06A109F1,0x6A953256,0x0A6040A3);
+ packetKeys(0x06a109f1,0x6a953256,0x0a6040a3);
#endif
// 2017-12-06aRagexe_zero, 2017-12-06bRagexe_zero, 2017-12-06cRagexe_zero, 2017-12-06dRagexe_zero, 2017-12-08aRagexe_zero, 2017-12-08cRagexe_zero, 2017-12-08dRagexe_zero, 2017-12-09bRagexe_zero, 2017-12-09cRagexe_zero, 2017-12-10aRagexe_zero, 2017-12-11bRagexe_zero, 2017-12-12aRagexe_zero, 2017-12-13aRagexe_zero, 2017-12-13bRagexe_zero, 2017-12-13cRagexe_zero
@@ -104,71 +149,71 @@
PACKETVER == 20171211 || \
PACKETVER == 20171212 || \
PACKETVER == 20171213
- packetKeys(0x718D0388,0x56A11525,0x20042F67);
+ packetKeys(0x718d0388,0x56a11525,0x20042f67);
#endif
// 2017-12-14cRagexe_zero
#if PACKETVER == 20171214
- packetKeys(0x6CE1021D,0x77703B04,0x4E722232);
+ packetKeys(0x6ce1021d,0x77703b04,0x4e722232);
#endif
// 2017-12-20aRagexe_zero, 2017-12-21aRagexe_zero, 2017-12-21bRagexe_zero
#if PACKETVER == 20171220 || \
PACKETVER == 20171221
- packetKeys(0x1E2047D2,0x7EE31AC2,0x31434F61);
+ packetKeys(0x1e2047d2,0x7ee31ac2,0x31434f61);
#endif
// 2017-12-27bRagexe_zero, 2017-12-29aRagexe_zero
#if PACKETVER == 20171227 || \
PACKETVER == 20171229
- packetKeys(0x7CBF0846,0x02F92654,0x22AA5E2D);
+ packetKeys(0x7cbf0846,0x02f92654,0x22aa5e2d);
#endif
// 2018-01-03aRagexe_zero
#if PACKETVER == 20180103
- packetKeys(0x2A3D4E64,0x7008690C,0x69FF066F);
+ packetKeys(0x2a3d4e64,0x7008690c,0x69ff066f);
#endif
// 2018-01-17aRagexe_zero
#if PACKETVER == 20180117
- packetKeys(0x230959EB,0x1CCB0182,0x1FFA2B30);
+ packetKeys(0x230959eb,0x1ccb0182,0x1ffa2b30);
#endif
// 2018-01-31dRagexe_zero
#if PACKETVER == 20180131
- packetKeys(0x1F422E02,0x12025202,0x52025202);
+ packetKeys(0x1f422e02,0x12025202,0x52025202);
#endif
// 2018-02-07bRagexe_zero
#if PACKETVER == 20180207
- packetKeys(0x07CB29CB,0x69CB69CB,0x69CB69CB);
+ packetKeys(0x07cb29cb,0x69cb69cb,0x69cb69cb);
#endif
// 2018-02-13aRagexe_zero
#if PACKETVER == 20180213
- packetKeys(0x0513075E,0x347075AF,0x67C56C6F);
+ packetKeys(0x0513075e,0x347075af,0x67c56c6f);
#endif
// 2018-02-21aRagexe_zero
#if PACKETVER == 20180221
- packetKeys(0x28ED7635,0x76591F21,0x59383498);
+ packetKeys(0x28ed7635,0x76591f21,0x59383498);
#endif
// 2018-02-28bRagexe_zero, 2018-03-07aRagexe_zero, 2018-03-09aRagexe_zero
#if PACKETVER == 20180228 || \
PACKETVER == 20180307 || \
PACKETVER == 20180309
- packetKeys(0x56C82ABE,0x61AE2B2E,0x472E272E);
+ packetKeys(0x56c82abe,0x61ae2b2e,0x472e272e);
#endif
// 2018-03-14nRagexe_zero
#if PACKETVER == 20180314
- packetKeys(0x2FC330DD,0x01C04E1F,0x4D914DE2);
+ packetKeys(0x2fc330dd,0x01c04e1f,0x4d914de2);
#endif
// 2018-05-11aRagexe_zero, 2018-05-11bRagexe_zero
#if PACKETVER == 20180511
- packetKeys(0x1C055B65,0x68CE748D,0x32AF761D);
+ packetKeys(0x1c055b65,0x68ce748d,0x32af761d);
#endif
diff --git a/src/map/packets_shuffle_main.h b/src/map/packets_shuffle_main.h
index 8bc395da1..0e7ca8609 100644
--- a/src/map/packets_shuffle_main.h
+++ b/src/map/packets_shuffle_main.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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,13 +25,13 @@
#define MAP_PACKETS_SHUFFLE_MAIN_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
/* This file is autogenerated, please do not commit manual changes */
@@ -39,3312 +40,3312 @@
// 2012-07-10aRagexe, 2012-07-12aRagexe
#if PACKETVER == 20120710 || \
PACKETVER == 20120712
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0362,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0878,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0936,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0362,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0878,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2012-07-16aRagexe
#if PACKETVER == 20120716
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-07-24aRagexe
#if PACKETVER == 20120724
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0935,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0935,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-08-01aRagexe, 2012-08-01bRagexe
#if PACKETVER == 20120801
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0438,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0946,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0438,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0946,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2012-08-08aRagexe, 2012-08-08bRagexe, 2012-08-08cRagexe
#if PACKETVER == 20120808
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-08-14aRagexe, 2012-08-14bRagexe
#if PACKETVER == 20120814
- packet(0x0281,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0815,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0875,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0929,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0969,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0281,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0815,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0875,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0969,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-08-22aRagexe, 2012-08-22bRagexe, 2012-08-22cRagexe
#if PACKETVER == 20120822
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0872,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0935,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0953,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0958,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0872,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0935,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0953,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0958,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-08-30aRagexe
#if PACKETVER == 20120830
- packet(0x022d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0926,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0926,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-05aRagexe
#if PACKETVER == 20120905
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0895,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0917,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0944,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0950,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0895,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0917,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0944,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0950,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2012-09-11aRagexe
#if PACKETVER == 20120911
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0930,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0935,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0948,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0949,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0930,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0935,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0948,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0949,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2012-09-19aRagexe
#if PACKETVER == 20120919
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-25aRagexe, 2012-09-26aRagexe
#if PACKETVER == 20120925 || \
PACKETVER == 20120926
- packet(0x07e4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0873,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0932,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0950,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x07e4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0873,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0932,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0950,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-10-10aRagexe, 2012-10-10bRagexe
#if PACKETVER == 20121010
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0817,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0896,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0817,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0896,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2012-10-17aRagexe, 2012-10-17bRagexe
#if PACKETVER == 20121017
- packet(0x023b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-10-24aRagexe
#if PACKETVER == 20121024
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0931,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0942,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0954,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0955,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0931,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0942,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0954,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0955,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2012-10-31aRagexe
#if PACKETVER == 20121031
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-11-07aRagexe
#if PACKETVER == 20121107
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0871,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0873,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0896,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0922,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0966,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0871,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0873,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0896,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0966,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2012-11-14aRagexe
#if PACKETVER == 20121114
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0815,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0899,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08aa,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0935,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0965,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0815,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0899,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08aa,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0935,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0965,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2012-11-21aRagexe
#if PACKETVER == 20121121
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a7,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a7,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-11-28aRagexe
#if PACKETVER == 20121128
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0861,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0931,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0950,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0953,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0861,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0931,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0950,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0953,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2012-12-05aRagexe, 2012-12-05bRagexe
#if PACKETVER == 20121205
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0878,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0959,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0878,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0959,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-12-12aRagexe, 2012-12-12bRagexe
#if PACKETVER == 20121212
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0368,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0893,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0932,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0368,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0893,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0932,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-18aRagexe, 2012-12-18bRagexe
#if PACKETVER == 20121218
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0872,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-27aRagexe
#if PACKETVER == 20121227
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x02c4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0870,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0896,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x02c4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0870,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0896,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-01-03aRagexe, 2013-01-07aRagexe
#if PACKETVER == 20130103 || \
PACKETVER == 20130107
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-09aRagexe
#if PACKETVER == 20130109
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0931,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0955,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0931,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0955,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-01-15bRagexe, 2013-01-16aRagexe, 2013-01-16bRagexe
#if PACKETVER == 20130115 || \
PACKETVER == 20130116
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0861,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0895,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0918,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0939,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0861,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0895,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0918,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0939,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2013-01-21aRagexe
#if PACKETVER == 20130121
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-30aRagexe
#if PACKETVER == 20130130
- packet(0x035f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a0,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0956,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x035f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a0,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0956,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2013-02-06aRagexe
#if PACKETVER == 20130206
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0925,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0925,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-15aRagexe, 2013-02-15bRagexe
#if PACKETVER == 20130215
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-20aRagexe
#if PACKETVER == 20130220
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-27aRagexe
#if PACKETVER == 20130227
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a0,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0924,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a0,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0924,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2013-03-06aRagexe
#if PACKETVER == 20130306
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0367,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0368,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0802,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0951,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0367,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0368,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0802,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0951,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-03-13aRagexe
#if PACKETVER == 20130313
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0920,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0920,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-03-20dRagexe, 2013-03-20eRagexe
#if PACKETVER == 20130320
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0438,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0881,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0933,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0438,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0868,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0881,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0922,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0933,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-03-27bRagexe
#if PACKETVER == 20130327
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0893,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0939,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0961,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0967,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0893,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0939,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0961,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0967,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2013-04-03aRagexe
#if PACKETVER == 20130403
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0942,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0950,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0942,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0950,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-04-10aRagexe
#if PACKETVER == 20130410
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a7,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0933,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0955,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a7,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0933,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0955,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-04-17aRagexe
#if PACKETVER == 20130417
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x096a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2013-04-24aRagexe
#if PACKETVER == 20130424
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-02aRagexe, 2013-05-02bRagexe
#if PACKETVER == 20130502
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-05-08bRagexe, 2013-05-08cRagexe, 2013-05-08dRagexe, 2013-05-08eRagexe, 2013-05-08fRagexe
#if PACKETVER == 20130508
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-15aRagexe
#if PACKETVER == 20130515
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0947,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0947,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-22aRagexe
#if PACKETVER == 20130522
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0965,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0965,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-05-29aRagexe
#if PACKETVER == 20130529
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0918,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0936,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0938,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0918,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0936,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0938,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-06-05aRagexe, 2013-06-05bRagexe
#if PACKETVER == 20130605
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-12aRagexe, 2013-06-12bRagexe, 2013-06-12cRagexe, 2013-06-12dRagexe, 2013-06-12eRagexe
#if PACKETVER == 20130612
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-18#1aRagexe
#if PACKETVER == 20130618
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0951,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0890,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0932,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0951,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2013-06-26_3cRagexe, 2013-06-26bRagexe
#if PACKETVER == 20130626
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-03aRagexe
#if PACKETVER == 20130703
- packet(0x0202,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-10bRagexe
#if PACKETVER == 20130710
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-17cRagexe
#if PACKETVER == 20130717
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0863,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0882,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0960,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0863,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0882,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0960,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-07-24eRagexe
#if PACKETVER == 20130724
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0953,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0954,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0956,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0953,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0954,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0956,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-07-31cRagexe
#if PACKETVER == 20130731
- packet(0x022d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0894,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0962,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x022d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0894,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0962,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-08-07aRagexe
#if PACKETVER == 20130807
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-08-14aRagexe
#if PACKETVER == 20130814
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0873,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0874,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0896,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0936,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0937,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0873,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0874,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0936,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0937,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0959,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2013-08-21bRagexe
#if PACKETVER == 20130821
- packet(0x0202,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-08-28bRagexe, 2013-08-28cRagexe
#if PACKETVER == 20130828
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0917,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0817,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0917,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2013-09-04aRagexe
#if PACKETVER == 20130904
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-09-11aRagexe, 2013-09-11bRagexe
#if PACKETVER == 20130911
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0891,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0948,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0891,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0948,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-09-17aRagexe
#if PACKETVER == 20130917
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0863,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0895,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0863,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0895,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2013-09-25aRagexe, 2013-09-25bRagexe, 2013-09-25cRagexe
#if PACKETVER == 20130925
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-02aRagexe
#if PACKETVER == 20131002
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-08aRagexe
#if PACKETVER == 20131008
- packet(0x0202,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0863,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0883,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0936,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0956,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0863,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0883,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0936,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0956,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2013-10-16aRagexe, 2013-10-16bRagexe
#if PACKETVER == 20131016
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x07ec,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0894,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0927,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0962,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x07ec,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0894,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0927,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0962,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-10-23aRagexe
#if PACKETVER == 20131023
- packet(0x0366,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0835,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0923,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0935,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0937,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0366,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0923,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0935,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0937,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2013-10-30aRagexe
#if PACKETVER == 20131030
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-11-06aRagexe, 2013-11-07aRagexe, 2013-11-07bRagexe, 2013-11-07cRagexe, 2013-11-08aRagexe
#if PACKETVER == 20131106 || \
PACKETVER == 20131107 || \
PACKETVER == 20131108
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0369,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0942,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0369,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0942,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2013-11-13bRagexe
#if PACKETVER == 20131113
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0879,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0936,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0950,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0964,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0879,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0936,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0950,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0964,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2013-11-20dRagexe
#if PACKETVER == 20131120
- packet(0x0361,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0802,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0926,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0802,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0926,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2013-11-27bRagexe
#if PACKETVER == 20131127
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0930,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0930,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-12-04eRagexe
#if PACKETVER == 20131204
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0869,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0879,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0882,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0928,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x092d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0961,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0869,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0879,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0882,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0928,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x092d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0961,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2013-12-11cRagexe, 2013-12-11dRagexe
#if PACKETVER == 20131211
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a3,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a3,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-18bRagexe
#if PACKETVER == 20131218
- packet(0x022d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-23bRagexe, 2013-12-23cRagexe
#if PACKETVER == 20131223
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-30aRagexe
#if PACKETVER == 20131230
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0369,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0968,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x096a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0369,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0968,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x096a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-01-08cRagexe, 2014-01-08dRagexe
#if PACKETVER == 20140108
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-01-15aRagexe, 2014-01-15bRagexe, 2014-01-15cRagexe, 2014-01-15eRagexe
#if PACKETVER == 20140115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-01-22aRagexe
#if PACKETVER == 20140122
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0925,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0925,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-01-29aRagexe, 2014-01-29cRagexe
#if PACKETVER == 20140129
- packet(0x0281,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0885,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0885,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-05bRagexe
#if PACKETVER == 20140205
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-12aRagexe
#if PACKETVER == 20140212
- packet(0x02c4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0874,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a7,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0952,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0874,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a7,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0952,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2014-02-19aRagexe
#if PACKETVER == 20140219
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0860,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0953,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0961,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0860,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0953,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0961,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2014-02-26aRagexe
#if PACKETVER == 20140226
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0887,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0941,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0887,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0941,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-05aRagexe, 2014-03-05bRagexe
#if PACKETVER == 20140305
- packet(0x0202,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-12dRagexe
#if PACKETVER == 20140312
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0894,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0894,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2014-03-19aRagexe
#if PACKETVER == 20140319
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0864,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0883,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0944,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0947,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0864,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0883,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0944,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0947,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-03-26aRagexe
#if PACKETVER == 20140326
- packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x083c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0969,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0362,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x083c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0969,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-04-02fRagexe, 2014-04-02gRagexe
#if PACKETVER == 20140402
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0867,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0868,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0882,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0944,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0867,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0868,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0882,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0944,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2014-04-09aRagexe, 2014-04-09bRagexe
#if PACKETVER == 20140409
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0884,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0896,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0942,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0884,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0896,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0942,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2014-04-16aRagexe, 2014-04-16bRagexe
#if PACKETVER == 20140416
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-04-23aRagexe
#if PACKETVER == 20140423
- packet(0x022d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-04-30aRagexe
#if PACKETVER == 20140430
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0899,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0899,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2014-05-08bRagexe
#if PACKETVER == 20140508
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0932,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0932,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-05-14bRagexe
#if PACKETVER == 20140514
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2014-05-21bRagexe
#if PACKETVER == 20140521
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-05-28aRagexe
#if PACKETVER == 20140528
- packet(0x0202,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0862,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a8,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0963,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0202,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0862,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a8,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0963,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2014-06-05aRagexe, 2014-06-05bRagexe
#if PACKETVER == 20140605
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0921,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0921,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-06-11cRagexe, 2014-06-11dRagexe, 2014-06-11hRagexe, 2014-06-12aRagexe, 2014-06-13aRagexe
#if PACKETVER == 20140611 || \
PACKETVER == 20140612 || \
PACKETVER == 20140613
- packet(0x0364,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0878,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0893,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0894,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0924,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0950,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
-#endif
-
-// 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-28bRagexe, 2018-04-04bRagexe, 2018-04-18aRagexe, 2018-04-25cRagexe, 2018-05-02bRagexe, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-23aRagexe, 2018-05-30aRagexe, 2018-06-05bRagexe, 2018-06-20cRagexe, 2018-06-20eRagexe, 2018-06-21aRagexe, 2018-07-04aRagexe, 2018-07-18bRagexe, 2018-07-18cRagexe, 2018-08-01cRagexe, 2018-08-08bRagexe, 2018-08-22cRagexe, 2018-08-29aRagexe, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-19aRagexe
+ packet(0x0364,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0878,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0893,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0894,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0924,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0950,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+#endif
+
+// 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-28bRagexe, 2018-04-04bRagexe, 2018-04-18aRagexe, 2018-04-25cRagexe, 2018-05-02bRagexe, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-23aRagexe, 2018-05-30aRagexe, 2018-06-05bRagexe, 2018-06-20cRagexe, 2018-06-20eRagexe, 2018-06-21aRagexe, 2018-07-04aRagexe, 2018-07-18bRagexe, 2018-07-18cRagexe, 2018-08-01cRagexe, 2018-08-08bRagexe, 2018-08-22cRagexe, 2018-08-29aRagexe, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-19aRagexe, 2018-10-02aRagexe, 2018-10-02bRagexe, 2018-10-17_02aRagexe, 2018-10-17_03aRagexe, 2018-10-17bRagexe, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-11-07aRagexe, 2018-11-14cRagexe, 2018-11-14dRagexe
#if PACKETVER == 20140611 || \
PACKETVER == 20150225 || \
PACKETVER == 20180315 || \
@@ -3369,6355 +3370,6478 @@
PACKETVER == 20180829 || \
PACKETVER == 20180831 || \
PACKETVER == 20180912 || \
- PACKETVER >= 20180919
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ PACKETVER == 20180919 || \
+ PACKETVER == 20181002 || \
+ PACKETVER == 20181017 || \
+ PACKETVER == 20181024 || \
+ PACKETVER == 20181031 || \
+ PACKETVER == 20181107 || \
+ PACKETVER == 20181114
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2014-06-18aRagexe
#if PACKETVER == 20140618
- packet(0x085d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0878,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0890,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x085d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0878,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0890,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-06-25aRagexe, 2014-06-25bRagexe
#if PACKETVER == 20140625
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0968,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0968,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-02aRagexe
#if PACKETVER == 20140702
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x07e4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x07e4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-09aRagexe
#if PACKETVER == 20140709
- packet(0x0364,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0877,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0894,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0897,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0898,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0877,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0894,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0897,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0898,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2014-07-16aRagexe, 2014-07-16bRagexe, 2014-07-16cRagexe
#if PACKETVER == 20140716
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0881,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0918,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0881,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0918,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2014-07-23aRagexe, 2014-07-23bRagexe
#if PACKETVER == 20140723
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0888,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0891,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0896,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0945,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0888,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0891,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0896,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0945,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2014-07-30aRagexe
#if PACKETVER == 20140730
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0367,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0802,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0367,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-08-06aRagexe, 2014-08-06bRagexe
#if PACKETVER == 20140806
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0948,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0948,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-13aRagexe, 2014-08-13bRagexe, 2014-08-14aRagexe
#if PACKETVER == 20140813 || \
PACKETVER == 20140814
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-20aRagexe
#if PACKETVER == 20140820
- packet(0x035f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0899,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0937,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0899,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0937,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-08-27aRagexe
#if PACKETVER == 20140827
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-03aRagexe
#if PACKETVER == 20140903
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-17aRagexe
#if PACKETVER == 20140917
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0367,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0966,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0367,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0951,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0966,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-09-24cRagexe
#if PACKETVER == 20140924
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0886,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0894,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0918,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0886,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0894,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0918,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2014-10-01aRagexe
#if PACKETVER == 20141001
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0885,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0885,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-10-08aRagexe, 2014-10-08bRagexe, 2014-10-08cRagexe, 2014-10-08dRagexe
#if PACKETVER == 20141008
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-15bRagexe, 2014-10-15cRagexe, 2014-10-15dRagexe, 2014-10-16aRagexe
#if PACKETVER == 20141015 || \
PACKETVER == 20141016
- packet(0x022d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0922,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-22bRagexe
#if PACKETVER == 20141022
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0896,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0896,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-29aRagexe
#if PACKETVER == 20141029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-11-05aRagexe, 2014-11-05bRagexe
#if PACKETVER == 20141105
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0864,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0874,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0968,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0864,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0874,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0892,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0968,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-11-12cRagexe, 2014-11-12dRagexe
#if PACKETVER == 20141112
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a0,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0962,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a0,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0962,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2014-11-19dRagexe
#if PACKETVER == 20141119
- packet(0x0202,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0918,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0918,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-11-26aRagexe, 2014-11-26bRagexe, 2014-11-26cRagexe, 2014-11-26dRagexe
#if PACKETVER == 20141126
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0871,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0871,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-03aRagexe
#if PACKETVER == 20141203
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0281,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a5,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0281,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a5,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-12-10bRagexe, 2014-12-10cRagexe
#if PACKETVER == 20141210
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0954,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0954,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-17aRagexe
#if PACKETVER == 20141217
- packet(0x0360,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ab,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0933,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0948,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0360,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ab,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0933,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0948,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-12-24aRagexe
#if PACKETVER == 20141224
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2014-12-31aRagexe
#if PACKETVER == 20141231
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-07aRagexe
#if PACKETVER == 20150107
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0895,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0895,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-14aRagexe, 2015-01-14bRagexe, 2015-01-14cRagexe, 2015-01-14dRagexe
#if PACKETVER == 20150114
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-21aRagexe
#if PACKETVER == 20150121
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0959,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0959,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-28aRagexe, 2015-01-29aRagexe, 2015-01-30aRagexe
#if PACKETVER == 20150128 || \
PACKETVER == 20150129 || \
PACKETVER == 20150130
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x023b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0874,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x023b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0874,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2015-02-04aRagexe
#if PACKETVER == 20150204
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-11aRagexe
#if PACKETVER == 20150211
- packet(0x023b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0862,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0883,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0886,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0862,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0883,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0886,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-02-17aRagexe
#if PACKETVER == 20150217
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-25eRagexe, 2015-02-25fRagexe, 2015-02-25gRagexe, 2015-02-25iRagexe, 2015-02-25jRagexe, 2015-02-26aRagexe
#if PACKETVER == 20150225 || \
PACKETVER == 20150226
- packet(0x02c4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0948,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0955,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x02c4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0948,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0955,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-03-04aRagexe
#if PACKETVER == 20150304
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-03-11aRagexe, 2015-03-11bRagexe
#if PACKETVER == 20150311
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a5,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0943,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0964,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a5,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0943,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0964,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-03-18aRagexe, 2015-03-18bRagexe
#if PACKETVER == 20150318
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0862,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0862,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-03-25aRagexe
#if PACKETVER == 20150325
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0883,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a7,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0931,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0883,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a7,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0931,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2015-04-01aRagexe
#if PACKETVER == 20150401
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0924,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0924,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-04-08aRagexe
#if PACKETVER == 20150408
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0957,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0963,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0957,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0963,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-04-15aRagexe
#if PACKETVER == 20150415
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0880,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0898,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x093c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0953,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0880,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0898,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x093c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0953,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-04-22aRagexe
#if PACKETVER == 20150422
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-04-29aRagexe
#if PACKETVER == 20150429
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0886,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0886,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-07bRagexe, 2015-05-07cRagexe
#if PACKETVER == 20150507
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-13aRagexe
#if PACKETVER == 20150513
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0924,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0924,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-20aRagexe
#if PACKETVER == 20150520
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0931,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0931,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-05-27aRagexe
#if PACKETVER == 20150527
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x083c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x083c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-03aRagexe
#if PACKETVER == 20150603
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0960,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0960,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2015-06-10aRagexe
#if PACKETVER == 20150610
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0925,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0957,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0925,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0957,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-06-17aRagexe, 2015-06-18aRagexe
#if PACKETVER == 20150617 || \
PACKETVER == 20150618
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-24aRagexe
#if PACKETVER == 20150624
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-01bRagexe, 2015-07-02aRagexe
#if PACKETVER == 20150701 || \
PACKETVER == 20150702
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0893,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ad,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0923,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0928,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0954,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ad,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0923,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0928,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0954,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-07-08cRagexe
#if PACKETVER == 20150708
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0872,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0872,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-15aRagexe
#if PACKETVER == 20150715
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0897,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0897,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-07-22bRagexe
#if PACKETVER == 20150722
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0880,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0880,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2015-07-29aRagexe
#if PACKETVER == 20150729
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0870,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0961,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0870,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0961,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2015-08-05aRagexe
#if PACKETVER == 20150805
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-12aRagexe
#if PACKETVER == 20150812
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-19aRagexe
#if PACKETVER == 20150819
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0281,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0919,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x022d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0281,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0919,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-26aRagexe, 2015-08-26bRagexe
#if PACKETVER == 20150826
- packet(0x0362,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x07ec,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a1,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0362,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x07ec,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a1,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2015-09-02aRagexe
#if PACKETVER == 20150902
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-09-09aRagexe
#if PACKETVER == 20150909
- packet(0x023b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0361,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0871,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0361,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0871,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-09-16aRagexe, 2015-09-16cRagexe
#if PACKETVER == 20150916
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0817,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0869,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0924,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0942,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0817,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0869,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0924,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0942,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-09-23bRagexe, 2015-09-23cRagexe, 2015-09-23dRagexe, 2015-09-23eRagexe, 2015-09-23fRagexe
#if PACKETVER == 20150923
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a6,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0936,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a6,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0936,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2015-10-01aRagexe
#if PACKETVER == 20151001
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-07aRagexe
#if PACKETVER == 20151007
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-14bRagexe
#if PACKETVER == 20151014
- packet(0x0202,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0874,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0881,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0944,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0202,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0874,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0881,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0944,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-10-21aRagexe, 2015-10-22aRagexe
#if PACKETVER == 20151021 || \
PACKETVER == 20151022
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-28cRagexe, 2015-10-28dRagexe, 2015-10-29aRagexe
#if PACKETVER == 20151028 || \
PACKETVER == 20151029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-04aRagexe
#if PACKETVER == 20151104
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0940,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2015-11-11aRagexe, 2015-11-11bRagexe
#if PACKETVER == 20151111
- packet(0x02c4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0862,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0969,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0969,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-18aRagexe
#if PACKETVER == 20151118
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0957,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-25bRagexe, 2015-11-25dRagexe
#if PACKETVER == 20151125
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0438,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0438,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2015-12-02aRagexe
#if PACKETVER == 20151202
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-12-09aRagexe
#if PACKETVER == 20151209
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0894,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0948,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0894,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0948,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2015-12-16aRagexe
#if PACKETVER == 20151216
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0361,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a2,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0966,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0968,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0361,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a2,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0966,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0968,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2015-12-23bRagexe
#if PACKETVER == 20151223
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0864,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0875,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08aa,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0923,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0965,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0864,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0875,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08aa,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0923,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0965,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2015-12-30aRagexe
#if PACKETVER == 20151230
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-06aRagexe
#if PACKETVER == 20160106
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-13aRagexe, 2016-01-13bRagexe, 2016-01-13bRagexe_2
#if PACKETVER == 20160113
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0864,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0893,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0932,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0864,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0893,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0932,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-01-20aRagexe
#if PACKETVER == 20160120
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-27cRagexe, 2016-01-27dRagexe
#if PACKETVER == 20160127
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-03aRagexe
#if PACKETVER == 20160203
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0947,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0947,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-11aRagexe
#if PACKETVER == 20160211
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-17aRagexe
#if PACKETVER == 20160217
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0864,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0873,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ad,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0920,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0926,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0941,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0864,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0873,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ad,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0920,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0926,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0941,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-02-24aRagexe
#if PACKETVER == 20160224
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0888,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0888,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-02bRagexe
#if PACKETVER == 20160302
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0883,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a9,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0883,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a9,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2016-03-09cRagexe
#if PACKETVER == 20160309
- packet(0x023b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x083c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0920,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x083c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0920,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-03-16aRagexe, 2016-03-18aRagexe
#if PACKETVER == 20160316 || \
PACKETVER == 20160318
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-23aRagexe, 2016-03-23bRagexe
#if PACKETVER == 20160323
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0883,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0883,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-30aRagexe, 2016-03-30bRagexe
#if PACKETVER == 20160330
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-06aRagexe, 2016-04-06bRagexe
#if PACKETVER == 20160406
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0879,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ac,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0879,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-04-14aRagexe, 2016-04-14bRagexe, 2016-04-14bRagexe_2, 2016-04-14cRagexe
#if PACKETVER == 20160414
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-20cRagexe
#if PACKETVER == 20160420
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-27aRagexe
#if PACKETVER == 20160427
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-04aRagexe
#if PACKETVER == 20160504
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0948,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0948,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-05-11aRagexe
#if PACKETVER == 20160511
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-18aRagexe
#if PACKETVER == 20160518
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-25aRagexe, 2016-05-26aRagexe
#if PACKETVER == 20160525 || \
PACKETVER == 20160526
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0945,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0945,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-01aRagexe
#if PACKETVER == 20160601
- packet(0x0202,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0924,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0924,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-08aRagexe, 2016-06-08bRagexe, 2016-06-09aRagexe
#if PACKETVER == 20160608 || \
PACKETVER == 20160609
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-15aRagexe
#if PACKETVER == 20160615
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0948,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0961,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0948,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0961,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2016-06-22aRagexe
#if PACKETVER == 20160622
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0890,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0890,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2016-06-29aRagexe, 2016-06-30aRagexe
#if PACKETVER == 20160629 || \
PACKETVER == 20160630
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x022d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0363,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0881,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0925,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0946,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0948,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0968,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0969,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x022d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0363,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0881,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0925,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0946,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0948,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0968,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0969,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2016-07-06bRagexe
#if PACKETVER == 20160706
- packet(0x0362,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0869,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0899,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a8,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0918,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x091b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0869,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0899,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a8,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0918,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x091b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-07-13aRagexe, 2016-07-13bRagexe, 2016-07-13cRagexe, 2016-07-13dRagexe
#if PACKETVER == 20160713
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0877,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0892,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0931,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0957,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0877,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0892,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0931,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0957,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-07-20aRagexe, 2016-07-20bRagexe
#if PACKETVER == 20160720
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0365,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08aa,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0365,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08aa,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2016-07-27aRagexe, 2016-07-27bRagexe
#if PACKETVER == 20160727
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0436,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0951,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0966,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0436,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0951,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0966,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2016-08-03bRagexe
#if PACKETVER == 20160803
- packet(0x0364,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a1,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0364,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2016-08-10aRagexe
#if PACKETVER == 20160810
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0860,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0860,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-08-17aRagexe
#if PACKETVER == 20160817
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x083c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08ab,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ac,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0929,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x083c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08ab,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ac,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0929,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-08-24aRagexe
#if PACKETVER == 20160824
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-08-31aRagexe, 2016-08-31bRagexe
#if PACKETVER == 20160831
- packet(0x022d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-09-07aRagexe
#if PACKETVER == 20160907
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-13aRagexe
#if PACKETVER == 20160913
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0865,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0875,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0949,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0950,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0952,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0865,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0875,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0949,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0950,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0952,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2016-09-21aRagexe
#if PACKETVER == 20160921
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-28cRagexe
#if PACKETVER == 20160928
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0897,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0919,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0957,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0897,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0919,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0957,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-10-05aRagexe
#if PACKETVER == 20161005
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ac,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ac,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-10-12aRagexe
#if PACKETVER == 20161012
- packet(0x023b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0880,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0893,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0937,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0880,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0893,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0937,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-10-19aRagexe
#if PACKETVER == 20161019
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-10-26bRagexe, 2016-10-26cRagexe
#if PACKETVER == 20161026
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0894,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0898,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0926,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0930,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0962,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0894,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0898,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0926,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0930,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0962,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-02aRagexe, 2016-11-03aRagexe
#if PACKETVER == 20161102 || \
PACKETVER == 20161103
- packet(0x0361,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0367,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x083c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0965,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0966,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0361,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x083c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0965,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0966,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2016-11-09aRagexe, 2016-11-09bRagexe
#if PACKETVER == 20161109
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0898,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0898,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-16aRagexe
#if PACKETVER == 20161116
- packet(0x0368,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0835,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0931,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0368,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0835,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0931,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-11-23aRagexe
#if PACKETVER == 20161123
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0861,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0861,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2016-11-30aRagexe, 2016-11-30bRagexe
#if PACKETVER == 20161130
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-07cRagexe, 2016-12-07eRagexe
#if PACKETVER == 20161207
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-14bRagexe, 2016-12-14cRagexe
#if PACKETVER == 20161214
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0862,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-21aRagexe, 2016-12-21bRagexe
#if PACKETVER == 20161221
- packet(0x035f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-12-28aRagexe
#if PACKETVER == 20161228
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0870,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ac,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0934,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0935,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0944,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0870,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ac,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0934,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0935,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0944,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2017-01-04aRagexe
#if PACKETVER == 20170104
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0896,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0896,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-11aRagexe
#if PACKETVER == 20170111
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-18aRagexe
#if PACKETVER == 20170118
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-01-25aRagexe
#if PACKETVER == 20170125
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0879,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0881,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0944,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0965,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0968,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0879,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0881,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0944,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0965,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0968,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-02-01aRagexe
#if PACKETVER == 20170201
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0886,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0886,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-08bRagexe
#if PACKETVER == 20170208
- packet(0x02c4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0932,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0932,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-15aRagexe
#if PACKETVER == 20170215
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a8,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a8,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2017-02-22aRagexe
#if PACKETVER == 20170222
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0866,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0866,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-28aRagexe, 2017-02-28bRagexe
#if PACKETVER == 20170228
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-03-08aRagexe
#if PACKETVER == 20170308
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-15cRagexe
#if PACKETVER == 20170315
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0952,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0952,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-03-22aRagexe, 2017-03-22bRagexe
#if PACKETVER == 20170322
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-29bRagexe, 2017-03-29cRagexe
#if PACKETVER == 20170329
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a8,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0929,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a8,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0929,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-05bRagexe, 2017-04-05cRagexe
#if PACKETVER == 20170405
- packet(0x022d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0363,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0860,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0860,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-12aRagexe
#if PACKETVER == 20170412
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0365,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0945,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0949,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0365,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0945,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0949,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-04-19aRagexe
#if PACKETVER == 20170419
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0931,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0965,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0931,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0965,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2017-04-26bRagexe
#if PACKETVER == 20170426
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-02aRagexe, 2017-05-02bRagexe
#if PACKETVER == 20170502
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-17aRagexe
#if PACKETVER == 20170517
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0868,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0896,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a2,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a8,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0868,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0896,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a2,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a8,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2017-05-24aRagexe, 2017-05-24bRagexe
#if PACKETVER == 20170524
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0868,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0894,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0923,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0967,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0868,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0894,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0923,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0967,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-05-31aRagexe
#if PACKETVER == 20170531
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0894,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0933,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0963,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0968,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0894,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0933,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0963,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0968,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-06-07cRagexe
#if PACKETVER == 20170607
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0862,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0925,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0949,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0862,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0925,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0949,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-06-14bRagexe
#if PACKETVER == 20170614
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0866,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0963,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0866,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0963,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2017-06-21bRagexe
#if PACKETVER == 20170621
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-06-28bRagexe
#if PACKETVER == 20170628
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-05aRagexe
#if PACKETVER == 20170705
- packet(0x0202,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0930,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0932,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0930,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0932,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-12bRagexe
#if PACKETVER == 20170712
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-19aRagexe
#if PACKETVER == 20170719
- packet(0x022d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0368,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0882,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-07-26aRagexe
#if PACKETVER == 20170726
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a3,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0954,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0954,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-01aRagexe, 2017-08-01bRagexe
#if PACKETVER == 20170801
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-09cRagexe
#if PACKETVER == 20170809
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a3,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a3,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-08-16cRagexe, 2017-08-16dRagexe
#if PACKETVER == 20170816
- packet(0x022d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0862,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0864,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0921,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0950,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x022d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0862,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0864,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0921,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0950,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-23aRagexe
#if PACKETVER == 20170823
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-30aRagexe, 2017-08-30bRagexe
#if PACKETVER == 20170830
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0951,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0951,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-09-06cRagexe
#if PACKETVER == 20170906
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0953,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0953,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-09-13cRagexe
#if PACKETVER == 20170913
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0923,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0927,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0923,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0927,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-09-20aRagexe
#if PACKETVER == 20170920
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0436,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0862,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0874,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0939,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0966,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0436,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0862,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0874,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0939,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0966,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x096a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-09-27bRagexe, 2017-09-27cRagexe, 2017-09-27dRagexe
#if PACKETVER == 20170927
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0361,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0899,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ad,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0922,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0923,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0899,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ad,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0922,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0923,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-10-02cRagexe
#if PACKETVER == 20171002
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0928,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0928,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-11aRagexe, 2017-10-11bRagexe
#if PACKETVER == 20171011
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0882,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0950,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0882,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0950,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-18aRagexe
#if PACKETVER == 20171018
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-25bRagexe, 2017-10-25cRagexe, 2017-10-25dRagexe, 2017-10-25eRagexe
#if PACKETVER == 20171025
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-01aRagexe
#if PACKETVER == 20171101
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0860,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0876,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0939,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0966,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0860,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0876,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0939,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0966,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-08aRagexe
#if PACKETVER == 20171108
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0863,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0947,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0949,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0963,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0965,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0863,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0949,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0963,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0965,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-15aRagexe
#if PACKETVER == 20171115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0890,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0890,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-22aRagexe
#if PACKETVER == 20171122
- packet(0x0281,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0838,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x083c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0862,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0867,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0877,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a9,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0945,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0968,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0281,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0838,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x083c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0862,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0867,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0877,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a9,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0945,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0968,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-11-29aRagexe
#if PACKETVER == 20171129
- packet(0x02c4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-06bRagexe, 2017-12-06cRagexe
#if PACKETVER == 20171206
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-13bRagexe
#if PACKETVER == 20171213
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-20aRagexe
#if PACKETVER == 20171220
- packet(0x0281,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0882,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0924,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0929,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0941,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0964,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0281,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0882,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0924,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0929,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0941,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0964,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2017-12-27aRagexe
#if PACKETVER == 20171227
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2018-01-03aRagexe, 2018-01-03bRagexe
#if PACKETVER == 20180103
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0363,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0876,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0922,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0363,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0876,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0922,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2018-01-17aRagexe
#if PACKETVER == 20180117
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-01-24bRagexe, 2018-01-31Ragexe
#if PACKETVER == 20180124 || \
PACKETVER == 20180131
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-07bRagexe, 2018-02-07cRagexe
#if PACKETVER == 20180207
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-13aRagexe, 2018-02-13bRagexe
#if PACKETVER == 20180213
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0882,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0917,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0922,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0882,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0917,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0922,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2018-02-21bRagexe
#if PACKETVER == 20180221
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0871,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0880,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0891,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0929,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0871,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0880,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0929,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-07bRagexe, 2018-03-09aRagexe
#if PACKETVER == 20180307 || \
PACKETVER == 20180309
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0893,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08aa,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0937,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0939,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0954,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0870,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0893,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08aa,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0937,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0939,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0941,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0954,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-14nRagexe
#if PACKETVER == 20180314
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0366,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0436,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0874,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0927,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0933,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0935,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0959,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0962,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0366,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0436,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0874,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0927,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0933,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0935,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0959,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0962,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+#endif
+
+// 2018-11-21bRagexe, 2018-11-28aRagexe, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-12aRagexe, 2018-12-12bRagexe, 2018-12-19bRagexe, 2018-12-26aRagexe, 2019-01-09aRagexe, 2019-01-16bRagexe, 2019-01-16cRagexe, 2019-01-23dRagexe, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-27aRagexe, 2019-02-28aRagexe, 2019-03-06bRagexe, 2019-03-06cRagexe, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-22aRagexe, 2019-03-27bRagexe, 2019-04-03aRagexe, 2019-04-17aRagexe, 2019-04-18aRagexe, 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 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190109 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER == 20190418 || \
+ 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
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
+#endif
+
+// 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
+#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
+ 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
diff --git a/src/map/packets_shuffle_re.h b/src/map/packets_shuffle_re.h
index 157a8a431..37b50c863 100644
--- a/src/map/packets_shuffle_re.h
+++ b/src/map/packets_shuffle_re.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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,13 +25,13 @@
#define MAP_PACKETS_SHUFFLE_RE_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
/* This file is autogenerated, please do not commit manual changes */
@@ -39,9582 +40,9582 @@
// 2012-07-10aRagexeRE, 2012-07-12aRagexeRE
#if PACKETVER == 20120710 || \
PACKETVER == 20120712
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0362,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0878,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0936,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0362,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0878,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2012-07-16aRagexeRE
#if PACKETVER == 20120716
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-07-24aRagexeRE
#if PACKETVER == 20120724
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0935,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0935,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-08-01aRagexeRE, 2012-08-01bRagexeRE
#if PACKETVER == 20120801
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0438,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0946,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0438,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0946,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2012-08-08aRagexeRE, 2012-08-08bRagexeRE, 2012-08-08cRagexeRE, 2012-08-08dRagexeRE
#if PACKETVER == 20120808
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-08-14aRagexeRE, 2012-08-14bRagexeRE
#if PACKETVER == 20120814
- packet(0x0281,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0815,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0875,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0929,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0969,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0281,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0815,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0875,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0969,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-08-22aRagexeRE, 2012-08-22bRagexeRE, 2012-08-22cRagexeRE
#if PACKETVER == 20120822
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0872,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0935,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0953,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0958,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0872,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0935,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0953,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0958,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-08-30aRagexeRE, 2012-08-30bRagexeRE
#if PACKETVER == 20120830
- packet(0x022d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0926,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0926,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-05aRagexeRE
#if PACKETVER == 20120905
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0895,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0917,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0944,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0950,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0895,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0917,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0944,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0950,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2012-09-11aRagexeRE
#if PACKETVER == 20120911
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0930,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0935,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0948,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0949,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0930,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0935,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0948,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0949,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2012-09-19aRagexeRE
#if PACKETVER == 20120919
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-09-25aRagexeRE, 2012-09-26aRagexeRE
#if PACKETVER == 20120925 || \
PACKETVER == 20120926
- packet(0x07e4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0873,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0932,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0950,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x07e4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0873,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0932,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0950,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2012-10-10aRagexeRE, 2012-10-10bRagexeRE, 2012-10-11aRagexeRE
#if PACKETVER == 20121010 || \
PACKETVER == 20121011
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0817,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0896,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0817,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0896,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2012-10-17aRagexeRE, 2012-10-17bRagexeRE
#if PACKETVER == 20121017
- packet(0x023b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-10-24aRagexeRE
#if PACKETVER == 20121024
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0931,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0942,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0954,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0955,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0965,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0931,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0942,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0954,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0955,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0965,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2012-10-31aRagexeRE
#if PACKETVER == 20121031
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-11-07aRagexeRE
#if PACKETVER == 20121107
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0871,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0873,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0896,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0922,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0966,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0871,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0873,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0896,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0966,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2012-11-14aRagexeRE
#if PACKETVER == 20121114
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0815,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0899,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08aa,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0935,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0965,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0815,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0899,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08aa,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0935,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0965,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2012-11-21aRagexeRE
#if PACKETVER == 20121121
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a7,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a7,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2012-11-28aRagexeRE
#if PACKETVER == 20121128
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0861,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0931,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0950,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0953,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0861,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0931,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0950,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0953,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2012-12-05aRagexeRE, 2012-12-05bRagexeRE
#if PACKETVER == 20121205
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0863,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0878,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0959,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0863,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0878,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0959,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2012-12-12aRagexeRE, 2012-12-12bRagexeRE, 2012-12-12cRagexeRE
#if PACKETVER == 20121212
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0368,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0893,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0932,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0368,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0893,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0932,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-18aRagexeRE, 2012-12-18bRagexeRE
#if PACKETVER == 20121218
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0872,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2012-12-27aRagexeRE
#if PACKETVER == 20121227
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x02c4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0870,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0896,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x02c4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0870,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0896,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-01-03aRagexeRE
#if PACKETVER == 20130103
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-09aRagexeRE
#if PACKETVER == 20130109
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08aa,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0931,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0955,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0931,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0955,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-01-15aRagexeRE, 2013-01-16aRagexeRE
#if PACKETVER == 20130115 || \
PACKETVER == 20130116
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0861,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0895,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0918,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0939,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0861,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0895,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0918,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0939,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2013-01-21aRagexeRE
#if PACKETVER == 20130121
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-01-30aRagexeRE
#if PACKETVER == 20130130
- packet(0x035f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a0,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0956,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x035f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a0,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0956,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2013-02-06aRagexeRE
#if PACKETVER == 20130206
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0925,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0925,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-15aRagexeRE
#if PACKETVER == 20130215
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-20bRagexeRE
#if PACKETVER == 20130220
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-02-27aRagexeRE
#if PACKETVER == 20130227
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a0,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0924,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a0,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0924,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2013-03-06aRagexeRE, 2013-03-06bRagexeRE
#if PACKETVER == 20130306
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0367,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0368,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0802,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0898,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0951,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0367,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0368,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0802,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0898,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0951,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-03-13aRagexeRE, 2013-03-13bRagexeRE, 2013-03-13cRagexeRE
#if PACKETVER == 20130313
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0920,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0920,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-03-20bRagexeRE, 2013-03-20cRagexeRE
#if PACKETVER == 20130320
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0438,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0874,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0881,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0933,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0438,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0868,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0874,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0881,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0922,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0933,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-03-27bRagexeRE
#if PACKETVER == 20130327
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0893,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0939,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0961,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0967,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0893,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0939,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0961,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0967,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2013-04-03aRagexeRE
#if PACKETVER == 20130403
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0942,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0950,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0942,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0950,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-04-10aRagexeRE
#if PACKETVER == 20130410
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0881,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a7,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0933,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0955,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0881,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a7,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0933,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0955,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-04-17aRagexeRE
#if PACKETVER == 20130417
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x096a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x096a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2013-04-24aRagexeRE
#if PACKETVER == 20130424
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-02aRagexeRE
#if PACKETVER == 20130502
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0877,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0877,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2013-05-08bRagexeRE
#if PACKETVER == 20130508
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-15aRagexeRE
#if PACKETVER == 20130515
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0947,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0947,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-05-22aRagexeRE
#if PACKETVER == 20130522
- packet(0x0360,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a3,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0965,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0360,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a3,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0965,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2013-05-29aRagexeRE
#if PACKETVER == 20130529
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0888,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a7,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0918,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0936,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0938,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a7,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0918,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0936,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0938,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-06-05cRagexeRE
#if PACKETVER == 20130605
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-12bRagexeRE
#if PACKETVER == 20130612
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-06-18#1aRagexeRE
#if PACKETVER == 20130618
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0951,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0890,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0932,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0951,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2013-06-26_3bRagexeRE, 2013-06-26aRagexeRE
#if PACKETVER == 20130626
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-03bRagexeRE
#if PACKETVER == 20130703
- packet(0x0202,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-10aRagexeRE, 2013-07-10bRagexeRE, 2013-07-10cRagexeRE, 2013-07-10dRagexeRE, 2013-07-10eRagexeRE
#if PACKETVER == 20130710
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-07-17cRagexeRE, 2013-07-17dRagexeRE, 2013-07-17eRagexeRE
#if PACKETVER == 20130717
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0863,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0882,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0897,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0960,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0863,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0882,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0897,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0960,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2013-07-24eRagexeRE, 2013-07-24fRagexeRE
#if PACKETVER == 20130724
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0924,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0953,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0954,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0956,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0924,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0953,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0954,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0956,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-07-31cRagexeRE
#if PACKETVER == 20130731
- packet(0x022d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0889,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0894,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0962,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x022d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0894,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0962,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2013-08-07aRagexeRE
#if PACKETVER == 20130807
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-08-14aRagexeRE
#if PACKETVER == 20130814
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0873,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0874,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0896,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0936,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0937,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0947,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0959,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0873,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0874,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0936,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0937,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0947,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0959,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2013-08-21dRagexeRE
#if PACKETVER == 20130821
- packet(0x0202,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0892,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0202,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0892,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x093e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2013-08-28bRagexeRE, 2013-08-28cRagexeRE
#if PACKETVER == 20130828
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0817,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0917,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0817,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0917,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2013-09-04bRagexeRE
#if PACKETVER == 20130904
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-09-11aRagexeRE, 2013-09-11bRagexeRE
#if PACKETVER == 20130911
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0891,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0948,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0891,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0948,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-09-17aRagexeRE
#if PACKETVER == 20130917
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0863,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0895,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a8,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0934,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0863,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0895,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a8,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0934,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2013-09-25aRagexeRE, 2013-09-25bRagexeRE
#if PACKETVER == 20130925
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-02aRagexeRE
#if PACKETVER == 20131002
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-10-08bRagexeRE
#if PACKETVER == 20131008
- packet(0x0202,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0362,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0863,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0883,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0927,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0936,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0956,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0362,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0863,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0883,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0927,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0936,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0956,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2013-10-16aRagexeRE, 2013-10-16bRagexeRE
#if PACKETVER == 20131016
- packet(0x022d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x07ec,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0867,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0870,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0894,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0927,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0962,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x07ec,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0867,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0870,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0894,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0927,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0962,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2013-10-23aRagexeRE
#if PACKETVER == 20131023
- packet(0x0366,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0835,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0923,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0935,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0937,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0366,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0923,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0935,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0937,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2013-10-30aRagexeRE
#if PACKETVER == 20131030
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-11-06aRagexeRE
#if PACKETVER == 20131106
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0369,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0887,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0894,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0919,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0942,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0962,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0967,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0369,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0887,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0894,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0919,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0942,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0962,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0967,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2013-11-13aRagexeRE
#if PACKETVER == 20131113
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0879,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0936,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0950,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0964,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0879,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0936,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0950,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0964,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2013-11-20eRagexeRE
#if PACKETVER == 20131120
- packet(0x0361,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0802,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0817,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0917,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0926,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0950,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0802,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0817,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0917,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0926,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0950,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2013-11-27aRagexeRE, 2013-11-27bRagexeRE
#if PACKETVER == 20131127
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0930,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0930,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2013-12-04dRagexeRE, 2013-12-04eRagexeRE
#if PACKETVER == 20131204
- packet(0x0365,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0862,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0869,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0879,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0882,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0928,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x092d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0961,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0365,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0862,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0869,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0879,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0882,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0928,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x092d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0961,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2013-12-11cRagexeRE, 2013-12-11eRagexeRE
#if PACKETVER == 20131211
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a3,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a3,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-18aRagexeRE
#if PACKETVER == 20131218
- packet(0x022d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ab,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0947,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ab,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0947,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-23bRagexeRE, 2013-12-23xRagexeRE
#if PACKETVER == 20131223
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2013-12-30aRagexeRE
#if PACKETVER == 20131230
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0365,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0369,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0968,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x096a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0365,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0369,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0968,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x096a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-01-08bRagexeRE, 2014-01-08cRagexeRE
#if PACKETVER == 20140108
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-01-15cRagexeRE, 2014-01-15dRagexeRE, 2014-01-15eRagexeRE
#if PACKETVER == 20140115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-01-22aRagexeRE
#if PACKETVER == 20140122
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0925,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x092f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0925,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x092f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-01-29bRagexeRE
#if PACKETVER == 20140129
- packet(0x0281,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0885,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0885,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-05bRagexeRE
#if PACKETVER == 20140205
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0938,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0938,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-02-12aRagexeRE
#if PACKETVER == 20140212
- packet(0x02c4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0369,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0438,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0874,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a1,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a7,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0930,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0952,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0953,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x02c4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0369,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0438,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0874,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a1,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a7,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0930,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0952,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0953,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2014-02-19aRagexeRE, 2014-02-19bRagexeRE
#if PACKETVER == 20140219
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0860,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0868,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0927,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0953,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0961,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0860,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0868,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0927,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0953,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0961,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2014-02-26aRagexeRE, 2014-02-26bRagexeRE
#if PACKETVER == 20140226
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0887,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0941,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0887,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0941,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-05aRagexeRE, 2014-03-05bRagexeRE
#if PACKETVER == 20140305
- packet(0x0202,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-03-12bRagexeRE
#if PACKETVER == 20140312
- packet(0x0202,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0894,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0948,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0894,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0948,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2014-03-19aRagexeRE
#if PACKETVER == 20140319
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0815,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0864,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0883,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0944,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0947,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0955,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x096a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0815,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0864,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0883,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0944,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0947,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0955,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x096a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2014-03-26cRagexeRE
#if PACKETVER == 20140326
- packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x083c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08aa,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0969,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0362,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x083c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08aa,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0969,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-04-02eRagexeRE, 2014-04-02fRagexeRE
#if PACKETVER == 20140402
- packet(0x023b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0867,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0868,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0882,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x093f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0944,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0867,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0868,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0882,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0933,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x093f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0944,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2014-04-09aRagexeRE
#if PACKETVER == 20140409
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0868,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0884,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0896,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a7,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0942,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0947,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0868,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0884,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0896,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a7,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0942,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0947,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2014-04-16aRagexeRE
#if PACKETVER == 20140416
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-04-23aRagexeRE
#if PACKETVER == 20140423
- packet(0x022d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0890,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x091a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0890,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x091a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-04-30aRagexeRE
#if PACKETVER == 20140430
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0884,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0899,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a1,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0953,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0884,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0899,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2014-05-08bRagexeRE
#if PACKETVER == 20140508
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0932,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0932,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-05-14bRagexeRE, 2014-05-14cRagexeRE
#if PACKETVER == 20140514
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0817,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0921,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0965,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0817,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0921,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0965,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2014-05-21aRagexeRE
#if PACKETVER == 20140521
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-05-28aRagexeRE
#if PACKETVER == 20140528
- packet(0x0202,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0862,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0875,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0877,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0894,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a8,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0963,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0202,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0862,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0875,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0877,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a8,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0963,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2014-06-05aRagexeRE
#if PACKETVER == 20140605
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0921,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0921,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-06-11bRagexeRE
#if PACKETVER == 20140611
- packet(0x0364,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0838,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0878,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0893,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0894,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0924,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0950,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0951,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0965,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0364,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0838,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0878,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0893,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0894,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0924,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0950,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0951,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0965,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2014-06-18cRagexeRE
#if PACKETVER == 20140618
- packet(0x085d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0878,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0890,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0945,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x085d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0878,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0890,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0945,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-06-25aRagexeRE
#if PACKETVER == 20140625
- packet(0x0202,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0815,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0897,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0923,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0968,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0815,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0897,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0923,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0968,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-02aRagexeRE
#if PACKETVER == 20140702
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x07e4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a0,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0925,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0933,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x07e4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a0,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0925,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0933,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-07-09aRagexeRE
#if PACKETVER == 20140709
- packet(0x0364,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0877,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0888,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0894,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0897,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0898,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0934,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0877,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0888,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0894,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0897,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0898,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0934,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2014-07-16aRagexeRE
#if PACKETVER == 20140716
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0871,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0881,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0918,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0926,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0871,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0881,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0918,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0926,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2014-07-23aRagexeRE, 2014-07-23bRagexeRE
#if PACKETVER == 20140723
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0819,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0888,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0891,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0896,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0934,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0939,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0945,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0947,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0960,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0819,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0888,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0891,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0896,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0934,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0939,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0945,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0947,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0960,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2014-07-30bRagexeRE
#if PACKETVER == 20140730
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0367,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07ec,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0802,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0892,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0924,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0367,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0892,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0924,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-08-06aRagexeRE
#if PACKETVER == 20140806
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0948,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0948,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-13aRagexeRE
#if PACKETVER == 20140813
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-08-20aRagexeRE
#if PACKETVER == 20140820
- packet(0x035f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0861,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0899,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0937,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x093a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0951,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0861,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0899,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0937,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x093a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0951,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-08-27aRagexeRE
#if PACKETVER == 20140827
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-03aRagexeRE
#if PACKETVER == 20140903
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0945,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0945,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-09-17cRagexeRE
#if PACKETVER == 20140917
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0364,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0367,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0898,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0966,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0364,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0367,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0898,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0951,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0966,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-09-24bRagexeRE, 2014-09-24cRagexeRE
#if PACKETVER == 20140924
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0886,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0894,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0918,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0925,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0928,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0949,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0886,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0894,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0918,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0925,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0928,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0949,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2014-10-01bRagexeRE, 2014-10-01cRagexeRE
#if PACKETVER == 20141001
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0885,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0885,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2014-10-08bRagexeRE, 2014-10-08cRagexeRE
#if PACKETVER == 20141008
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-15bRagexeRE, 2014-10-16aRagexeRE
#if PACKETVER == 20141015 || \
PACKETVER == 20141016
- packet(0x022d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0922,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0922,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-22aRagexeRE
#if PACKETVER == 20141022
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0878,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0896,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08aa,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0878,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0896,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08aa,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-10-29aRagexeRE
#if PACKETVER == 20141029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-11-05aRagexeRE, 2014-11-05bRagexeRE
#if PACKETVER == 20141105
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0864,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0874,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0950,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x095f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0968,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0864,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0874,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0892,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0950,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x095f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0968,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2014-11-12aRagexeRE
#if PACKETVER == 20141112
- packet(0x0362,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0438,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0885,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a0,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0926,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0929,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0962,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0362,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0438,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0885,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a0,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0926,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0929,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0962,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2014-11-19bRagexeRE
#if PACKETVER == 20141119
- packet(0x0202,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a8,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0918,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0921,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0963,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0202,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a8,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0918,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0921,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0940,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0963,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2014-11-26aRagexeRE, 2014-11-26bRagexeRE, 2014-11-26cRagexeRE, 2014-11-26dRagexeRE, 2014-11-26eRagexeRE
#if PACKETVER == 20141126
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0871,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0871,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-03aRagexeRE
#if PACKETVER == 20141203
- packet(0x0202,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0281,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0880,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a5,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0281,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0880,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a5,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2014-12-10cRagexeRE
#if PACKETVER == 20141210
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0954,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0958,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0954,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0958,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2014-12-17aRagexeRE
#if PACKETVER == 20141217
- packet(0x0360,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0889,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x088e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ab,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0919,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0924,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0930,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0933,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0944,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0945,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0948,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0360,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0889,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x088e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ab,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0919,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0924,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0930,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0933,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0944,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0945,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0948,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2014-12-23cRagexeRE
#if PACKETVER == 20141223
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0438,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a3,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08ac,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0438,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a3,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08ac,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2014-12-31aRagexeRE
#if PACKETVER == 20141231
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-07aRagexeRE
#if PACKETVER == 20150107
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0895,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0895,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-14aRagexeRE
#if PACKETVER == 20150114
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0899,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0899,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-21aRagexeRE, 2015-01-21bRagexeRE
#if PACKETVER == 20150121
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0959,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0959,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-01-28aRagexeRE
#if PACKETVER == 20150128
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x023b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0368,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0864,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0874,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0875,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0888,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x023b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0864,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0874,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0875,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0888,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2015-02-04cRagexeRE
#if PACKETVER == 20150204
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-11aRagexeRE
#if PACKETVER == 20150211
- packet(0x023b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0862,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0883,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0886,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08aa,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0862,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0883,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0886,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08aa,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-02-17aRagexeRE
#if PACKETVER == 20150217
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-02-25aRagexeRE, 2015-02-25bRagexeRE, 2015-02-25cRagexeRE, 2015-02-25dRagexeRE, 2015-02-25eRagexeRE, 2015-02-26aRagexeRE
#if PACKETVER == 20150225 || \
PACKETVER == 20150226
- packet(0x02c4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0948,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0955,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x02c4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0948,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0955,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-03-04aRagexeRE, 2015-03-04bRagexeRE
#if PACKETVER == 20150304
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0879,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0879,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-03-11aRagexeRE, 2015-03-11bRagexeRE
#if PACKETVER == 20150311
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0896,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a5,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0943,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0957,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0958,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0963,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0964,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0896,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a5,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0943,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0957,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0958,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0963,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0964,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2015-03-18aRagexeRE, 2015-03-18bRagexeRE, 2015-03-18cRagexeRE
#if PACKETVER == 20150318
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x023b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0281,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0862,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0889,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0951,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0958,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x023b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0862,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0889,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0951,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0958,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-03-25bRagexeRE, 2015-03-25cRagexeRE
#if PACKETVER == 20150325
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0365,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0883,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0897,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a7,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0931,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0932,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0365,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0883,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0897,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a7,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0931,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0932,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
#endif
// 2015-04-01bRagexeRE
#if PACKETVER == 20150401
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0437,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0875,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0895,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0898,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0924,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0938,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0953,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0437,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0875,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0895,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0898,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0924,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0938,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0953,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-04-08aRagexeRE
#if PACKETVER == 20150408
- packet(0x0819,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0957,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0963,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0819,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0957,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0963,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-04-15aRagexeRE
#if PACKETVER == 20150415
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0364,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0368,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0880,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0898,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a0,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x093c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0946,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0953,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0364,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0368,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0880,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0898,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a0,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x093c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0941,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0946,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0953,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-04-22aRagexeRE
#if PACKETVER == 20150422
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0955,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0955,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-04-29aRagexeRE
#if PACKETVER == 20150429
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0886,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a8,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ad,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0886,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a8,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ad,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-07bRagexeRE
#if PACKETVER == 20150507
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0955,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0955,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-13aRagexeRE
#if PACKETVER == 20150513
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a8,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0924,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0960,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0883,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a8,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0924,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0960,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-05-20aRagexeRE
#if PACKETVER == 20150520
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0868,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0882,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a2,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0924,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0931,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0936,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0960,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0868,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0882,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a2,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0924,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0931,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0936,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-05-27aRagexeRE
#if PACKETVER == 20150527
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x083c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x083c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-03bRagexeRE
#if PACKETVER == 20150603
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0437,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0864,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0867,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a1,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0960,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0969,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x096a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0437,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0864,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0867,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a1,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0960,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0969,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x096a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2015-06-10aRagexeRE
#if PACKETVER == 20150610
- packet(0x022d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07e4,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0872,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0877,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0897,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a0,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0925,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0932,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0946,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0949,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0957,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0438,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07e4,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0872,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0877,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0897,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a0,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0925,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0932,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0946,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0949,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0957,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-06-17aRagexeRE, 2015-06-18aRagexeRE
#if PACKETVER == 20150617 || \
PACKETVER == 20150618
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-06-24aRagexeRE
#if PACKETVER == 20150624
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0365,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0940,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0365,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0940,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-01bRagexeRE
#if PACKETVER == 20150701
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0893,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ad,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0919,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0923,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0928,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0954,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0968,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0893,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ad,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0919,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0923,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0928,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0954,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0958,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0968,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-07-08bRagexeRE, 2015-07-08cRagexeRE, 2015-07-08dRagexeRE
#if PACKETVER == 20150708
- packet(0x022d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0872,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0872,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-07-15aRagexeRE
#if PACKETVER == 20150715
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0362,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0436,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0835,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0873,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0895,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0896,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0897,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0899,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0956,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0965,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0362,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0436,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0835,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0873,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0895,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0896,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0897,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0899,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0956,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0965,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2015-07-22bRagexeRE
#if PACKETVER == 20150722
- packet(0x023b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0361,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0368,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0811,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0880,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0884,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0361,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0368,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0811,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0880,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0884,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2015-07-29aRagexeRE
#if PACKETVER == 20150729
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0870,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0886,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ac,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x093a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0955,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0961,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0870,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0886,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ac,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x093a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0955,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0961,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2015-08-05dRagexeRE
#if PACKETVER == 20150805
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-12aRagexeRE
#if PACKETVER == 20150812
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-19aRagexeRE, 2015-08-19bRagexeRE
#if PACKETVER == 20150819
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x022d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0281,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0862,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0919,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0927,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0961,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0967,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x022d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0281,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0919,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0927,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0961,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0967,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-08-26aRagexeRE, 2015-08-26bRagexeRE
#if PACKETVER == 20150826
- packet(0x0362,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x07ec,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0819,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0861,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a1,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0945,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0951,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0959,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0968,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0362,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x07ec,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0819,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a1,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0945,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0951,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0959,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0968,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0969,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2015-09-02aRagexeRE
#if PACKETVER == 20150902
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0360,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0367,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0802,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x083c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0863,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0886,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0897,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0899,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0941,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0947,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0360,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0367,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0802,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x083c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0863,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0886,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0897,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0899,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0941,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0947,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2015-09-09aRagexeRE
#if PACKETVER == 20150909
- packet(0x023b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0361,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0437,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0871,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0886,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0962,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x023b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0361,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0437,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0871,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0886,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0962,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2015-09-16cRagexeRE
#if PACKETVER == 20150916
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0817,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0869,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0873,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0920,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0924,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0942,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0960,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0817,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0869,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0873,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0920,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0924,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0942,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0960,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-09-23bRagexeRE, 2015-09-23eRagexeRE, 2015-09-23fRagexeRE
#if PACKETVER == 20150923
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0817,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0879,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a6,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0936,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0817,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0879,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a6,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0936,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2015-10-01bRagexeRE
#if PACKETVER == 20151001
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0960,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0960,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-07aRagexeRE
#if PACKETVER == 20151007
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-14bRagexeRE
#if PACKETVER == 20151014
- packet(0x0202,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0874,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0881,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x089f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0944,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x094f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0956,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
+ packet(0x0202,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0874,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0881,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x089f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0944,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x094f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0956,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
#endif
// 2015-10-21aRagexeRE, 2015-10-22aRagexeRE
#if PACKETVER == 20151021 || \
PACKETVER == 20151022
- packet(0x023b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-10-28bRagexeRE, 2015-10-28bRagexeRE_2, 2015-10-28cRagexeRE, 2015-10-28dRagexeRE, 2015-10-29aRagexeRE
#if PACKETVER == 20151028 || \
PACKETVER == 20151029
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-04aRagexeRE
#if PACKETVER == 20151104
- packet(0x023b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0363,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0886,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a3,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a5,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093a,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0940,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0363,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0886,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a5,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093a,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2015-11-11aRagexeRE
#if PACKETVER == 20151111
- packet(0x02c4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0862,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0885,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0967,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0969,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0885,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0967,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0969,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-18aRagexeRE
#if PACKETVER == 20151118
- packet(0x022d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0921,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0943,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0957,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0921,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0943,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-11-25bRagexeRE, 2015-11-25cRagexeRE, 2015-11-25dRagexeRE
#if PACKETVER == 20151125
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x0438,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0838,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0863,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x0885,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a9,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0959,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0438,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0838,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0863,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a9,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0959,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2015-12-02bRagexeRE
#if PACKETVER == 20151202
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2015-12-09aRagexeRE
#if PACKETVER == 20151209
- packet(0x0365,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0811,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0819,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,36,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD
- packet(0x085d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0866,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0894,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a1,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0932,-1,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0948,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094a,18,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0956,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0961,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0964,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
+ packet(0x0365,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0811,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0819,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pStoragePassword,2,4,20); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0866,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0894,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a1,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0932,clif->pItemListWindowSelected,2,4,8,12); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0948,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094a,clif->pPartyBookingRegisterReq,2,4,6); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0956,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0961,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0964,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
#endif
// 2015-12-16aRagexeRE
#if PACKETVER == 20151216
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0361,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0885,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a2,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0966,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0968,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0361,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0436,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0870,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0885,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a2,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0954,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0966,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0968,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2015-12-23bRagexeRE
#if PACKETVER == 20151223
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0362,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0802,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0815,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0864,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0875,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0876,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0881,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0884,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0886,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08aa,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0923,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0924,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0965,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0967,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0362,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0802,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0815,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0864,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0875,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0876,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0881,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0884,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0886,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08aa,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0923,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0924,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0965,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0967,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2015-12-30aRagexeRE
#if PACKETVER == 20151230
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0861,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x088e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0923,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0949,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0861,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x088e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0923,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0949,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-06aRagexeRE
#if PACKETVER == 20160106
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0861,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0861,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-13aRagexeRE, 2016-01-13bRagexeRE, 2016-01-13bRagexeRE_2, 2016-01-13cRagexeRE
#if PACKETVER == 20160113
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0864,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0893,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a0,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a6,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08aa,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0919,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0930,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0932,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0941,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0967,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0864,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0893,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a0,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a6,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08aa,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0919,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0930,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0932,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0941,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0967,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-01-20aRagexeRE
#if PACKETVER == 20160120
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0865,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0865,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-01-27aRagexeRE, 2016-01-27aRagexeRE_2, 2016-01-27bRagexeRE
#if PACKETVER == 20160127
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-03aRagexeRE
#if PACKETVER == 20160203
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0835,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0940,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0947,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0954,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0835,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0940,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0947,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0954,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-11aRagexeRE
#if PACKETVER == 20160211
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-02-17aRagexeRE, 2016-02-17bRagexeRE, 2016-02-17bRagexeRE_2, 2016-02-17cRagexeRE
#if PACKETVER == 20160217
- packet(0x0202,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x023b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0362,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0365,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0864,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0870,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0873,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x087a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a9,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ac,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ad,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0920,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0926,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0941,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0966,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0202,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x023b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0362,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0365,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0864,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0870,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0873,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x087a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a9,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ac,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ad,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x091d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0920,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0926,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0941,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0966,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2016-02-24aRagexeRE, 2016-02-24bRagexeRE
#if PACKETVER == 20160224
- packet(0x022d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0364,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0436,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0861,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0888,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0929,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0936,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0938,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0364,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0436,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0861,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0888,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0929,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0936,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0938,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-02bRagexeRE
#if PACKETVER == 20160302
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0367,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0802,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0864,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0865,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0867,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0868,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0883,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a6,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a9,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094e,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0950,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0967,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0367,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0802,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0864,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0865,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0867,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0868,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0883,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a6,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a9,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094e,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2016-03-09aRagexeRE
#if PACKETVER == 20160309
- packet(0x023b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x083c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0920,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0929,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0932,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0956,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x023b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x083c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0920,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0929,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0932,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0956,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-03-16aRagexeRE
#if PACKETVER == 20160316
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-23aRagexeRE, 2016-03-23bRagexeRE
#if PACKETVER == 20160323
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0869,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0878,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0883,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0869,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0878,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0883,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-03-30aRagexeRE
#if PACKETVER == 20160330
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0365,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0925,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0939,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x093b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0365,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0925,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0939,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x093b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-06aRagexeRE
#if PACKETVER == 20160406
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x07e4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0869,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0879,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0898,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ac,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0934,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0953,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x07e4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0869,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0879,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0898,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ac,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0934,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0949,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0953,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-04-14aRagexeRE, 2016-04-14bRagexeRE
#if PACKETVER == 20160414
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0363,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0922,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0931,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0934,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0945,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0363,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0922,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0931,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0934,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0945,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-20aRagexeRE
#if PACKETVER == 20160420
- packet(0x022d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0872,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0935,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0872,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0935,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-04-27aRagexeRE
#if PACKETVER == 20160427
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0835,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0835,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-04aRagexeRE
#if PACKETVER == 20160504
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0365,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x083c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0884,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0918,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0924,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0940,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0941,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0948,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0952,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0969,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0365,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x083c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0884,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0918,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0924,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0940,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0941,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0948,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0952,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0969,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-05-11aRagexeRE, 2016-05-11bRagexeRE
#if PACKETVER == 20160511
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0918,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0918,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-18aRagexeRE
#if PACKETVER == 20160518
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0874,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0928,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0874,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0928,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-05-25aRagexeRE
#if PACKETVER == 20160525
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0867,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x092c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0945,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0867,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x092c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0945,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-01aRagexeRE
#if PACKETVER == 20160601
- packet(0x0202,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0870,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x088f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0895,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a7,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ac,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0924,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0961,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0870,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x088f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0895,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ac,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0924,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0961,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-08aRagexeRE, 2016-06-08bRagexeRE
#if PACKETVER == 20160608
- packet(0x022d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0437,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07ec,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0889,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0899,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0437,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07ec,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0802,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0889,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0899,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-06-15aRagexeRE
#if PACKETVER == 20160615
- packet(0x0281,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x083c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0866,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0870,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0887,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x092f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0947,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0948,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0958,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0961,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x0281,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x083c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0866,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0870,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0887,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x092f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0947,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0948,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0958,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0961,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2016-06-22aRagexeRE
#if PACKETVER == 20160622
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07e4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0867,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0887,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0890,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0892,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a8,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0936,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07e4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0867,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0887,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0890,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0892,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a8,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0936,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
#endif
// 2016-06-29aRagexeRE, 2016-06-30aRagexeRE
#if PACKETVER == 20160629 || \
PACKETVER == 20160630
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x022d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0363,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0861,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0867,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x086b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0881,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0922,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0925,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0946,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0948,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0957,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0968,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0969,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x022d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0363,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0861,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0867,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x086b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0881,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0922,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0925,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0946,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0948,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0957,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0968,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0969,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2016-07-06cRagexeRE
#if PACKETVER == 20160706
- packet(0x0362,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x085f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0869,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x086b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0884,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0886,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0899,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a8,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0918,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x091b,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0927,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0929,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x093d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0945,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0958,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0362,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x085f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0869,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x086b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0884,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0899,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a8,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0918,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x091b,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0927,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0929,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x093d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0945,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0958,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2016-07-13aRagexeRE, 2016-07-13bRagexeRE
#if PACKETVER == 20160713
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0363,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0838,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0877,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0883,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0892,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x089a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0921,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0922,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0931,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0944,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0945,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0957,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x095b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0363,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0838,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0877,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0883,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0892,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x089a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0921,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0922,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0931,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0944,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0945,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0947,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0957,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-07-20aRagexeRE, 2016-07-20bRagexeRE
#if PACKETVER == 20160720
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0363,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0365,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0838,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x085b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0883,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a0,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08aa,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0917,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x091c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093b,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0946,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0953,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0363,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0365,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0838,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x085b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0883,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a0,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08aa,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x091c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093b,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0946,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0953,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2016-07-27aRagexeRE, 2016-07-27bRagexeRE
#if PACKETVER == 20160727
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x023b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0436,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x07ec,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0868,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0869,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0887,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a7,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0936,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0951,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0966,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x023b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0436,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x07ec,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0868,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0869,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0887,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0891,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a7,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0936,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0951,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0966,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2016-08-03bRagexeRE
#if PACKETVER == 20160803
- packet(0x0364,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0878,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0886,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0887,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0888,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0895,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08a1,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0929,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0930,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0932,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0937,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x093a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x093e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0952,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0955,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0956,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0959,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x0364,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0886,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0887,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0888,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0895,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08a1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0929,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0930,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0932,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0937,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x093a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x093e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0952,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0955,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0956,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0959,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2016-08-10aRagexeRE
#if PACKETVER == 20160810
- packet(0x0361,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0860,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0875,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0888,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0890,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0926,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0361,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0860,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0875,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0888,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0890,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-08-17aRagexeRE
#if PACKETVER == 20160817
- packet(0x0364,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x083c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x085c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0867,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0891,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a5,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a9,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08ab,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ac,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0929,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0939,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0963,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0364,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x083c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x085c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0867,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0891,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a5,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a9,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08ab,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ac,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0929,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0939,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0960,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0963,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-08-24aRagexeRE
#if PACKETVER == 20160824
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-08-31aRagexeRE, 2016-08-31bRagexeRE
#if PACKETVER == 20160831
- packet(0x022d,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0874,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x087c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08a8,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a9,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0938,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0946,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0950,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0954,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0957,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0960,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0964,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x022d,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0874,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x087c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08a8,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a9,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0938,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0946,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0950,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0954,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0957,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0960,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0964,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-09-07aRagexeRE
#if PACKETVER == 20160907
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-13aRagexeRE
#if PACKETVER == 20160913
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0865,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0874,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0875,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0889,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x088e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0891,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a5,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0949,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0950,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0952,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0963,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0968,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0865,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0874,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0875,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0889,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x088e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0891,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0949,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0950,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0952,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0963,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0968,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
#endif
// 2016-09-21bRagexeRE
#if PACKETVER == 20160921
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-09-28cRagexeRE, 2016-09-28dRagexeRE
#if PACKETVER == 20160928
- packet(0x0202,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0811,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0864,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0872,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0889,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x088e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0897,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x089a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a9,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0919,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0927,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0953,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0957,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
+ packet(0x0202,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0811,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0864,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0872,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0889,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x088e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0897,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x089a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a9,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0919,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0927,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0953,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0957,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
#endif
// 2016-10-05aRagexeRE
#if PACKETVER == 20161005
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0838,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0863,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0886,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0891,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08ac,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0918,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0919,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0945,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x095b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0838,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0863,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0886,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0891,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08ac,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0918,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0919,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0944,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0945,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0952,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x095b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2016-10-12aRagexeRE
#if PACKETVER == 20161012
- packet(0x023b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x07ec,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0819,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x085e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0863,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0868,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0872,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0875,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0880,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0893,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0937,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0939,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0962,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0966,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x07ec,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0819,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x085e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0863,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0868,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0872,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0875,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0880,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0893,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0937,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0939,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0962,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0966,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2016-10-19aRagexeRE
#if PACKETVER == 20161019
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0889,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0889,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0963,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-10-26bRagexeRE, 2016-10-26cRagexeRE
#if PACKETVER == 20161026
- packet(0x0363,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085f,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0862,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x086a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x087c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0886,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0891,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0894,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0898,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0926,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x092e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0930,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0953,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x095e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0962,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x0363,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085f,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0862,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x086a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x087c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0886,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0891,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0894,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0898,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0926,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x092e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0930,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0953,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x095e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0962,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-02aRagexeRE, 2016-11-03aRagexeRE
#if PACKETVER == 20161102 || \
PACKETVER == 20161103
- packet(0x0361,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0367,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x083c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0869,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0874,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0886,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a2,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08aa,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0922,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0936,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0946,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0949,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x095e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0964,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0965,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0966,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0361,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0367,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x083c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0869,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0874,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0886,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a2,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08aa,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0922,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0936,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0946,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0949,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x095e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0964,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0965,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0966,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2016-11-09aRagexeRE, 2016-11-09bRagexeRE, 2016-11-09cRagexeRE, 2016-11-09dRagexeRE
#if PACKETVER == 20161109
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0362,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0366,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x088e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0898,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a7,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0927,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0954,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0362,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0366,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x088e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0898,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a7,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0927,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0954,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0956,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-11-16bRagexeRE, 2016-11-16cRagexeRE
#if PACKETVER == 20161116
- packet(0x0368,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0369,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0835,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0885,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x088d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08ac,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0920,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0925,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0931,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x094a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0967,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
+ packet(0x0368,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0369,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0835,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0885,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x088d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08ac,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0920,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0925,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0931,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x094a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0967,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
#endif
// 2016-11-23aRagexeRE
#if PACKETVER == 20161123
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0362,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0437,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0861,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0866,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x086f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0880,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a9,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08aa,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0926,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0362,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0437,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0861,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0866,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x086f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0880,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a9,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08aa,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0926,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2016-11-30aRagexeRE, 2016-11-30bRagexeRE
#if PACKETVER == 20161130
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0931,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0931,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-07cRagexeRE, 2016-12-07dRagexeRE, 2016-12-07eRagexeRE
#if PACKETVER == 20161207
- packet(0x023b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ad,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0943,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0965,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ad,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0965,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-14bRagexeRE, 2016-12-14cRagexeRE
#if PACKETVER == 20161214
- packet(0x022d,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x02c4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0436,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0862,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0887,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0281,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x02c4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0436,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0862,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0887,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2016-12-21aRagexeRE, 2016-12-21bRagexeRE, 2016-12-21cRagexeRE, 2016-12-21dRagexeRE
#if PACKETVER == 20161221
- packet(0x035f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0438,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0817,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x085b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0876,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0881,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0899,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08aa,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x092e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0930,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0943,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0965,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x035f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0438,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0817,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x085b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0876,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0881,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08aa,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x092e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0930,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0943,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0964,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0965,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2016-12-28aRagexeRE
#if PACKETVER == 20161228
- packet(0x0362,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x085a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0865,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x086a,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0870,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0871,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0886,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a3,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a5,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ab,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ac,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08ad,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x092c,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0934,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0935,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x093d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0944,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0362,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x085a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0865,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x086a,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0870,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0871,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0886,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a3,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a5,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ab,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ac,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08ad,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x092c,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0934,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0935,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x093d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0944,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2017-01-04bRagexeRE
#if PACKETVER == 20170104
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x085a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0896,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x085a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0896,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-11aRagexeRE
#if PACKETVER == 20170111
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a1,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a3,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a6,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0961,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0969,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a1,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a3,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a6,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0961,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0969,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-01-18aRagexeRE
#if PACKETVER == 20170118
- packet(0x022d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0364,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0873,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0927,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0962,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0364,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0927,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0962,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-01-25aRagexeRE
#if PACKETVER == 20170125
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0877,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0879,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0881,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0895,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0920,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0929,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x092b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0930,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0943,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0944,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0965,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0968,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0877,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0879,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0881,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0895,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0920,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0929,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x092b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0930,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0943,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0944,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0965,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0968,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-02-01aRagexeRE
#if PACKETVER == 20170201
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0881,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0886,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a4,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0920,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0938,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0940,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x094c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0815,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0881,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0886,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a4,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0920,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0938,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0940,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x094c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0969,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-08aRagexeRE, 2017-02-08bRagexeRE
#if PACKETVER == 20170208
- packet(0x02c4,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0892,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a1,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0921,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0923,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0932,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0892,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a1,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0921,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0923,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0932,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-15aRagexeRE
#if PACKETVER == 20170215
- packet(0x02c4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087c,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087e,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0883,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x088b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x088c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0890,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a8,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x092d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0942,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0969,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
+ packet(0x02c4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087c,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087e,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0883,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x088b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x088c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0890,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a8,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x092d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0942,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0969,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
#endif
// 2017-02-22aRagexeRE
#if PACKETVER == 20170222
- packet(0x0202,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0866,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0870,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0871,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0894,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a3,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a8,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0943,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0962,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0866,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0870,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0871,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0894,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a3,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a8,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0943,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0962,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-02-28aRagexeRE
#if PACKETVER == 20170228
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0360,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x085e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0863,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086b,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0876,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0883,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0884,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0889,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0893,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a0,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091f,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0944,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0360,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x085e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0863,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086b,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0874,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0876,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0883,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0884,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0889,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0893,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a0,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091f,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0944,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0955,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-03-08bRagexeRE
#if PACKETVER == 20170308
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-15cRagexeRE
#if PACKETVER == 20170315
- packet(0x02c4,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x035f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0360,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0366,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0436,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07ec,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0863,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x086a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0884,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x088b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x091d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0920,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0922,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x094a,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x094e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0950,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0952,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x02c4,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x035f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0360,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0366,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0436,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07ec,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0863,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x086a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0884,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x088b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x091d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0920,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0922,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x094a,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x094e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0950,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0952,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-03-22aRagexeRE, 2017-03-22bRagexeRE
#if PACKETVER == 20170322
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-03-29cRagexeRE, 2017-03-29dRagexeRE
#if PACKETVER == 20170329
- packet(0x0281,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0888,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a8,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0917,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0926,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0929,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x092e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0937,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0949,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0888,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a8,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0917,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0926,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0929,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x092e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0937,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0949,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-05bRagexeRE, 2017-04-05cRagexeRE
#if PACKETVER == 20170405
- packet(0x022d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0363,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0860,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0864,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0865,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0893,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a5,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094c,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0964,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0281,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0860,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0864,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0865,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0893,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a5,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094c,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0964,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-04-12aRagexeRE
#if PACKETVER == 20170412
- packet(0x023b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0365,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0863,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0869,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0879,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0890,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0893,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0898,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x089a,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08a1,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x091e,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0929,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0938,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0945,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0949,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x094f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0952,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0959,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x095d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x023b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0365,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0863,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0869,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0879,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0890,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0893,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0898,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x089a,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08a1,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x091e,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0929,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0938,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0945,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0949,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x094f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0952,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0959,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x095d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2017-04-19bRagexeRE
#if PACKETVER == 20170419
- packet(0x0811,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0819,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0838,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0862,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0868,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0872,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0881,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0897,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0898,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0920,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0922,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0930,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0931,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0935,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0942,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x095d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0963,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0965,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
+ packet(0x0811,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0819,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0838,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0862,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0868,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0872,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0881,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0897,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0898,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0920,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0922,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0930,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0931,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0935,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0942,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x095d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0963,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0965,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
#endif
// 2017-04-26dRagexeRE
#if PACKETVER == 20170426
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0887,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0899,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0927,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0958,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0963,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0887,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0899,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0927,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0958,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0963,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-02dRagexeRE
#if PACKETVER == 20170502
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0894,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093c,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0950,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0894,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093c,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0950,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-05-17aRagexeRE, 2017-05-17bRagexeRE
#if PACKETVER == 20170517
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0367,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0817,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0868,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0875,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087b,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0894,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0896,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x089f,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a2,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a8,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08aa,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x091b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x093b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0960,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0367,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0815,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0817,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0868,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0875,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087b,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0894,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0896,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x089f,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a2,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a8,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08aa,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x091b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x093b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0960,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0964,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2017-05-24aRagexeRE
#if PACKETVER == 20170524
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0860,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0864,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0866,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0868,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x086d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0873,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0874,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0882,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0894,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089c,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a1,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0923,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0925,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0934,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x095b,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0964,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0967,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0968,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0860,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0864,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0866,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0868,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x086d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0873,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0874,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0882,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0894,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089c,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a1,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0923,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0925,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0934,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x095b,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0964,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0967,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0968,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-05-31aRagexeRE
#if PACKETVER == 20170531
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x07ec,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0819,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x085f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0873,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0878,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0894,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a2,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08ac,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ad,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0933,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0963,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0968,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x07ec,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0819,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x085f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0873,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0878,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0894,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08ac,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ad,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0933,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0963,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0968,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-06-07bRagexeRE, 2017-06-07cRagexeRE
#if PACKETVER == 20170607
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0364,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x07e4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0862,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x089d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a9,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0917,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0918,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0919,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0925,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0927,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0931,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0934,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0938,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0944,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0949,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0364,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x07e4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0862,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x089d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a9,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0917,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0918,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0919,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0925,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0927,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0931,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0934,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0938,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0944,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0949,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-06-14bRagexeRE
#if PACKETVER == 20170614
- packet(0x023b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0361,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0364,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0367,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0838,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x083c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0860,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0866,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0867,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x086b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x086c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0877,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0889,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a2,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ad,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0928,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0936,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0957,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0963,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x023b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0361,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0364,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0367,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0838,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x083c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0860,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0866,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0867,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x086b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x086c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0877,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0889,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a2,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ad,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0928,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0936,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0957,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0963,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2017-06-21aRagexeRE
#if PACKETVER == 20170621
- packet(0x0202,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0365,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0802,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0885,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0957,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x095c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0961,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0365,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0802,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0885,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0957,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x095c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0961,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-06-28bRagexeRE
#if PACKETVER == 20170628
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0863,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0863,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-05aRagexeRE
#if PACKETVER == 20170705
- packet(0x0202,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0886,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x088d,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x092f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0930,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0932,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0934,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0886,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x088d,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x092f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0930,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0932,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0934,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-12bRagexeRE
#if PACKETVER == 20170712
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-07-19aRagexeRE
#if PACKETVER == 20170719
- packet(0x022d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0368,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0369,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x07e4,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085a,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x087d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0891,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0898,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089d,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a6,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a8,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091b,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x092c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x092e,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x092f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x093d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0944,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0966,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+ packet(0x022d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0368,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0369,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x07e4,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085a,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x087d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0882,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0891,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0898,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089d,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a6,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a8,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091b,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x092c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x092e,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x092f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x093d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0944,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0966,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
#endif
// 2017-07-26cRagexeRE
#if PACKETVER == 20170726
- packet(0x0363,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0438,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0838,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0873,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0874,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0878,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a3,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a7,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ab,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08ac,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x091e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0943,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x094f,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0950,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0952,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0954,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0963,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x0363,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0438,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0838,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0873,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0874,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0878,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a3,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a7,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ab,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08ac,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x091e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0943,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x094f,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0950,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0952,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0954,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0963,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-01aRagexeRE
#if PACKETVER == 20170801
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095a,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-09cRagexeRE
#if PACKETVER == 20170809
- packet(0x022d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0364,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0366,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0367,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x07e4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0802,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0868,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x086e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086f,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0876,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0880,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0892,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0895,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a3,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a6,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0918,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0921,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x092b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0931,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0939,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0940,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x022d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0364,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0366,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0367,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x07e4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0802,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0868,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x086e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086f,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0876,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0880,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0892,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0895,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a3,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a6,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0918,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0921,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x092b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0931,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0939,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0940,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2017-08-16cRagexeRE, 2017-08-16dRagexeRE
#if PACKETVER == 20170816
- packet(0x022d,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0361,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0362,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0438,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x085a,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0862,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0864,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x087e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0881,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0882,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0884,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0888,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0889,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a9,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08ac,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x091c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0921,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0925,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x092c,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x093a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0940,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0950,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
+ packet(0x022d,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0361,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0362,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0438,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x085a,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0862,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0864,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x087e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0881,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0882,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0884,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0888,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0889,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a9,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08ac,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x091c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0921,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0925,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x092c,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x093a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0940,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0950,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
#endif
// 2017-08-23aRagexeRE
#if PACKETVER == 20170823
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x086d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08ac,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x086d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08ac,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-08-30aRagexeRE, 2017-08-30bRagexeRE
#if PACKETVER == 20170830
- packet(0x0281,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x02c4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0364,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0865,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0884,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0888,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0897,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0899,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089e,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a8,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0921,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0925,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x092e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0939,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0940,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0942,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0943,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0947,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0951,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0959,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0281,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x02c4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0364,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0865,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0884,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0888,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0897,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0899,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089e,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0921,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0925,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x092e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0939,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0940,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0942,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0943,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0947,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0951,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0959,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-09-06cRagexeRE
#if PACKETVER == 20170906
- packet(0x0202,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0281,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x02c4,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a2,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a7,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x091a,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0953,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0281,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x02c4,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a2,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a7,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x091a,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0953,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-09-13bRagexeRE
#if PACKETVER == 20170913
- packet(0x0281,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x035f,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0437,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x07e4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0817,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0835,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0860,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0865,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0866,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x088c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0890,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0891,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0892,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a6,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a7,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08aa,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08ab,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08ac,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0920,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0923,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0925,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0927,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095c,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
+ packet(0x0281,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x035f,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0437,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x07e4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0817,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0835,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0860,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0865,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0866,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x088c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0890,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0891,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0892,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a7,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08aa,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08ab,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08ac,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0920,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0923,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0925,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0927,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095c,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
// 2017-09-20bRagexeRE
#if PACKETVER == 20170920
- packet(0x0369,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0436,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x085a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0861,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0862,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0864,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0865,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x086c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0874,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0875,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0889,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x088e,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x089b,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0919,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x091e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0921,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0923,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0926,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0937,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0939,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0945,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x094c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0961,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0966,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096a,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+ packet(0x0369,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0436,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x085a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0861,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0862,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0864,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0865,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x086c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0874,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0875,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0889,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x088e,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x089b,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0919,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x091e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0921,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0923,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0926,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0937,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0939,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0945,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x094c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0961,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0966,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x096a,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
#endif
// 2017-09-27bRagexeRE, 2017-09-27dRagexeRE
#if PACKETVER == 20170927
- packet(0x02c4,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x035f,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0361,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0366,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x085c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0875,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x087e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x088b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0899,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x089a,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08a3,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a5,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a6,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08ad,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x091e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0922,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0923,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0927,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x093b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0942,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0945,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x02c4,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x035f,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0361,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0366,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x085c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0875,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x087e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x088b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0899,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x089a,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08a3,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a5,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a6,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08ad,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x091e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0922,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0923,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0927,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x093b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0942,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0945,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-10-02cRagexeRE
#if PACKETVER == 20171002
- packet(0x022d,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0885,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0928,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x093e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0943,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x022d,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0885,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0928,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x093e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0943,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-11aRagexeRE, 2017-10-11bRagexeRE
#if PACKETVER == 20171011
- packet(0x023b,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0882,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0950,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0954,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x023b,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0882,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0950,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0954,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-18aRagexeRE
#if PACKETVER == 20171018
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x087a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089a,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a6,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0938,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0944,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x094a,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x094f,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0363,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x087a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089a,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a6,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0938,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0944,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x094a,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x094f,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-10-25bRagexeRE, 2017-10-25cRagexeRE, 2017-10-25dRagexeRE, 2017-10-25eRagexeRE
#if PACKETVER == 20171025
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a2,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a2,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-01bRagexeRE
#if PACKETVER == 20171101
- packet(0x022d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0438,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0835,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x085b,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0860,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0872,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0876,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0886,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0890,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0895,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0899,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x089b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x089c,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a0,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x08ab,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08ad,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x091b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0939,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094a,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x094d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0952,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0957,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x095a,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0962,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0966,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x022d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0438,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0835,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x085b,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0860,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0872,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0876,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0886,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0890,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0895,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0899,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x089b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x089c,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a0,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x08ab,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08ad,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x091b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0939,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094a,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x094d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0952,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0957,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x095a,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0962,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0966,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-08bRagexeRE
#if PACKETVER == 20171108
- packet(0x0202,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07e4,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0815,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0819,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0838,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x085d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0863,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0878,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x087e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0884,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0896,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x08a2,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x08a9,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08ad,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0941,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0945,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0947,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0949,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x094e,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0958,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x095a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0963,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0965,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0967,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x0202,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07e4,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0815,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0819,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0838,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x085d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0863,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0878,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x087e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0884,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0896,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x08a2,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x08a9,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08ad,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0941,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0945,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0947,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0949,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x094e,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0958,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x095a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0963,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0965,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0967,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-11-15aRagexeRE
#if PACKETVER == 20171115
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x086d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086f,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x087e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0883,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0890,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0898,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0926,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x095a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x086d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086f,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x087e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0883,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0890,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0898,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0926,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x095a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-22bRagexeRE
#if PACKETVER == 20171122
- packet(0x0281,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x02c4,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x035f,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0838,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x083c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x085b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0862,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0867,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0877,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0890,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0891,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0893,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0897,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0898,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x089a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x089e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x08a6,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x08a9,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091e,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0920,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0923,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0934,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0945,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0947,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0962,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0968,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
+ packet(0x0281,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x02c4,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x035f,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0838,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x083c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x085b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0862,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0867,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0877,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0890,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0891,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0893,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0897,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0898,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x089a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x089e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x08a6,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x08a9,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091e,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0920,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0923,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0934,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0945,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0947,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0962,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0968,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
#endif
// 2017-11-29aRagexeRE
#if PACKETVER == 20171129
- packet(0x02c4,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0363,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0365,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0862,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x086d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0878,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x08a5,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x094b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0953,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0966,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x02c4,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0363,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0365,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0862,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x086d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0878,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x08a5,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x094b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0953,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0966,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-06aRagexeRE
#if PACKETVER == 20171206
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0867,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x086a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0885,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0888,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x089d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08a2,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x08a4,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0923,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x092e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0936,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0942,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0961,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0867,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0885,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0888,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x089d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08a2,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x08a4,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0923,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0936,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0942,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0958,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0961,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-13bRagexeRE
#if PACKETVER == 20171213
- packet(0x0202,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0890,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0957,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0890,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0957,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-20aRagexeRE
#if PACKETVER == 20171220
- packet(0x0281,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0366,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0369,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0436,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0437,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x085e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0861,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0872,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0873,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0880,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0882,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0885,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0899,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x089e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a7,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x091b,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091e,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0924,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0929,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0933,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x093e,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0941,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0946,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x094e,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0951,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0957,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0964,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
+ packet(0x0281,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0366,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0369,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0436,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0437,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x085e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0861,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0872,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0873,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0880,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0882,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0885,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0899,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x089e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a7,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x091b,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091e,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0924,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0929,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0933,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x093e,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0941,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0946,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x094e,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0951,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0957,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0964,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
#endif
// 2017-12-27aRagexeRE
#if PACKETVER == 20171227
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x087d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0888,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x088a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a0,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a5,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092c,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x092e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0969,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x087d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0888,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a0,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a5,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092c,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x092e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0945,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0969,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
#endif
// 2018-01-03aRagexeRE, 2018-01-03bRagexeRE
#if PACKETVER == 20180103
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0363,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0865,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086b,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0876,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0879,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088e,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x089f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x08a9,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ab,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x08ac,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091d,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0922,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0927,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0935,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0938,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0941,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0946,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0948,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094e,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x095f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0960,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0363,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0865,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086b,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0876,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0879,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088e,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x089f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x08a9,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ab,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x08ac,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091d,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0922,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0927,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0935,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0938,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0941,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0946,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0948,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094e,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x095f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0960,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
#endif
// 2018-01-17aRagexeRE
#if PACKETVER == 20180117
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0875,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0875,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-01-24bRagexeRE
#if PACKETVER == 20180124
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0868,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x086a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x086f,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x087a,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0890,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0919,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0940,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0946,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x094d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0958,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0868,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x086a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x086f,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x087a,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0888,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0890,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0919,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0940,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0946,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x094d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0958,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-07bRagexeRE
#if PACKETVER == 20180207
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0360,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0870,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0940,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0950,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0360,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0870,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0940,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0950,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-13aRagexeRE
#if PACKETVER == 20180213
- packet(0x0369,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0802,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0817,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x085a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x086f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0874,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0875,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0878,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x087b,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0882,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x088c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0892,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0898,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x089c,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x08a3,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x08a5,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08a9,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08ad,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0917,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0922,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0924,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0926,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0936,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x093c,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0943,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0955,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0962,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0369,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0802,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0817,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x085a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x086f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0874,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0875,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0878,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x087b,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0882,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x088c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0892,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0898,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x089c,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x08a3,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x08a5,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08a9,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08ad,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0917,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0922,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0924,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0926,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0933,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0936,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x093c,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0943,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0955,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0962,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2018-02-21aRagexeRE, 2018-02-21bRagexeRE
#if PACKETVER == 20180221
- packet(0x0202,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0366,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0838,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0867,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0871,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0876,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0879,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x087d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0880,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0881,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0883,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x088f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0891,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0897,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x089d,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0917,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x091e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0929,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x094b,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x094e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0964,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x096a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0202,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0366,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0436,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0838,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0867,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0871,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0876,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0879,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x087d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0880,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0881,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0883,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x088f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0891,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0897,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x089d,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0917,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x091e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0929,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x093d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x094b,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x094e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0964,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x096a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-07bRagexeRE
#if PACKETVER == 20180307
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x035f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0437,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x07e4,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0861,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0862,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0864,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x086c,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0870,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0872,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0877,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x088d,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0893,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a6,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x08aa,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08ab,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0917,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0937,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0939,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x093d,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0944,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0948,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0951,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0954,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0957,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0969,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x035f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0437,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x07e4,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0861,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0862,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0864,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x086c,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0870,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0872,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0877,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x088d,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0893,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a6,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x08aa,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08ab,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0917,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0937,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0939,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x093d,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0941,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0944,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0948,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0951,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0954,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0957,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0969,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
#endif
// 2018-03-21aRagexeRE, 2018-03-28bRagexeRE, 2018-04-04cRagexeRE, 2018-04-18bRagexeRE, 2018-04-25cRagexeRE, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-16cRagexeRE, 2018-05-23aRagexeRE, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20dRagexeRE, 2018-06-20eRagexeRE, 2018-06-21aRagexeRE
@@ -9631,38 +9632,38 @@
PACKETVER == 20180612 || \
PACKETVER == 20180620 || \
PACKETVER == 20180621
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
-#endif
-
-// 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexeRE, 2018-08-01cRagexeRE, 2018-08-08bRagexeRE, 2018-08-22cRagexeRE, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-09-12dRagexeRE, 2018-09-19aRagexeRE
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+#endif
+
+// 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexeRE, 2018-08-01cRagexeRE, 2018-08-08bRagexeRE, 2018-08-22cRagexeRE, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-09-12dRagexeRE, 2018-09-19aRagexeRE, 2018-10-02aRagexeRE, 2018-10-02bRagexeRE, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexeRE, 2018-10-17bRagexeRE, 2018-10-31cRagexeRE, 2018-11-07aRagexeRE, 2018-11-14cRagexeRE, 2018-11-14dRagexeRE, 2018-11-21cRagexeRE, 2018-11-28aRagexeRE, 2018-12-05bRagexeRE, 2018-12-12aRagexeRE, 2018-12-12bRagexeRE, 2018-12-19bRagexeRE, 2018-12-26aRagexeRE, 2019-01-09bRagexeRE, 2019-01-16bRagexeRE, 2019-01-16cRagexeRE, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-20aRagexeRE, 2019-02-27bRagexeRE, 2019-02-28aRagexeRE, 2019-03-06bRagexeRE, 2019-03-06cRagexeRE, 2019-03-20aRagexeRE, 2019-03-22aRagexeRE, 2019-03-27bRagexeRE, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17cRagexeRE, 2019-04-18aRagexeRE, 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 || \
@@ -9671,36 +9672,125 @@
PACKETVER == 20180822 || \
PACKETVER == 20180829 || \
PACKETVER == 20180912 || \
- PACKETVER >= 20180919
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,14,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ PACKETVER == 20180919 || \
+ PACKETVER == 20181002 || \
+ PACKETVER == 20181017 || \
+ PACKETVER == 20181031 || \
+ PACKETVER == 20181107 || \
+ PACKETVER == 20181114 || \
+ PACKETVER == 20181121 || \
+ PACKETVER == 20181128 || \
+ PACKETVER == 20181205 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190109 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER == 20190418 || \
+ 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
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
+#endif
+
+// 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
+#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
+ 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
diff --git a/src/map/packets_shuffle_zero.h b/src/map/packets_shuffle_zero.h
index b7253fdda..eaac59a12 100644
--- a/src/map/packets_shuffle_zero.h
+++ b/src/map/packets_shuffle_zero.h
@@ -2,7 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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,19 +25,19 @@
#define MAP_PACKETS_SHUFFLE_ZERO_H
#ifndef packet
- #define packet(a,b,...)
+ #define packet(a,...)
#endif
/*
* packet syntax
- * - packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
- * - Example: packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18);
+ * - packet(packet_id,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...)
+ * - Example: packet(0x0072,clif->pWantToConnection,2,6,10,14,18);
*/
/* This file is autogenerated, please do not commit manual changes */
-// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero
+// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero
#if PACKETVER == 20171018 || \
PACKETVER == 20171019 || \
PACKETVER == 20171023 || \
@@ -65,238 +66,241 @@
PACKETVER == 20180829 || \
PACKETVER == 20180905 || \
PACKETVER == 20180912 || \
- PACKETVER >= 20180919
- packet(0x0202,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x022d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x023b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0281,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x02c4,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x035f,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0360,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0361,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0362,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0363,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0364,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0365,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0366,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0367,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0369,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0436,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0437,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0438,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x07e4,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x07ec,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0802,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0811,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0815,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0817,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x083c,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ PACKETVER == 20180919 || \
+ PACKETVER == 20180928 || \
+ PACKETVER == 20181010 || \
+ PACKETVER == 20181024
+ packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2017-11-15aRagexe_zero, 2017-11-15bRagexe_zero, 2017-11-16aRagexe_zero, 2017-11-17aRagexe_zero
#if PACKETVER == 20171115 || \
PACKETVER == 20171116 || \
PACKETVER == 20171117
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0860,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0881,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0922,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0959,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0966,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0881,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0922,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0959,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0966,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-21aRagexe_zero, 2017-11-22aRagexe_zero
#if PACKETVER == 20171121 || \
PACKETVER == 20171122
- packet(0x0202,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x022d,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0866,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0889,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0892,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08ad,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0918,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x091f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0928,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0943,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0950,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x022d,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0866,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0889,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0892,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08ad,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0918,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x091f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0928,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0943,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0950,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-23dRagexe_zero
#if PACKETVER == 20171123
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0367,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0860,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0882,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x088c,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0896,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x089e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x08a8,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x092b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0930,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0935,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0960,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0367,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0860,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0882,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x088c,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0896,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x089e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x08a8,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x092b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0930,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0935,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0960,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-27aRagexe_zero, 2017-11-27cRagexe_zero, 2017-11-28aRagexe_zero
#if PACKETVER == 20171127 || \
PACKETVER == 20171128
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0893,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0893,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-11-30bRagexe_zero
#if PACKETVER == 20171130
- packet(0x0361,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0864,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x086f,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0871,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0872,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0875,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0878,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0881,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0884,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0886,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0887,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x088b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0894,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0899,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x08a0,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x08a7,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0925,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0928,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0930,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0931,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0935,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093a,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0947,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x094c,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x095b,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x095f,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0960,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0965,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
+ packet(0x0361,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0864,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x086f,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0871,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0872,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0875,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0878,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0881,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0884,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0886,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0887,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x088b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0894,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0899,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x08a0,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x08a7,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0925,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0928,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0930,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0931,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0935,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093a,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0947,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x094c,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x095b,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x095f,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0960,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0965,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
#endif
// 2017-12-04bRagexe_zero
#if PACKETVER == 20171204
- packet(0x0281,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x085b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086f,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x087d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0885,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0887,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0892,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0896,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x08aa,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0917,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0921,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0924,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0937,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0960,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0281,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x085b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086f,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x087d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0885,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0887,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0892,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0896,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x08aa,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0917,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0921,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0924,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0937,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0960,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2017-12-06aRagexe_zero, 2017-12-06bRagexe_zero, 2017-12-06cRagexe_zero, 2017-12-06dRagexe_zero, 2017-12-08aRagexe_zero, 2017-12-08cRagexe_zero, 2017-12-08dRagexe_zero, 2017-12-09bRagexe_zero, 2017-12-09cRagexe_zero, 2017-12-10aRagexe_zero, 2017-12-11bRagexe_zero, 2017-12-12aRagexe_zero, 2017-12-13aRagexe_zero, 2017-12-13bRagexe_zero, 2017-12-13cRagexe_zero
@@ -307,435 +311,540 @@
PACKETVER == 20171211 || \
PACKETVER == 20171212 || \
PACKETVER == 20171213
- packet(0x0281,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0366,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0436,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0835,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x083c,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0860,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0862,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0864,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0870,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0878,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x087a,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087b,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0885,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0893,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0897,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x089e,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a4,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x08ac,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0934,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0936,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x093a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0940,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0941,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0959,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x095c,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x095f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
+ packet(0x0281,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0366,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0436,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0835,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x083c,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0860,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0862,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0864,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0870,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0878,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x087a,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087b,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0885,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0893,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0897,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x089e,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a4,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x08ac,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0920,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0934,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0936,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x093a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0940,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0941,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0959,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x095c,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x095f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
#endif
// 2017-12-14cRagexe_zero
#if PACKETVER == 20171214
- packet(0x023b,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x02c4,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0438,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x085b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x085e,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0862,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0864,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x086a,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0871,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0873,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0886,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x088b,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088c,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0892,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0894,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0897,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x08a3,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x08a5,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x08ac,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0933,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x094f,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0951,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095a,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x095b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0960,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x096a,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
+ packet(0x023b,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x02c4,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0438,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x085b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x085e,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0862,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0864,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x086a,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0871,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0873,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0886,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x088b,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088c,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0892,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0894,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0897,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x08a3,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x08a5,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x08ac,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0933,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x094f,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0951,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095a,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x095b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0960,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0969,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x096a,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
#endif
// 2017-12-20aRagexe_zero, 2017-12-21aRagexe_zero, 2017-12-21bRagexe_zero
#if PACKETVER == 20171220 || \
PACKETVER == 20171221
- packet(0x022d,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0281,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0438,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x07ec,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0819,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0835,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0838,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x085f,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0867,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x086c,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0872,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x087e,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0899,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x089b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x089c,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a3,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a5,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x08ad,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x091f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0921,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092e,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0934,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0937,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x094d,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
+ packet(0x022d,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0281,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0438,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x07ec,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x085f,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0867,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x086c,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0872,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x087e,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0899,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x089b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x089c,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a3,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a5,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x08ad,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x091f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0921,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092e,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0934,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0937,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x094d,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
#endif
// 2017-12-27bRagexe_zero, 2017-12-29aRagexe_zero
#if PACKETVER == 20171227 || \
PACKETVER == 20171229
- packet(0x02c4,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0860,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0871,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0872,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0874,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0876,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0877,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x087b,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0885,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0889,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x088b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x089f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x091c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0920,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0925,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092d,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0939,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x093e,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0941,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0945,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0946,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x094b,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x095e,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0967,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0968,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
+ packet(0x02c4,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0860,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0871,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0872,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0874,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0876,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0877,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x087b,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0885,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0889,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x088b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0894,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x089f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x091c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0920,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0925,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092d,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0939,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x093e,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0941,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0945,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0946,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x094b,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x095e,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0967,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0968,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
#endif
// 2018-01-03aRagexe_zero
#if PACKETVER == 20180103
- packet(0x035f,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0360,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x07e4,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x083c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0860,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0866,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x086d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0871,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0872,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0874,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x087b,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0885,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0888,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0890,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0896,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x089d,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x08a6,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x091e,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0924,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0938,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x093b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0956,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0958,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x095b,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x095d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0964,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0966,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x096a,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
+ packet(0x035f,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0360,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x07e4,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x083c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0860,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0866,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x086d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0871,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0872,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0874,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x087b,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0885,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0888,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0890,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0896,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x089d,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x08a6,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x091e,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0924,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0938,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x093b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0956,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0958,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x095b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x095d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0964,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0966,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x096a,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
// 2018-01-17aRagexe_zero
#if PACKETVER == 20180117
- packet(0x0361,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0364,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0438,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x07e4,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x083c,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0866,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x086e,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086f,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x087d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0881,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0884,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0886,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0890,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0891,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0893,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0899,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x089d,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x089e,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0919,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x091c,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x091f,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0928,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0929,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x092d,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0933,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0946,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x095e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0963,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
+ packet(0x0361,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0364,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0438,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x07e4,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x083c,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0866,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x086e,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086f,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x087d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0881,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0884,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0886,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0890,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0891,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0893,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0899,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x089d,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x089e,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0919,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x091c,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x091f,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0928,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0929,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x092d,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0933,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0946,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x095e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0963,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
#endif
// 2018-01-31dRagexe_zero
#if PACKETVER == 20180131
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0367,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0940,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0367,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0940,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-07bRagexe_zero
#if PACKETVER == 20180207
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-02-13aRagexe_zero
#if PACKETVER == 20180213
- packet(0x022d,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x02c4,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x035f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0361,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0802,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0815,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0838,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x085a,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085d,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0868,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x087b,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0882,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0887,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0888,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x088a,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x088e,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0899,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0917,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091d,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0922,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0930,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0941,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0942,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0947,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x094d,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0958,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x095b,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x095c,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x022d,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x02c4,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x035f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0361,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0802,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0815,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x085a,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0868,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x087b,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0882,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0887,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0888,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x088a,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x088e,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0899,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0917,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091d,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0922,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0930,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0941,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0942,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0947,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x094d,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0958,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x095b,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x095c,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0967,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
// 2018-02-21aRagexe_zero
#if PACKETVER == 20180221
- packet(0x02c4,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0362,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0364,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x0438,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x0817,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x085b,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x086a,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0880,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0884,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x088d,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0892,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0895,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x08a1,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x08a3,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x091b,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0921,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0923,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x092d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0932,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x093b,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x093d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x093e,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0942,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0951,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0952,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0958,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0959,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x095d,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
+ packet(0x02c4,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0362,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0364,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0438,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x0817,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x085b,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x086a,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0878,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0880,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0884,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x088d,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0892,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0895,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x08a1,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x08a3,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x091b,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0921,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0923,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x092d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0932,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x093b,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x093d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x093e,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0942,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0951,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0952,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0958,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0959,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x095d,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
#endif
// 2018-02-28bRagexe_zero, 2018-03-07aRagexe_zero, 2018-03-09aRagexe_zero
#if PACKETVER == 20180228 || \
PACKETVER == 20180307 || \
PACKETVER == 20180309
- packet(0x0202,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x023b,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x035f,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0360,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x0361,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0362,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0363,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x0364,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0368,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0369,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0436,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0437,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x07e4,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x07ec,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0802,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x083c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x0930,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
+ packet(0x0202,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x022d,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x023b,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0281,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x035f,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0360,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0361,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0362,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0363,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0364,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0365,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0366,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0369,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0436,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0437,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0438,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x07e4,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x07ec,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0802,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0811,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0815,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0819,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0835,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0838,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x083c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x0930,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x096a,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
#endif
// 2018-03-14nRagexe_zero
#if PACKETVER == 20180314
- packet(0x023b,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x0438,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x07ec,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0817,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x083c,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x085d,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x085f,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0866,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0878,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x088d,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
- packet(0x0891,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x0897,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x0899,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x089e,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x08a1,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x0917,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0918,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x091f,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0920,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0923,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x0930,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0931,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x093f,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x0946,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x094a,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x094e,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x0954,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0956,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0958,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
+ packet(0x023b,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x0438,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x07ec,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0817,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x083c,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x085d,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x085f,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0866,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0878,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x088d,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+ packet(0x0891,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0897,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0899,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x089e,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x08a1,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x0917,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0918,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x091f,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0920,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0923,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x0930,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0931,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x093f,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0946,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x094a,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x094e,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0954,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0956,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0958,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
#endif
// 2018-05-11aRagexe_zero, 2018-05-11bRagexe_zero
#if PACKETVER == 20180511
- packet(0x0817,6,clif->pSolveCharName,2); // CZ_REQNAME_BYGID
- packet(0x085f,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
- packet(0x0863,6,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE
- packet(0x086c,7,clif->pActionRequest,2,6); // CZ_REQUEST_ACT
- packet(0x0877,8,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
- packet(0x087e,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
- packet(0x0880,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
- packet(0x0889,8,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
- packet(0x0893,18,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER
- packet(0x0896,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
- packet(0x0899,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
- packet(0x08a2,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
- packet(0x08a4,2,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE
- packet(0x08a5,6,clif->pTickSend,2); // CZ_REQUEST_TIME
- packet(0x0919,5,clif->pWalkToXY,2); // CZ_REQUEST_MOVE
- packet(0x091a,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
- packet(0x091d,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
- packet(0x0920,4,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK
- packet(0x092c,10,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL
- packet(0x092d,26,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ
- packet(0x092e,-1,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE
- packet(0x0941,2,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE
- packet(0x0942,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
- packet(0x094a,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
- packet(0x0955,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
- packet(0x0956,8,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD
- packet(0x095c,10,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND
- packet(0x0961,5,clif->pHomMenu,2,4); // CZ_COMMAND_MER
- packet(0x0968,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
+ packet(0x0817,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x085f,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0863,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x086c,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0877,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x087e,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0880,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0889,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0893,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0896,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0899,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
+ packet(0x08a2,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x08a4,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x08a5,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0919,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x091a,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x091d,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0920,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x092c,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x092d,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x092e,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0941,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x0942,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x094a,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0955,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
+ packet(0x0956,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x095c,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0961,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
+ packet(0x0968,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
+#endif
+
+// 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 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 || \
+ PACKETVER == 20181212 || \
+ PACKETVER == 20181219 || \
+ PACKETVER == 20181226 || \
+ PACKETVER == 20190116 || \
+ PACKETVER == 20190117 || \
+ PACKETVER == 20190130 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190410 || \
+ PACKETVER == 20190424 || \
+ PACKETVER == 20190502 || \
+ 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
+ packet(0x0281,clif->pDull/*,XXX*/); // CZ_GANGSI_RANK // 4
+ packet(0x02c4,clif->pPartyInvite2,2); // CZ_PARTY_JOIN_REQ // 26
+ packet(0x035f,clif->pWalkToXY,2); // CZ_REQUEST_MOVE // 5
+ packet(0x0360,clif->pTickSend,2); // CZ_REQUEST_TIME // 6
+ packet(0x0361,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION // 5
+ packet(0x0362,clif->pTakeItem,2); // CZ_ITEM_PICKUP // 6
+ packet(0x0363,clif->pDropItem,2,4); // CZ_ITEM_THROW // 6
+ packet(0x0364,clif->pMoveToKafra,2,4); // CZ_MOVE_ITEM_FROM_BODY_TO_STORE // 8
+ packet(0x0365,clif->pMoveFromKafra,2,4); // CZ_MOVE_ITEM_FROM_STORE_TO_BODY // 8
+ packet(0x0366,clif->pUseSkillToPos,2,4,6,8); // CZ_USE_SKILL_TOGROUND // 10
+ packet(0x0367,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); // CZ_USE_SKILL_TOGROUND_WITHTALKBOX // 90
+ packet(0x0368,clif->pGetCharNameRequest,2); // CZ_REQNAME // 6
+ packet(0x0369,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
+ packet(0x0436,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER // 19
+ packet(0x0437,clif->pActionRequest,2,6); // CZ_REQUEST_ACT // 7
+ packet(0x0438,clif->pUseSkillToId,2,4,6); // CZ_USE_SKILL // 10
+ packet(0x07e4,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES // -1
+ packet(0x07ec,clif->pDull/*,XXX*/); // CZ_JOIN_BATTLE_FIELD // 8
+ packet(0x0802,clif->pPartyBookingRegisterReq,2,4); // CZ_PARTY_BOOKING_REQ_REGISTER // 18
+ packet(0x0811,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE // -1
+ packet(0x0815,clif->pReqCloseBuyingStore,0); // CZ_REQ_CLOSE_BUYING_STORE // 2
+ packet(0x0817,clif->pReqClickBuyingStore,2); // CZ_REQ_CLICK_TO_BUYING_STORE // 6
+ packet(0x0819,clif->pReqTradeBuyingStore,2,4,8,12); // CZ_REQ_TRADE_BUYING_STORE // -1
+ packet(0x0835,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO // -1
+ packet(0x0838,clif->pSearchStoreInfoNextPage,0); // CZ_SEARCH_STORE_INFO_NEXT_PAGE // 2
+ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
+#endif
+
+// 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
+#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
+ 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
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index af76a66d7..7b1d91004 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -25,10 +25,9 @@
#include "common/cbasetypes.h"
#include "common/mmo.h"
+#include "common/packetsstatic_len.h"
// Packet DB
-#define MIN_PACKET_DB 0x0064
-#define MAX_PACKET_DB 0x0F00
#define MAX_PACKET_POS 20
/**
@@ -40,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
@@ -198,7 +190,7 @@ enum packet_headers {
#else
dropflooritemType = 0x9e,
#endif
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
inventorylistnormalType = 0xb09,
#elif PACKETVER >= 20120925
inventorylistnormalType = 0x991,
@@ -209,7 +201,7 @@ enum packet_headers {
#else
inventorylistnormalType = 0xa3,
#endif
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
inventorylistequipType = 0xb0a,
#elif PACKETVER >= 20150226
inventorylistequipType = 0xa0d,
@@ -222,7 +214,7 @@ enum packet_headers {
#else
inventorylistequipType = 0xa4,
#endif
-#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
storageListNormalType = 0xb09,
#elif PACKETVER >= 20120925
storageListNormalType = 0x995,
@@ -233,7 +225,7 @@ enum packet_headers {
#else
storageListNormalType = 0xa5,
#endif
-#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
storageListEquipType = 0xb0a,
#elif PACKETVER >= 20150226
storageListEquipType = 0xa10,
@@ -246,7 +238,7 @@ enum packet_headers {
#else
storageListEquipType = 0xa6,
#endif
-#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
cartlistnormalType = 0xb09,
#elif PACKETVER >= 20120925
cartlistnormalType = 0x993,
@@ -257,7 +249,7 @@ enum packet_headers {
#else
cartlistnormalType = 0x123,
#endif
-#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
cartlistequipType = 0xb0a,
#elif PACKETVER >= 20150226
cartlistequipType = 0xa0f,
@@ -308,8 +300,6 @@ enum packet_headers {
notifybindonequip = 0x2d3,
monsterhpType = 0x977,
maptypeproperty2Type = 0x99b,
- npcmarketresultackType = 0x9d7,
- npcmarketopenType = 0x9d5,
#if PACKETVER >= 20131223 // version probably can be 20131030 [4144]
wisendType = 0x9df,
#else
@@ -324,7 +314,9 @@ enum packet_headers {
achievementUpdateType = 0xa24,
achievementRewardAckType = 0xa26,
#endif // PACKETVER >= 20141016
-#if PACKETVER >= 20150513 // [4144] 0x09f8 handling in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ questListType = 0xaff, ///< ZC_ALL_QUEST_LIST4
+#elif PACKETVER >= 20150513 // [4144] 0x09f8 handling in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
questListType = 0x9f8, ///< ZC_ALL_QUEST_LIST3
#elif PACKETVER >= 20141022
questListType = 0x97a, ///< ZC_ALL_QUEST_LIST2
@@ -370,20 +362,21 @@ enum packet_headers {
partymemberinfo = 0x01e9,
partyinfo = 0x00fb,
#endif
-#if PACKETVER >= 20120702
- clanBasicInfo = 0x098A, ///< ZC_CLANINFO
-#endif
#if PACKETVER >= 20120716
clanOnlineCount = 0x0988, ///< ZC_NOTIFY_CLAN_CONNECTINFO
clanLeave = 0x0989, ///< ZC_ACK_CLAN_LEAVE
clanMessage = 0x098E, ///< ZC_NOTIFY_CLAN_CHAT
#endif
-#if PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ questAddType = 0xb0c,
+#elif PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE
questAddType = 0x9f9,
#else
questAddType = 0x2b3,
#endif // PACKETVER < 20150513
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ questUpdateType = 0xafe,
+#elif PACKETVER >= 20150513
questUpdateType = 0x9fa,
#else
questUpdateType = 0x2b5,
@@ -416,18 +409,7 @@ enum packet_headers {
#else
buyingStoreUpdateItemType = 0x81b,
#endif
-// probably can works also for < 20141223, but in 3CeaM packet size defined only for 20150513
-#if PACKETVER >= 20150513
- hominfoType = 0x9f7,
-#else
- hominfoType = 0x22e,
-#endif
reqName = 0x95,
-#if PACKETVER >= 20150503 // Confirm this?
- reqNameAllType = 0xA30,
-#else
- reqNameAllType = 0x195,
-#endif
#if PACKETVER_MAIN_NUM >= 20170502 || PACKETVER_RE_NUM >= 20170419 || defined(PACKETVER_ZERO)
skilWarpPointType = 0xabe,
#else
@@ -455,7 +437,7 @@ enum packet_headers {
* structs for data
*/
struct EQUIPSLOTINFO {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 card[4];
#else
uint16 card[4];
@@ -464,7 +446,7 @@ struct EQUIPSLOTINFO {
struct NORMALITEM_INFO {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -502,7 +484,7 @@ struct ItemOptions {
struct EQUIPITEM_INFO {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -579,7 +561,7 @@ struct packet_additem {
int16 PacketType;
uint16 Index;
uint16 count;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 nameid;
#else
uint16 nameid;
@@ -613,7 +595,7 @@ struct packet_additem {
struct packet_dropflooritem {
int16 PacketType;
uint32 ITAID;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -725,7 +707,7 @@ struct packet_spawn_unit {
#else
uint32 weapon;
#endif
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 shield;
#endif
uint16 accessory;
@@ -798,7 +780,7 @@ struct packet_unit_walking {
#else
uint32 weapon;
#endif
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 shield;
#endif
uint16 accessory;
@@ -870,7 +852,7 @@ struct packet_idle_unit {
#else
uint32 weapon;
#endif
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 shield;
#endif
uint16 accessory;
@@ -1033,7 +1015,7 @@ struct packet_package_item_announce {
int16 PacketType;
int16 PacketLength;
uint8 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ItemID;
#else
uint16 ItemID;
@@ -1041,7 +1023,7 @@ struct packet_package_item_announce {
int8 len;
char Name[NAME_LENGTH];
int8 unknown; // probably unused
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 BoxItemID;
#else
uint16 BoxItemID;
@@ -1053,7 +1035,7 @@ struct packet_item_drop_announce {
int16 PacketType;
int16 PacketLength;
uint8 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ItemID;
#else
uint16 ItemID;
@@ -1108,7 +1090,7 @@ struct packet_roulette_open_ack {
int32 Serial;
int8 Step;
int8 Idx;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 AdditionItemID;
#else
uint16 AdditionItemID;
@@ -1146,7 +1128,7 @@ struct packet_roulette_generate_ack {
uint8 Result;
uint16 Step;
uint16 Idx;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 AdditionItemID;
#else
uint16 AdditionItemID;
@@ -1164,7 +1146,7 @@ struct packet_roulette_itemrecv_req {
struct packet_roulette_itemrecv_ack {
int16 PacketType;
uint8 Result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 AdditionItemID;
#else
uint16 AdditionItemID;
@@ -1174,7 +1156,7 @@ struct packet_roulette_itemrecv_ack {
struct packet_itemlist_normal {
int16 PacketType;
int16 PacketLength;
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
uint8 invType;
#endif
struct NORMALITEM_INFO list[MAX_ITEMLIST];
@@ -1183,7 +1165,7 @@ struct packet_itemlist_normal {
struct packet_itemlist_equip {
int16 PacketType;
int16 PacketLength;
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
uint8 invType;
#endif
struct EQUIPITEM_INFO list[MAX_ITEMLIST];
@@ -1192,45 +1174,51 @@ struct packet_itemlist_equip {
struct ZC_STORE_ITEMLIST_NORMAL {
int16 PacketType;
int16 PacketLength;
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
uint8 invType;
#endif
-#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
char name[NAME_LENGTH];
#endif
struct NORMALITEM_INFO list[MAX_ITEMLIST];
} __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
+#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
int16 packetLength;
#endif
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
uint8 invType;
#endif
-#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
char name[];
#else
char name[NAME_LENGTH];
#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
+#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;
int16 PacketLength;
-#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919
+#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
uint8 invType;
#endif
-#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919
+#if PACKETVER >= 20120925 && PACKETVER_RE_NUM < 20180829 && PACKETVER_ZERO_NUM < 20180919 && PACKETVER_MAIN_NUM < 20181002
char name[NAME_LENGTH];
#endif
struct EQUIPITEM_INFO list[MAX_ITEMLIST];
@@ -1289,6 +1277,7 @@ struct packet_viewequip_ack {
int16 body2;
#endif
uint8 sex;
+ // [4144] need remove MAX_INVENTORY from here
struct EQUIPITEM_INFO list[MAX_INVENTORY];
} __attribute__((packed));
@@ -1369,7 +1358,7 @@ struct packet_npc_market_purchase {
int16 PacketType;
int16 PacketLength;
struct {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -1378,41 +1367,29 @@ 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_RE_NUM >= 20180704
- uint32 ITID;
+#if PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20131106 || defined(PACKETVER_ZERO)
+/* inner struct figured by Ind after some annoying hour of debugging (data Thanks to Yommy) */
+struct PACKET_ZC_NPC_MARKET_OPEN_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 nameid;
#else
- uint16 ITID;
+ uint16 nameid;
#endif
- uint16 qty;
- uint32 price;
- } 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. */
+ uint8 type;
+ uint32 price;
+ uint32 qty;
+ uint16 weight;
} __attribute__((packed));
-struct packet_npc_market_open {
- int16 PacketType;
- int16 PacketLength;
- /* inner struct figured by Ind after some annoying hour of debugging (data Thanks to Yommy) */
- struct {
-#if PACKETVER_RE_NUM >= 20180704
- uint32 nameid;
-#else
- uint16 nameid;
-#endif
- uint8 type;
- uint32 price;
- uint32 qty;
- uint16 view;
- // It seems that the client doesn't have any hard-coded limit for this list
- // it's possible to send up to 1890 items without dropping a packet that's
- // too large [Panikon]
- } list[1000];/* TODO: whats the actual max of this? */
+struct PACKET_ZC_NPC_MARKET_OPEN {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_ZC_NPC_MARKET_OPEN_sub list[];
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_NPC_MARKET_OPEN, 0x09d5);
+#endif
+
struct packet_wis_end {
int16 PacketType;
int8 result;
@@ -1428,28 +1405,101 @@ 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)
* MISSION_HUNT_INFO_EX (PACKETVER >= 20150513)
*/
struct packet_mission_info_sub {
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ uint32 huntIdent;
+ uint32 huntIdent2;
+ uint32 mobType;
+#elif PACKETVER >= 20150513
uint32 huntIdent;
uint32 mobType;
#endif
@@ -1519,7 +1569,7 @@ struct PACKET_ZC_ADD_ITEM_TO_MAIL {
int8 result;
int16 index;
int16 count;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -1537,7 +1587,7 @@ struct PACKET_ZC_ADD_ITEM_TO_MAIL {
struct mail_item {
int16 count;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ITID;
#else
uint16 ITID;
@@ -1786,6 +1836,7 @@ struct PACKET_ZC_GROUP_LIST {
struct PACKET_ZC_GROUP_LIST_SUB members[];
} __attribute__((packed));
+#if PACKETVER_MAIN_NUM >= 20130626 || PACKETVER_RE_NUM >= 20130605 || defined(PACKETVER_ZERO)
struct PACKET_ZC_CLANINFO {
int16 PacketType;
int16 PacketLength;
@@ -1796,6 +1847,8 @@ struct PACKET_ZC_CLANINFO {
uint8 AllyCount;
uint8 AntagonistCount;
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_CLANINFO, 0x098a);
+#endif
struct PACKET_ZC_NOTIFY_CLAN_CONNECTINFO {
int16 PacketType;
@@ -1819,7 +1872,11 @@ struct PACKET_ZC_NOTIFY_CLAN_CHAT {
* PACKET_ZC_MISSION_HUNT_EX (PACKETVER >= 20150513)
*/
struct packet_quest_hunt_sub {
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ uint32 huntIdent;
+ uint32 huntIdent2;
+ uint32 mobType;
+#elif PACKETVER >= 20150513
uint32 huntIdent;
uint32 mobType;
#endif
@@ -1853,7 +1910,10 @@ struct packet_quest_add_header {
*/
struct packet_quest_update_hunt {
uint32 questID;
-#if PACKETVER >= 20150513
+#if PACKETVER_ZERO_NUM >= 20181010 || PACKETVER >= 20181017
+ uint32 huntIdent;
+ uint32 huntIdent2;
+#elif PACKETVER >= 20150513
uint32 huntIdent;
#else
uint32 mob_id;
@@ -1906,7 +1966,9 @@ struct PACKET_ZC_FORMATSTRING_MSG_COLOR {
uint16 PacketType;
uint16 PacketLength;
uint16 messageId;
+#if PACKETVER >= 20160406
uint32 color;
+#endif
char messageString[];
} __attribute__((packed));
@@ -1938,7 +2000,7 @@ struct PACKET_ZC_UI_ACTION {
struct PACKET_CZ_PRIVATE_AIRSHIP_REQUEST {
int16 PacketType;
char mapName[MAP_NAME_LENGTH_EXT];
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 ItemID;
#else
uint16 ItemID;
@@ -1984,7 +2046,7 @@ struct pet_evolution_items {
struct PACKET_CZ_PET_EVOLUTION {
int16 PacketType;
uint16 PacketLength;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 EvolvedPetEggID;
#else
uint16 EvolvedPetEggID;
@@ -2018,7 +2080,7 @@ struct PACKET_ZC_NOTIFY_PLAYERCHAT {
struct PACKET_ZC_ITEM_ENTRY {
int16 packetType;
uint32 AID;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2035,7 +2097,7 @@ struct PACKET_ZC_ADD_ITEM_TO_STORE {
int16 packetType;
int16 index;
int32 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2054,7 +2116,7 @@ struct PACKET_ZC_ADD_ITEM_TO_STORE {
struct PACKET_ZC_MVP_GETTING_ITEM {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2064,7 +2126,7 @@ struct PACKET_ZC_MVP_GETTING_ITEM {
struct PACKET_ZC_ACK_TOUSESKILL {
int16 packetType;
uint16 skillId;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
int32 btype;
uint32 itemId;
#else
@@ -2079,7 +2141,7 @@ struct PACKET_ZC_ADD_ITEM_TO_CART {
int16 packetType;
int16 index;
int32 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2098,7 +2160,7 @@ struct PACKET_ZC_ADD_ITEM_TO_CART {
struct PACKET_CZ_REQMAKINGITEM {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint32 material[3];
#else
@@ -2110,7 +2172,7 @@ struct PACKET_CZ_REQMAKINGITEM {
struct PACKET_ZC_ACK_REQMAKINGITEM {
int16 packetType;
int16 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2120,7 +2182,7 @@ struct PACKET_ZC_ACK_REQMAKINGITEM {
struct PACKET_ZC_FEED_PET {
int16 packetType;
uint8 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2130,7 +2192,7 @@ struct PACKET_ZC_FEED_PET {
struct PACKET_ZC_FEED_MER {
int16 packetType;
uint8 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2140,7 +2202,7 @@ struct PACKET_ZC_FEED_MER {
struct PACKET_ZC_USE_ITEM_ACK {
int16 packetType;
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint32 AID;
#elif PACKETVER >= 3
@@ -2155,7 +2217,7 @@ struct PACKET_ZC_SPRITE_CHANGE {
int16 packetType;
uint32 AID;
uint8 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 val;
uint32 val2;
#elif PACKETVER >= 4
@@ -2168,7 +2230,7 @@ struct PACKET_ZC_SPRITE_CHANGE {
struct PACKET_ZC_ADD_EXCHANGE_ITEM {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint8 itemType;
int32 amount;
@@ -2191,7 +2253,7 @@ struct PACKET_ZC_ADD_EXCHANGE_ITEM {
struct PACKET_ZC_CASH_TIME_COUNTER {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2202,7 +2264,7 @@ struct PACKET_ZC_CASH_TIME_COUNTER {
struct PACKET_ZC_CASH_ITEM_DELETE {
int16 packetType;
uint16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2212,7 +2274,7 @@ struct PACKET_ZC_CASH_ITEM_DELETE {
struct PACKET_ZC_ITEM_PICKUP_PARTY {
int16 packetType;
uint32 AID;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2227,7 +2289,7 @@ struct PACKET_ZC_ITEM_PICKUP_PARTY {
struct PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE {
int16 packetType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2246,13 +2308,15 @@ struct PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE {
struct PACKET_ZC_ACK_WEAPONREFINE {
int16 packetType;
int32 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
#endif
} __attribute__((packed));
+#if PACKETVER_MAIN_NUM >= 20190619 || PACKETVER_RE_NUM >= 20190605 || PACKETVER_ZERO_NUM >= 20190626
+// PACKET_ZC_PROPERTY_HOMUN3
struct PACKET_ZC_PROPERTY_HOMUN {
int16 packetType;
char name[NAME_LENGTH];
@@ -2261,7 +2325,35 @@ struct PACKET_ZC_PROPERTY_HOMUN {
uint16 level;
uint16 hunger;
uint16 intimacy;
-#if PACKETVER_RE_NUM >= 20180704
+ 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;
+ char name[NAME_LENGTH];
+ // Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
+ uint8 flags;
+ uint16 level;
+ uint16 hunger;
+ uint16 intimacy;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2283,11 +2375,46 @@ struct PACKET_ZC_PROPERTY_HOMUN {
uint16 skillPoints;
uint16 range;
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x09f7);
+#elif PACKETVER_MAIN_NUM >= 20101005 || PACKETVER_RE_NUM >= 20080827 || defined(PACKETVER_ZERO)
+// PACKET_ZC_PROPERTY_HOMUN1
+struct PACKET_ZC_PROPERTY_HOMUN {
+ int16 packetType;
+ char name[NAME_LENGTH];
+ // Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
+ uint8 flags;
+ uint16 level;
+ uint16 hunger;
+ uint16 intimacy;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ uint16 atk2;
+ uint16 matk;
+ uint16 hit;
+ uint16 crit;
+ uint16 def;
+ uint16 mdef;
+ uint16 flee;
+ uint16 amotion;
+ uint16 hp;
+ uint16 maxHp;
+ uint16 sp;
+ uint16 maxSp;
+ uint32 exp;
+ uint32 expNext;
+ uint16 skillPoints;
+ uint16 range;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x022e);
+#endif
struct PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER {
int16 packetType;
uint16 result;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2297,7 +2424,7 @@ struct PACKET_ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER {
struct PACKET_CZ_REQ_ITEMREPAIR {
int16 packetType;
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2309,7 +2436,7 @@ struct PACKET_CZ_REQ_ITEMREPAIR {
struct PACKET_CZ_REQ_MAKINGITEM {
int16 packetType;
int16 type;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2320,7 +2447,7 @@ struct PACKET_CZ_SSILIST_ITEM_CLICK {
int16 packetType;
uint32 AID;
uint32 storeId;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2328,7 +2455,7 @@ struct PACKET_CZ_SSILIST_ITEM_CLICK {
} __attribute__((packed));
struct PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2349,7 +2476,7 @@ struct PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub {
int16 index;
int16 amount;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2374,7 +2501,7 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub {
uint32 price;
uint32 discountPrice;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2389,7 +2516,7 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST {
struct PACKET_CZ_PC_PURCHASE_ITEMLIST_sub {
uint16 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2403,7 +2530,7 @@ struct PACKET_CZ_PC_PURCHASE_ITEMLIST {
} __attribute__((packed));
struct PACKET_CZ_REQ_OPEN_BUYING_STORE_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2425,7 +2552,7 @@ struct PACKET_ZC_MYITEMLIST_BUYING_STORE_sub {
uint32 price;
uint16 amount;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2445,7 +2572,7 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST_FROMMC_sub {
uint16 amount;
int16 index;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2478,7 +2605,7 @@ struct PACKET_ZC_ACK_ITEMLIST_BUYING_STORE_sub {
uint32 price;
uint16 amount;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2496,7 +2623,7 @@ struct PACKET_ZC_ACK_ITEMLIST_BUYING_STORE {
struct PACKET_CZ_REQ_TRADE_BUYING_STORE_sub {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2513,7 +2640,7 @@ struct PACKET_CZ_REQ_TRADE_BUYING_STORE {
} __attribute__((packed));
struct PACKET_ZC_MAKABLEITEMLIST_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
uint32 material[3];
#else
@@ -2529,7 +2656,7 @@ struct PACKET_ZC_MAKABLEITEMLIST {
} __attribute__((packed));
struct PACKET_ZC_MAKINGARROW_LIST_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2541,10 +2668,11 @@ 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;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2561,7 +2689,7 @@ struct PACKET_ZC_REPAIRITEMLIST {
struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub {
int16 index;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2577,7 +2705,7 @@ struct PACKET_ZC_NOTIFY_WEAPONITEMLIST {
} __attribute__((packed));
struct PACKET_ZC_MAKINGITEM_LIST_sub {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2587,19 +2715,16 @@ struct PACKET_ZC_MAKINGITEM_LIST_sub {
struct PACKET_ZC_MAKINGITEM_LIST {
int16 packetType;
int16 packetLength;
-#if PACKETVER_RE_NUM >= 20180704
- 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;
uint32 discountPrice;
uint8 itemType;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2618,7 +2743,7 @@ struct PACKET_ZC_PC_CASH_POINT_ITEMLIST {
struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM_sub {
uint16 amount;
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2642,7 +2767,7 @@ struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM {
} __attribute__((packed));
struct PACKET_CZ_SEARCH_STORE_INFO_item {
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2667,7 +2792,7 @@ struct PACKET_ZC_SEARCH_STORE_INFO_ACK_sub {
uint32 storeId;
uint32 AID;
char shopName[MESSAGE_SIZE];
-#if PACKETVER_RE_NUM >= 20180704
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
uint32 itemId;
#else
uint16 itemId;
@@ -2722,7 +2847,7 @@ struct packet_achievement_update {
struct packet_achievement_reward_ack {
uint16 packet_id;
- uint8 received;
+ uint8 failed;
uint32 ach_id;
} __attribute__((packed));
@@ -2734,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;
@@ -2836,6 +2990,804 @@ struct PACKET_CZ_MEMORIALDUNGEON_COMMAND {
int32 command;
} __attribute__((packed));
+struct PACKET_ZC_REMOVE_EFFECT {
+ int16 packetType;
+ uint32 aid;
+ uint32 effectId;
+} __attribute__((packed));
+
+#if PACKETVER >= 20160525
+struct PACKET_ZC_CAMERA_INFO {
+ int16 packetType;
+ int8 action;
+ float range;
+ float rotation;
+ float latitude;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_CAMERA_INFO, 0x0a78);
+#endif
+
+#if PACKETVER >= 20160525
+struct PACKET_CZ_CAMERA_INFO {
+ int16 packetType;
+ int8 action;
+ float range;
+ float rotation;
+ float latitude;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_CAMERA_INFO, 0x0a77);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181128 || PACKETVER_RE_NUM >= 20181031
+// PACKET_ZC_AUTOSPELLLIST2
+struct PACKET_ZC_AUTOSPELLLIST {
+ int16 packetType;
+ int16 packetLength;
+ int skills[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_AUTOSPELLLIST, 0x0afb);
+#elif PACKETVER_MAIN_NUM >= 20090406 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_SAK_NUM >= 20080618
+// PACKET_ZC_AUTOSPELLLIST1
+struct PACKET_ZC_AUTOSPELLLIST {
+ int16 packetType;
+ int skills[7];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_AUTOSPELLLIST, 0x01cd);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+#if PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+struct PACKET_ZC_ITEM_PREVIEW {
+ int16 packetType;
+ int16 index;
+ int8 isDamaged;
+ int16 refiningLevel;
+ struct EQUIPSLOTINFO slot;
+ struct ItemOptions option_data[MAX_ITEM_OPTIONS];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ITEM_PREVIEW, 0x0b13);
+#else // PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+
+struct PACKET_ZC_ITEM_PREVIEW {
+ int16 packetType;
+ int16 index;
+ int16 refiningLevel;
+ struct EQUIPSLOTINFO slot;
+ struct ItemOptions option_data[MAX_ITEM_OPTIONS];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ITEM_PREVIEW, 0x0ab9);
+#endif // PACKETVER_MAIN_NUM >= 20181017 || PACKETVER_RE_NUM >= 20181017 || PACKETVER_ZERO_NUM >= 20181024
+#endif // PACKETVER_MAIN_NUM >= 20170726 || PACKETVER_RE_NUM >= 20170621 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20160831 || PACKETVER_RE_NUM >= 20151118 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ENCHANT_EQUIPMENT {
+ int16 packetType;
+ int16 wearState;
+ int16 cardSlot;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ int32 itemId;
+#else
+ int16 itemId;
+#endif
+ int8 equipFlag;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ENCHANT_EQUIPMENT, 0x0a3f);
+#endif // PACKETVER_MAIN_NUM >= 20160831 || PACKETVER_RE_NUM >= 20151118 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20170830 || PACKETVER_RE_NUM >= 20170830 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_SERVICE_MESSAGE_COLOR {
+ int16 packetType;
+ int16 packetLength;
+ int32 color;
+ char message[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SERVICE_MESSAGE_COLOR, 0x0adb);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181002 || PACKETVER_RE_NUM >= 20181002 || PACKETVER_ZERO_NUM >= 20181010
+struct PACKET_CZ_START_USE_SKILL {
+ int16 packetType;
+ int16 skillId;
+ int16 skillLv;
+ uint32 targetId;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_START_USE_SKILL, 0x0b10);
+
+struct PACKET_CZ_STOP_USE_SKILL {
+ int16 packetType;
+ int16 skillId;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_STOP_USE_SKILL, 0x0b11);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+struct PACKET_ZC_INVENTORY_EXPANSION_INFO {
+ int16 packetType;
+ int16 expansionSize;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_INVENTORY_EXPANSION_INFO, 0x0b18);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+struct PACKET_ZC_ACK_INVENTORY_EXPAND {
+ int16 packetType;
+ uint8 result;
+ uint32 itemId;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_INVENTORY_EXPAND, 0x0b15);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181219 || PACKETVER_RE_NUM >= 20181219 || PACKETVER_ZERO_NUM >= 20181212
+struct PACKET_ZC_ACK_INVENTORY_EXPAND_RESULT {
+ int16 packetType;
+ uint8 result;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_INVENTORY_EXPAND_RESULT, 0x0b17);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+struct PACKET_CZ_INVENTORY_EXPAND {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_INVENTORY_EXPAND, 0x0b14);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+struct PACKET_CZ_INVENTORY_EXPAND_CONFIRMED {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_INVENTORY_EXPAND_CONFIRMED, 0x0b16);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181031 || PACKETVER_RE_NUM >= 20181031 || PACKETVER_ZERO_NUM >= 20181114
+struct PACKET_CZ_INVENTORY_EXPAND_REJECTED {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_INVENTORY_EXPAND_REJECTED, 0x0b19);
+#endif
+
+struct PACKET_CZ_REQ_REMAINTIME {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_REQ_REMAINTIME, 0x01c0);
+
+struct PACKET_CZ_PARTY_CONFIG {
+ int16 packetType;
+ uint8 refuseInvite;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_PARTY_CONFIG, 0x02c8);
+
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+struct PACKET_ZC_NPC_BARTER_OPEN_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 nameid;
+#else
+ uint16 nameid;
+#endif
+ uint8 type;
+ uint32 amount;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 currencyNameid;
+#else
+ uint16 currencyNameid;
+#endif
+ uint32 currencyAmount;
+ uint32 weight;
+ uint32 index;
+} __attribute__((packed));
+
+struct PACKET_ZC_NPC_BARTER_OPEN {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_ZC_NPC_BARTER_OPEN_sub list[];
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_NPC_BARTER_OPEN, 0x0b0e);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+struct PACKET_CZ_NPC_BARTER_CLOSE {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_NPC_BARTER_CLOSE, 0x0b12);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
+struct PACKET_CZ_NPC_BARTER_PURCHASE_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ uint32 amount;
+ uint16 invIndex;
+ uint32 shopIndex;
+} __attribute__((packed));
+
+struct PACKET_CZ_NPC_BARTER_PURCHASE {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_CZ_NPC_BARTER_PURCHASE_sub list[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_NPC_BARTER_PURCHASE, 0x0b0f);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20181212 || PACKETVER_RE_NUM >= 20181212 || PACKETVER_ZERO_NUM >= 20190130
+struct PACKET_ZC_USESKILL_ACK {
+ int16 packetType;
+ uint32 srcId;
+ uint32 dstId;
+ uint16 x;
+ uint16 y;
+ uint16 skillId;
+ uint32 element;
+ uint32 delayTime;
+ uint8 disposable;
+ uint32 unknown;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_USESKILL_ACK, 0x0b1a);
+#elif PACKETVER_MAIN_NUM >= 20091124 || PACKETVER_RE_NUM >= 20091124 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_USESKILL_ACK {
+ int16 packetType;
+ uint32 srcId;
+ uint32 dstId;
+ uint16 x;
+ uint16 y;
+ uint16 skillId;
+ uint32 element;
+ uint32 delayTime;
+ uint8 disposable;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_USESKILL_ACK, 0x07fb);
+#elif PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_SAK_NUM >= 20080618 || PACKETVER_RE_NUM >= 20080827 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_USESKILL_ACK {
+ int16 packetType;
+ uint32 srcId;
+ uint32 dstId;
+ uint16 x;
+ uint16 y;
+ uint16 skillId;
+ uint32 element;
+ uint32 delayTime;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_USESKILL_ACK, 0x013e);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20090406 || PACKETVER_RE_NUM >= 20090408 || PACKETVER_SAK_NUM >= 20090408 || defined(PACKETVER_ZERO)
+struct PACKET_CZ_CLIENT_VERSION {
+ int16 packetType;
+ uint32 clientVersion;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_CLIENT_VERSION, 0x044a);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+struct PACKET_CZ_PING {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_PING, 0x0b1c);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 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_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 || PACKETVER_ZERO_NUM >= 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 !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..35ffe5636 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -424,6 +424,12 @@ static int party_invite(struct map_session_data *sd, struct map_session_data *ts
return 0;
}
+ if ((tsd->status.allow_party & 1) != 0) {
+ // party invite blocked by player
+ clif->party_inviteack(sd, tsd->status.name, 5);
+ return 0;
+ }
+
tsd->party_invite=sd->status.party_id;
tsd->party_invite_account=sd->status.account_id;
@@ -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..1831da414 100644
--- a/src/map/party.h
+++ b/src/map/party.h
@@ -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/pc.c b/src/map/pc.c
index 961dda9f5..6ea3b3393 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -399,7 +399,7 @@ static int pc_banding(struct map_session_data *sd, uint16 skill_lv)
for( j = 0; j < i; j++ ) {
bsd = map->id2sd(b_sd[j]);
if( bsd != NULL ) {
- status->set_hp(&bsd->bl,hp,0); // Set hp
+ status->set_hp(&bsd->bl, hp, STATUS_HEAL_DEFAULT); // Set hp
if( (sc = status->get_sc(&bsd->bl)) != NULL && sc->data[SC_BANDING] ) {
sc->data[SC_BANDING]->val2 = c; // Set the counter. It doesn't count your self.
status_calc_bl(&bsd->bl, status->sc2scb_flag(SC_BANDING)); // Set atk and def.
@@ -523,10 +523,9 @@ static int pc_setrestartvalue(struct map_session_data *sd, int type)
if (type&1) {
//Normal resurrection
- st->hp = 1; //Otherwise status->heal may fail if dead.
- status->heal(&sd->bl, bst->hp, 0, 1);
+ status->heal(&sd->bl, bst->hp, 0, STATUS_HEAL_FORCED | STATUS_HEAL_ALLOWREVIVE);
if( st->sp < bst->sp )
- status->set_sp(&sd->bl, bst->sp, 1);
+ status->set_sp(&sd->bl, bst->sp, STATUS_HEAL_FORCED);
} else { //Just for saving on the char-server (with values as if respawned)
sd->status.hp = bst->hp;
sd->status.sp = (st->sp < bst->sp) ? bst->sp : st->sp;
@@ -566,83 +565,19 @@ 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 < MAX_INVENTORY);
- 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;
- }
+ Assert_retv(i >= 0 && i < sd->status.inventorySize);
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);
}
static void pc_inventory_rentals(struct map_session_data *sd)
{
- int i, c = 0;
+ int c = 0;
int64 expire_tick, next_tick = INT64_MAX;
nullpo_retv(sd);
- for( i = 0; i < MAX_INVENTORY; i++ )
+ for (int i = 0; i < sd->status.inventorySize; i++ )
{ // Check for Rentals on Inventory
if( sd->status.inventory[i].nameid == 0 )
continue; // Nothing here
@@ -783,7 +718,7 @@ static int pc_equippoint(struct map_session_data *sd, int n)
int ep = 0;
nullpo_ret(sd);
- Assert_ret(n >= 0 && n < MAX_INVENTORY);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
if(!sd->inventory_data[n])
return 0;
@@ -839,11 +774,9 @@ static int pc_item_equippoint(struct map_session_data *sd, struct item_data *id)
static int pc_setinventorydata(struct map_session_data *sd)
{
- int i;
-
nullpo_ret(sd);
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
int id = sd->status.inventory[i].nameid;
sd->inventory_data[i] = id?itemdb->search(id):NULL;
}
@@ -903,7 +836,7 @@ static int pc_setequipindex(struct map_session_data *sd)
for(i=0;i<EQI_MAX;i++)
sd->equip_index[i] = -1;
- for(i=0;i<MAX_INVENTORY;i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid <= 0)
continue;
if(sd->status.inventory[i].equip) {
@@ -1074,6 +1007,7 @@ static int pc_isequip(struct map_session_data *sd, int n)
struct item_data *item;
nullpo_ret(sd);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
item = sd->inventory_data[n];
@@ -1330,6 +1264,7 @@ static bool pc_authok(struct map_session_data *sd, int login_id2, time_t expirat
sd->bg_queue.client_has_bg_data = 0;
sd->bg_queue.type = 0;
+ VECTOR_INIT(sd->channels);
VECTOR_INIT(sd->script_queues);
VECTOR_INIT(sd->achievement); // Achievements [Smokexyz/Hercules]
VECTOR_INIT(sd->storage.item); // initialize storage item vector.
@@ -1379,6 +1314,7 @@ static bool pc_authok(struct map_session_data *sd, int login_id2, time_t expirat
pc->setpos(sd,sd->status.last_point.map,0,0,CLR_OUTSIGHT);
}
+ clif->inventoryExpansionInfo(sd);
clif->overweight_percent(sd);
clif->authok(sd);
@@ -1536,17 +1472,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);
@@ -2221,11 +2156,12 @@ static int pc_bonus_addeff_onskill(struct s_addeffectonskill *effect, int max, e
return 1;
}
-static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id, short group, int race_mask, int rate)
+static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, int id, bool is_group, int race_mask, int rate)
{
int i;
nullpo_ret(drop);
+ Assert_ret(is_group || id > 0);
//Apply config rate adjustment settings.
if (rate >= 0) { //Absolute drop.
if (battle_config.item_rate_adddrop != 100)
@@ -2240,17 +2176,14 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
if (rate > -1)
rate = -1;
}
- for(i = 0; i < max && (drop[i].id || drop[i].group); i++) {
- if (((id && drop[i].id == id) || (group && drop[i].group == group))
- && race_mask != RCMASK_NONE
- ) {
+ for (i = 0; i < max && (drop[i].id != 0 || drop[i].is_group); i++) {
+ if (drop[i].id == id && race_mask != RCMASK_NONE) {
drop[i].race |= race_mask;
if (drop[i].rate > 0 && rate > 0) {
//Both are absolute rates.
if (drop[i].rate < rate)
drop[i].rate = rate;
- } else
- if(drop[i].rate < 0 && rate < 0) {
+ } else if (drop[i].rate < 0 && rate < 0) {
//Both are relative rates.
if (drop[i].rate > rate)
drop[i].rate = rate;
@@ -2264,13 +2197,13 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
return 0;
}
drop[i].id = id;
- drop[i].group = group;
+ drop[i].is_group = is_group;
drop[i].race |= race_mask;
drop[i].rate = rate;
return 1;
}
-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;
@@ -2906,7 +2839,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:
@@ -3111,7 +3044,7 @@ static int pc_bonus(struct map_session_data *sd, int type, int val)
#endif
case SP_ADD_MONSTER_DROP_CHAINITEM:
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), 0, val, map->race_id2mask(RC_ALL), 10000);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), val, true, map->race_id2mask(RC_ALL), 10000);
break;
case SP_ADDMAXWEIGHT:
if (sd->state.lr_flag != 2)
@@ -3686,7 +3619,7 @@ static int pc_bonus2(struct map_session_data *sd, int type, int type2, int val)
break;
case SP_ADD_MONSTER_DROP_ITEM:
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, map->race_id2mask(RC_ALL), val);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, false, map->race_id2mask(RC_ALL), val);
break;
case SP_SP_LOSS_RATE:
if(sd->state.lr_flag != 2) {
@@ -3892,7 +3825,7 @@ static int pc_bonus2(struct map_session_data *sd, int type, int type2, int val)
break;
}
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), 0, type2, race_mask, 10000);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, true, race_mask, 10000);
}
break;
#ifdef RENEWAL
@@ -3932,12 +3865,12 @@ static int pc_bonus3(struct map_session_data *sd, int type, int type2, int type3
break;
}
if (sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, race_mask, val);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, false, race_mask, val);
}
break;
case SP_ADD_CLASS_DROP_ITEM:
if(sd->state.lr_flag != 2)
- pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, -type3, val);
+ pc->bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, false, -type3, val);
break;
case SP_AUTOSPELL:
if(sd->state.lr_flag != 2)
@@ -4308,7 +4241,7 @@ static bool pc_can_insert_card_into(struct map_session_data *sd, int idx_card, i
nullpo_ret(sd);
- if (idx_equip < 0 || idx_equip >= MAX_INVENTORY || sd->inventory_data[idx_equip] == NULL)
+ if (idx_equip < 0 || idx_equip >= sd->status.inventorySize || sd->inventory_data[idx_equip] == NULL)
return false; //Invalid item index.
if (sd->status.inventory[idx_equip].nameid <= 0 || sd->status.inventory[idx_equip].amount < 1)
return false; // target item missing
@@ -4342,7 +4275,7 @@ static bool pc_can_insert_card(struct map_session_data *sd, int idx_card)
{
nullpo_ret(sd);
- if (idx_card < 0 || idx_card >= MAX_INVENTORY || sd->inventory_data[idx_card] == NULL)
+ if (idx_card < 0 || idx_card >= sd->status.inventorySize || sd->inventory_data[idx_card] == NULL)
return false; //Invalid card index.
if (sd->status.inventory[idx_card].nameid <= 0 || sd->status.inventory[idx_card].amount < 1)
return false; // target card missing
@@ -4402,8 +4335,6 @@ static int pc_insert_card(struct map_session_data *sd, int idx_card, int idx_equ
static int pc_modifybuyvalue(struct map_session_data *sd, int orig_value)
{
int skill_lv, rate1 = 0, rate2 = 0;
- if (orig_value <= 0)
- return 0;
if ((skill_lv=pc->checkskill(sd,MC_DISCOUNT)) > 0) // merchant discount
rate1 = 5+skill_lv*2-((skill_lv==10)? 1:0);
if ((skill_lv=pc->checkskill(sd,RG_COMPULSION)) > 0) // rogue discount
@@ -4412,8 +4343,9 @@ static int pc_modifybuyvalue(struct map_session_data *sd, int orig_value)
rate1 = rate2;
if (rate1 != 0)
orig_value = apply_percentrate(orig_value, 100-rate1, 100);
- if (orig_value < 1)
- orig_value = 1;
+
+ if (orig_value < battle_config.min_item_buy_price)
+ orig_value = battle_config.min_item_buy_price;
return orig_value;
}
@@ -4423,14 +4355,13 @@ static int pc_modifybuyvalue(struct map_session_data *sd, int orig_value)
static int pc_modifysellvalue(struct map_session_data *sd, int orig_value)
{
int skill_lv, rate = 0;
- if (orig_value <= 0)
- return 0;
if ((skill_lv=pc->checkskill(sd,MC_OVERCHARGE)) > 0) //OverCharge
rate = 5+skill_lv*2-((skill_lv==10)? 1:0);
if (rate != 0)
orig_value = apply_percentrate(orig_value, 100+rate, 100);
- if (orig_value < 1)
- orig_value = 1;
+
+ if (orig_value < battle_config.min_item_sell_price)
+ orig_value = battle_config.min_item_sell_price;
return orig_value;
}
@@ -4440,7 +4371,6 @@ static int pc_modifysellvalue(struct map_session_data *sd, int orig_value)
*------------------------------------------*/
static int pc_checkadditem(struct map_session_data *sd, int nameid, int amount)
{
- int i;
struct item_data* data;
nullpo_ret(sd);
@@ -4456,7 +4386,7 @@ static int pc_checkadditem(struct map_session_data *sd, int nameid, int amount)
if( data->stack.inventory && amount > data->stack.amount )
return ADDITEM_OVERAMOUNT;
- for(i=0;i<MAX_INVENTORY;i++){
+ for(int i = 0; i < sd->status.inventorySize; i++) {
// FIXME: This does not consider the checked item's cards, thus could check a wrong slot for stackability.
if(sd->status.inventory[i].nameid==nameid){
if( amount > MAX_AMOUNT - sd->status.inventory[i].amount || ( data->stack.inventory && amount > data->stack.amount - sd->status.inventory[i].amount ) )
@@ -4474,11 +4404,10 @@ static int pc_checkadditem(struct map_session_data *sd, int nameid, int amount)
*------------------------------------------*/
static int pc_inventoryblank(struct map_session_data *sd)
{
- int i,b;
-
nullpo_ret(sd);
+ int b = 0;
- for(i=0,b=0;i<MAX_INVENTORY;i++){
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid==0)
b++;
}
@@ -4506,14 +4435,15 @@ static int pc_payzeny(struct map_session_data *sd, int zeny, enum e_log_pick_typ
sd->status.zeny -= zeny;
clif->updatestatus(sd,SP_ZENY);
- achievement->validate_zeny(sd, -zeny); // Achievements [Smokexyz/Hercules]
+ if (zeny > 0) {
+ achievement->validate_zeny(sd, -zeny); // Achievements [Smokexyz/Hercules]
+ logs->zeny(sd, type, tsd ? tsd : sd, -zeny);
- if(!tsd) tsd = sd;
- logs->zeny(sd, type, tsd, -zeny);
- if( zeny > 0 && sd->state.showzeny ) {
- char output[255];
- sprintf(output, "Removed %dz.", zeny);
- clif_disp_onlyself(sd, output);
+ if (sd->state.showzeny) {
+ char output[255];
+ sprintf(output, msg_sd(sd, 885), zeny); // Removed %dz.
+ clif_disp_onlyself(sd, output);
+ }
}
return 0;
@@ -4644,14 +4574,15 @@ static int pc_getzeny(struct map_session_data *sd, int zeny, enum e_log_pick_typ
sd->status.zeny += zeny;
clif->updatestatus(sd,SP_ZENY);
- achievement->validate_zeny(sd, zeny); // Achievements [Smokexyz/Hercules]
+ if (zeny > 0) {
+ achievement->validate_zeny(sd, zeny); // Achievements [Smokexyz/Hercules]
+ logs->zeny(sd, type, tsd ? tsd : sd, zeny);
- if(!tsd) tsd = sd;
- logs->zeny(sd, type, tsd, zeny);
- if( zeny > 0 && sd->state.showzeny ) {
- char output[255];
- sprintf(output, "Gained %dz.", zeny);
- clif_disp_onlyself(sd, output);
+ if (sd->state.showzeny) {
+ char output[255];
+ sprintf(output, msg_sd(sd, 886), zeny); // Gained %dz.
+ clif_disp_onlyself(sd, output);
+ }
}
return 0;
@@ -4673,8 +4604,8 @@ static int pc_search_inventory(struct map_session_data *sd, int item_id)
int i;
nullpo_retr(INDEX_NOT_FOUND, sd);
- ARR_FIND( 0, MAX_INVENTORY, i, sd->status.inventory[i].nameid == item_id && (sd->status.inventory[i].amount > 0 || item_id == 0) );
- return ( i < MAX_INVENTORY ) ? i : INDEX_NOT_FOUND;
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].nameid == item_id && (sd->status.inventory[i].amount > 0 || item_id == 0));
+ return (i < sd->status.inventorySize) ? i : INDEX_NOT_FOUND;
}
/*==========================================
@@ -4689,7 +4620,7 @@ static int pc_search_inventory(struct map_session_data *sd, int item_id)
* 6 = ?
* 7 = stack limitation
*------------------------------------------*/
-static int pc_additem(struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type)
+static int pc_additem(struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type)
{
struct item_data *data;
int i;
@@ -4736,11 +4667,11 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
}
}
- i = MAX_INVENTORY;
+ i = sd->status.inventorySize;
// Stackable | Non Rental
if( itemdb->isstackable2(data) && item_data->expire_time == 0 ) {
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if( sd->status.inventory[i].nameid == item_data->nameid &&
sd->status.inventory[i].bound == item_data->bound &&
sd->status.inventory[i].expire_time == 0 &&
@@ -4755,7 +4686,7 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
}
}
- if ( i >= MAX_INVENTORY ) {
+ if (i >= sd->status.inventorySize) {
i = pc->search_inventory(sd,0);
if (i == INDEX_NOT_FOUND)
return 4;
@@ -4782,18 +4713,27 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
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);
@@ -4815,7 +4755,7 @@ static int pc_additem(struct map_session_data *sd, struct item *item_data, int a
static int pc_delitem(struct map_session_data *sd, int n, int amount, int type, short reason, e_log_pick_type log_type)
{
nullpo_retr(1, sd);
- Assert_retr(1, n >= 0 && n < MAX_INVENTORY);
+ Assert_retr(1, n >= 0 && n < sd->status.inventorySize);
if(sd->status.inventory[n].nameid==0 || amount <= 0 || sd->status.inventory[n].amount<amount || sd->inventory_data[n] == NULL)
return 1;
@@ -4824,12 +4764,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))
@@ -4849,7 +4798,7 @@ static int pc_dropitem(struct map_session_data *sd, int n, int amount)
{
nullpo_retr(1, sd);
- if(n < 0 || n >= MAX_INVENTORY)
+ if(n < 0 || n >= sd->status.inventorySize)
return 0;
if(amount <= 0)
@@ -4858,7 +4807,7 @@ static int pc_dropitem(struct map_session_data *sd, int n, int amount)
if(sd->status.inventory[n].nameid <= 0 ||
sd->status.inventory[n].amount <= 0 ||
sd->status.inventory[n].amount < amount ||
- sd->state.trading || sd->state.vending ||
+ sd->state.trading || sd->state.vending || sd->state.prevend ||
!sd->inventory_data[n] //pc->delitem would fail on this case.
)
return 0;
@@ -4960,7 +4909,7 @@ static int pc_isUseitem(struct map_session_data *sd, int n)
int nameid;
nullpo_ret(sd);
- Assert_ret(n >= 0 && n < MAX_INVENTORY);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
item = sd->inventory_data[n];
nameid = sd->status.inventory[n].nameid;
@@ -5196,7 +5145,7 @@ static int pc_useitem(struct map_session_data *sd, int n)
bool removeItem = false;
nullpo_ret(sd);
- Assert_ret(n >= 0 && n < MAX_INVENTORY);
+ Assert_ret(n >= 0 && n < sd->status.inventorySize);
if (sd->npc_id || sd->state.workinprogress & 1) {
#if PACKETVER >= 20110308
@@ -5323,6 +5272,10 @@ static int pc_useitem(struct map_session_data *sd, int n)
if(sd->catch_target_class != -1) //Abort pet catching.
sd->catch_target_class = -1;
+ // Removes abracadabra/randomize spell flag for delayed consume items or item doesn't get consumed
+ if (sd->inventory_data[n]->flag.delay_consume)
+ sd->state.abra_flag = 0;
+
amount = sd->status.inventory[n].amount;
//Check if the item is to be consumed immediately [Skotlex]
if (sd->inventory_data[n]->flag.delay_consume || sd->inventory_data[n]->flag.keepafteruse)
@@ -5433,7 +5386,7 @@ static int pc_cart_delitem(struct map_session_data *sd, int n, int amount, int t
{
struct item_data * data;
nullpo_retr(1, sd);
- Assert_retr(1, n >= 0 && n < MAX_INVENTORY);
+ Assert_retr(1, n >= 0 && n < MAX_CART);
if( sd->status.cart[n].nameid == 0 || sd->status.cart[n].amount < amount || !(data = itemdb->exists(sd->status.cart[n].nameid)) )
return 1;
@@ -5467,12 +5420,12 @@ static int pc_putitemtocart(struct map_session_data *sd, int idx, int amount)
nullpo_ret(sd);
- if (idx < 0 || idx >= MAX_INVENTORY) //Invalid index check [Skotlex]
+ if (idx < 0 || idx >= sd->status.inventorySize) //Invalid index check [Skotlex]
return 1;
item_data = &sd->status.inventory[idx];
- if( item_data->nameid == 0 || amount < 1 || item_data->amount < amount || sd->state.vending )
+ if (item_data->nameid == 0 || amount < 1 || item_data->amount < amount || sd->state.vending || sd->state.prevend)
return 1;
if( (flag = pc->cart_additem(sd,item_data,amount,LOG_TYPE_NONE)) == 0 )
@@ -5519,10 +5472,10 @@ static int pc_getitemfromcart(struct map_session_data *sd, int idx, int amount)
item_data=&sd->status.cart[idx];
- if(item_data->nameid==0 || amount < 1 || item_data->amount<amount || sd->state.vending )
+ if (item_data->nameid == 0 || amount < 1 || item_data->amount < amount || sd->state.vending || sd->state.prevend)
return 1;
- if((flag = pc->additem(sd,item_data,amount,LOG_TYPE_NONE)) == 0)
+ if ((flag = pc->additem(sd,item_data,amount,LOG_TYPE_NONE)) == 0)
return pc->cart_delitem(sd,idx,amount,0,LOG_TYPE_NONE);
return flag;
@@ -5537,7 +5490,7 @@ static void pc_bound_clear(struct map_session_data *sd, enum e_item_bound_type t
/* both restricted to inventory */
case IBT_PARTY:
case IBT_CHARACTER:
- for( i = 0; i < MAX_INVENTORY; i++ ){
+ for (i = 0; i < sd->status.inventorySize; i++ ) {
if( sd->status.inventory[i].bound == type ) {
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_SKILLUSE, LOG_TYPE_OTHER); // FIXME: is this the correct reason flag?
}
@@ -5549,7 +5502,7 @@ static void pc_bound_clear(struct map_session_data *sd, enum e_item_bound_type t
case IBT_GUILD: {
struct guild_storage *gstor = idb_get(gstorage->db,sd->status.guild_id);
- for( i = 0; i < MAX_INVENTORY; i++ ){
+ for (i = 0; i < sd->status.inventorySize; i++ ) {
if(sd->status.inventory[i].bound == type) {
if( gstor )
gstorage->additem(sd,gstor,&sd->status.inventory[i],sd->status.inventory[i].amount);
@@ -5582,9 +5535,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 +5583,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;
@@ -5706,7 +5661,7 @@ static int pc_steal_coin(struct map_session_data *sd, struct block_list *target,
* 1 - Invalid map index.
* 2 - Map not in this map-server, and failed to locate alternate map-server.
*------------------------------------------*/
-static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype)
+static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype)
{
int16 m;
@@ -5838,8 +5793,11 @@ static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int
vending->close(sd);
}
- if (map->list[sd->bl.m].channel) {
- channel->leave(map->list[sd->bl.m].channel,sd);
+ if (sd->mapindex != 0) {
+ // Only if the character is already on a map
+ if (map->list[sd->bl.m].channel) {
+ channel->leave(map->list[sd->bl.m].channel,sd);
+ }
}
}
@@ -5943,7 +5901,7 @@ static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int
* 0 = fail or FIXME success (from pc->setpos)
* x(1|2) = fail
*------------------------------------------*/
-static int pc_randomwarp(struct map_session_data *sd, clr_type type)
+static int pc_randomwarp(struct map_session_data *sd, enum clr_type type)
{
int x,y,i=0;
int16 m;
@@ -6144,7 +6102,7 @@ static int pc_checkequip(struct map_session_data *sd, int pos)
* Convert's from the client's lame Job ID system
* to the map server's 'makes sense' system. [Skotlex]
*------------------------------------------*/
-static int pc_jobid2mapid(int16 class)
+static int pc_jobid2mapid(int class)
{
switch (class) {
//Novice And 1-1 Jobs
@@ -6286,9 +6244,9 @@ static int pc_jobid2mapid(int16 class)
}
//Reverts the map-style class id to the client-style one.
-static int pc_mapid2jobid(uint16 job, int sex)
+static int pc_mapid2jobid(unsigned int class, int sex)
{
- switch (job) {
+ switch (class) {
//Novice And 1-1 Jobs
case MAPID_NOVICE: return JOB_NOVICE;
case MAPID_SWORDMAN: return JOB_SWORDMAN;
@@ -6960,7 +6918,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);
@@ -7128,11 +7086,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;
}
@@ -7349,34 +7312,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);
@@ -7726,7 +7688,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;
@@ -7751,7 +7713,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);
@@ -7942,7 +7904,7 @@ static int pc_skillheal2_bonus(struct map_session_data *sd, uint16 skill_id)
return bonus;
}
-static void pc_respawn(struct map_session_data *sd, clr_type clrtype)
+static void pc_respawn(struct map_session_data *sd, enum clr_type clrtype)
{
if( !pc_isdead(sd) )
return; // not applicable
@@ -7992,7 +7954,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)
@@ -8040,7 +8002,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
if (sd->status.hom_id > 0){
if(battle_config.homunculus_auto_vapor && sd->hd)
- homun->vaporize(sd, HOM_ST_REST);
+ homun->vaporize(sd, HOM_ST_REST, true);
}
if( sd->md )
@@ -8096,7 +8058,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
/* e.g. not killed through pc->damage */
if( pc_issit(sd) ) {
- 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));
}
pc_setdead(sd);
@@ -8135,7 +8097,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
if( battle_config.show_mob_info&4 )
{// update name with new level
- clif->charnameack(0, &md->bl);
+ clif->blname_ack(0, &md->bl);
}
}
src = battle->get_master(src); // Maybe Player Summon
@@ -8227,6 +8189,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
&& 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]
+ && !pc->auto_exp_insurance(sd)
) {
if (battle_config.death_penalty_base > 0) {
unsigned int base_penalty = 0;
@@ -8287,15 +8250,15 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
if(id == 0)
continue;
if(id == -1){
- int eq_num=0,eq_n[MAX_INVENTORY],k;
+ int eq_num = 0, eq_n[MAX_INVENTORY], k;
memset(eq_n,0,sizeof(eq_n));
- for(i=0;i<MAX_INVENTORY;i++){
+ for(i = 0; i < sd->status.inventorySize; i++) {
if( (type == 1 && !sd->status.inventory[i].equip)
|| (type == 2 && sd->status.inventory[i].equip)
|| type == 3)
{
- ARR_FIND( 0, MAX_INVENTORY, k, eq_n[k] <= 0 );
- if( k < MAX_INVENTORY )
+ ARR_FIND(0, sd->status.inventorySize, k, eq_n[k] <= 0);
+ if (k < sd->status.inventorySize)
eq_n[k] = i;
eq_num++;
@@ -8311,7 +8274,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
}
}
else if(id > 0){
- for(i=0;i<MAX_INVENTORY;i++){
+ for( i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid == id
&& rnd()%10000 < per
&& ((type == 1 && !sd->status.inventory[i].equip)
@@ -8827,7 +8790,7 @@ static int pc_itemheal(struct map_session_data *sd, int itemid, int hp, int sp)
}
}
- return status->heal(&sd->bl, hp, sp, 1);
+ return status->heal(&sd->bl, hp, sp, STATUS_HEAL_FORCED);
}
/*==========================================
@@ -9005,6 +8968,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)
@@ -9048,7 +9018,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);
@@ -9188,11 +9158,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);
}
@@ -9212,15 +9182,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);
}
@@ -9308,7 +9278,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;
@@ -10142,7 +10112,7 @@ static int pc_equipitem(struct map_session_data *sd, int n, int req_pos)
nullpo_ret(sd);
- if( n < 0 || n >= MAX_INVENTORY ) {
+ if (n < 0 || n >= sd->status.inventorySize) {
clif->equipitemack(sd,0,0,EIA_FAIL);
return 0;
}
@@ -10350,7 +10320,7 @@ static int pc_unequipitem(struct map_session_data *sd, int n, int flag)
nullpo_ret(sd);
- if (n < 0 || n >= MAX_INVENTORY) {
+ if (n < 0 || n >= sd->status.inventorySize) {
clif->unequipitemack(sd, 0, 0, UIA_FAIL);
return 0;
}
@@ -10502,7 +10472,7 @@ static int pc_checkitem(struct map_session_data *sd)
int id = 0;
if (sd->itemcheck & PCCHECKITEM_INVENTORY) {
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if ((id = sd->status.inventory[i].nameid) == 0)
continue;
@@ -10582,7 +10552,7 @@ static int pc_checkitem(struct map_session_data *sd)
}
}
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].nameid == 0)
continue;
@@ -10756,11 +10726,14 @@ static int pc_divorce(struct map_session_data *sd)
// Both players online, lets do the divorce manually
sd->status.partner_id = 0;
p_sd->status.partner_id = 0;
- for( i = 0; i < MAX_INVENTORY; i++ )
+ for (i = 0; i < sd->status.inventorySize; i++)
{
- if( sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F )
+ if (sd->status.inventory[i].nameid == WEDDING_RING_M || sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
- if( p_sd->status.inventory[i].nameid == WEDDING_RING_M || p_sd->status.inventory[i].nameid == WEDDING_RING_F )
+ }
+ for (i = 0; i < p_sd->status.inventorySize; i++)
+ {
+ if (p_sd->status.inventory[i].nameid == WEDDING_RING_M || p_sd->status.inventory[i].nameid == WEDDING_RING_F)
pc->delitem(p_sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_DIVORCE);
}
@@ -10878,7 +10851,7 @@ static void pc_regen(struct map_session_data *sd, unsigned int diff_tick)
}
if (hp > 0 || sp > 0)
- status->heal(&sd->bl, hp, sp, 0);
+ status->heal(&sd->bl, hp, sp, STATUS_HEAL_DEFAULT);
return;
}
@@ -10943,7 +10916,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;
}
@@ -10966,7 +10939,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;
}
@@ -10987,7 +10960,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;
}
@@ -10996,7 +10969,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)) {
@@ -11563,12 +11536,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;
@@ -12191,6 +12161,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
@@ -12287,6 +12280,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);
@@ -12329,11 +12370,44 @@ static bool pc_has_second_costume(struct map_session_data *sd)
{
nullpo_retr(false, sd);
- if ((sd->job & JOBL_THIRD) != 0)
+// FIXME: JOB_SUPER_NOVICE_E(4190) is not supposed to be 3rd Job. (Issue#2383)
+ if ((sd->job & JOBL_THIRD) != 0 && (sd->job & MAPID_BASEMASK) != MAPID_NOVICE)
return true;
return false;
}
+static bool pc_expandInventory(struct map_session_data *sd, int adjustSize)
+{
+ nullpo_retr(false, sd);
+ const int invSize = sd->status.inventorySize;
+ if (adjustSize > MAX_INVENTORY || invSize + adjustSize <= FIXED_INVENTORY_SIZE || invSize + adjustSize > MAX_INVENTORY) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_MAX_SIZE);
+ return false;
+ }
+ if (pc_isdead(sd) || sd->state.vending || sd->state.prevend || sd->state.buyingstore || sd->chat_id != 0 || sd->state.trading || sd->state.storage_flag || sd->state.prevend) {
+ clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_OTHER_WORK);
+ return false;
+ }
+ sd->status.inventorySize += adjustSize;
+ clif->inventoryExpansionInfo(sd);
+ return true;
+}
+
+static 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)
{
@@ -12716,6 +12790,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]
@@ -12731,9 +12807,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 17a9b8200..e44b9cdda 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -117,22 +117,22 @@ BEGIN_ZEROED_BLOCK; // all the variables within this block get zero'ed in each c
int addrace2[RC2_MAX];
int addsize[3];
struct drain_data {
- short rate;
- short per;
- short value;
+ int rate;
+ int per;
+ int value;
unsigned type:1;
} hp_drain[RC_MAX], sp_drain[RC_MAX];
struct {
- short class_, rate;
+ int class_, rate;
} add_dmg[MAX_PC_BONUS];
struct {
- short flag, rate;
+ int flag, rate;
unsigned char ele;
} addele2[MAX_PC_BONUS];
END_ZEROED_BLOCK;
};
struct s_autospell {
- short id, lv, rate, flag;
+ int id, lv, rate, flag;
int card_id;
bool lock; // bAutoSpellOnSkill: blocks autospell from triggering again, while being executed
};
@@ -147,20 +147,20 @@ struct s_addeffect {
};
struct s_addeffectonskill {
enum sc_type id;
- short rate, skill;
+ int rate, skill;
unsigned char target;
};
struct s_add_drop {
+ bool is_group;
int id;
- short group;
int race, rate;
};
struct s_autobonus {
- short rate,atk_type;
+ int rate,atk_type;
unsigned int duration;
char *bonus_script, *other_script;
int active;
- unsigned short pos;
+ unsigned int pos;
};
enum npc_timeout_type {
NPCT_INPUT = 0,
@@ -219,11 +219,11 @@ struct map_session_data {
unsigned int changemap : 1;
unsigned int callshop : 1; // flag to indicate that a script used callshop; on a shop
short pmap; // Previous map on Map Change
- unsigned short autoloot;
+ unsigned int autoloot;
int autolootid[AUTOLOOTITEM_SIZE]; // [Zephyrus]
- unsigned short autoloottype;
+ unsigned int autoloottype;
unsigned int autolooting : 1; //performance-saver, autolooting state for @alootid
- unsigned short autobonus; //flag to indicate if an autobonus is activated. [Inkfish]
+ unsigned int autobonus; //flag to indicate if an autobonus is activated. [Inkfish]
unsigned int gmaster_flag : 1;
unsigned int prevend : 1;//used to flag wheather you've spent 40sp to open the vending or not.
unsigned int warping : 1;//states whether you're in the middle of a warp processing
@@ -237,6 +237,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 +276,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 +294,7 @@ struct map_session_data {
int followtimer; // [MouseJstr]
int followtarget;
time_t emotionlasttime; // to limit flood with emotion packets
- short skillitem,skillitemlv;
+ int skillitem,skillitemlv;
uint16 skill_id_old,skill_lv_old;
uint16 skill_id_dance,skill_lv_dance;
short cook_mastery; // range: [0,1999] [Inkfish]
@@ -312,7 +318,7 @@ struct map_session_data {
int16 weapontype; ///< Weapon type considering both hands (@see enum weapon_type).
int16 weapontype1; ///< Weapon type in the right/primary hand (@see enum weapon_type).
int16 weapontype2; ///< Weapon type in the left/secondary hand (@see enum weapon_type).
- short disguise; // [Valaris]
+ int disguise; // [Valaris]
struct weapon_data right_weapon, left_weapon;
BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of status_calc_pc()
@@ -337,9 +343,9 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
int expaddrace[RC_MAX];
int ignore_mdef[RC_MAX];
int ignore_def[RC_MAX];
- short sp_gain_race[RC_MAX];
- short sp_gain_race_attack[RC_MAX];
- short hp_gain_race_attack[RC_MAX];
+ int sp_gain_race[RC_MAX];
+ int sp_gain_race_attack[RC_MAX];
+ int hp_gain_race_attack[RC_MAX];
#ifdef RENEWAL
int race_tolerance[RC_MAX];
#endif
@@ -347,16 +353,16 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
struct s_addeffect addeff[MAX_PC_BONUS], addeff2[MAX_PC_BONUS];
struct s_addeffectonskill addeff3[MAX_PC_BONUS];
struct { //skillatk raises bonus dmg% of skills, skillheal increases heal%, skillblown increases bonus blewcount for some skills.
- unsigned short id;
- short val;
+ unsigned int id;
+ int val;
} skillatk[MAX_PC_BONUS], skillusesprate[MAX_PC_BONUS], skillusesp[MAX_PC_BONUS], skillheal[5], skillheal2[5], skillblown[MAX_PC_BONUS], skillcast[MAX_PC_BONUS], skillcooldown[MAX_PC_BONUS], skillfixcast[MAX_PC_BONUS], skillvarcast[MAX_PC_BONUS], skillfixcastrate[MAX_PC_BONUS];
struct {
- short value;
+ int value;
int rate;
int tick;
} hp_loss, sp_loss, hp_regen, sp_regen;
struct {
- short class_, rate;
+ int class_, rate;
} add_def[MAX_PC_BONUS], add_mdef[MAX_PC_BONUS], add_mdmg[MAX_PC_BONUS];
struct s_add_drop add_drop[MAX_PC_BONUS];
struct {
@@ -364,11 +370,11 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
int rate;
} itemhealrate[MAX_PC_BONUS];
struct {
- short flag, rate;
+ int flag, rate;
unsigned char ele;
} subele2[MAX_PC_BONUS];
struct {
- short value;
+ int value;
int rate, tick;
} def_set_race[RC_MAX], mdef_set_race[RC_MAX];
struct {
@@ -394,17 +400,17 @@ BEGIN_ZEROED_BLOCK; // this block will be globally zeroed at the beginning of st
int itemhealrate2; // [Epoque] Increase heal rate of all healing items.
int shieldmdef;//royal guard's
unsigned int setitem_hash, setitem_hash2; //Split in 2 because shift operations only work on int ranges. [Skotlex]
- short splash_range, splash_add_range;
- short add_steal_rate;
- short add_heal_rate, add_heal2_rate;
- short sp_gain_value, hp_gain_value, magic_sp_gain_value, magic_hp_gain_value;
- short hp_vanish_rate;
- short hp_vanish_per, hp_vanish_trigger;
- short sp_vanish_rate;
- short sp_vanish_per, sp_vanish_trigger;
- unsigned short unbreakable; // chance to prevent ANY equipment breaking [celest]
- unsigned short unbreakable_equip; //100% break resistance on certain equipment
- unsigned short unstripable_equip;
+ int splash_range, splash_add_range;
+ int add_steal_rate;
+ int add_heal_rate, add_heal2_rate;
+ int sp_gain_value, hp_gain_value, magic_sp_gain_value, magic_hp_gain_value;
+ int hp_vanish_rate;
+ int hp_vanish_per, hp_vanish_trigger;
+ int sp_vanish_rate;
+ int sp_vanish_per, sp_vanish_trigger;
+ unsigned int unbreakable; // chance to prevent ANY equipment breaking [celest]
+ unsigned int unbreakable_equip; //100% break resistance on certain equipment
+ unsigned int unstripable_equip;
int fixcastrate,varcastrate;
int add_fixcast,add_varcast;
int ematk; // matk bonus from equipment
@@ -419,22 +425,22 @@ END_ZEROED_BLOCK;
int matk_rate;
int critical_rate,hit_rate,flee_rate,flee2_rate,def_rate,def2_rate,mdef_rate,mdef2_rate;
int itemid;
- short itemindex; //Used item's index in sd->inventory [Skotlex]
- short catch_target_class; // pet catching, stores a pet class to catch (short now) [zzo]
- short spiritball, spiritball_old;
+ int itemindex; //Used item's index in sd->inventory [Skotlex]
+ int catch_target_class;
+ int spiritball, spiritball_old;
int spirit_timer[MAX_SPIRITBALL];
- short charm_count;
+ int charm_count;
int charm_type;
int charm_timer[MAX_SPIRITCHARM];
unsigned char potion_success_counter; //Potion successes in row counter
unsigned char mission_count; //Stores the bounty kill count for TK_MISSION
- short mission_mobid; //Stores the target mob_id for TK_MISSION
+ int mission_mobid; //Stores the target mob_id for TK_MISSION
int die_counter; //Total number of times you've died
int devotion[MAX_PC_DEVOTION]; //Stores the account IDs of chars devoted to.
int trade_partner;
struct {
struct {
- short index, amount;
+ int index, amount;
} item[10];
int zeny, weight;
} deal;
@@ -465,18 +471,18 @@ END_ZEROED_BLOCK;
struct {
int m; //-1 - none, other: map index corresponding to map name.
- unsigned short index; //map index
+ unsigned int index; //map index
} feel_map[MAX_PC_FEELHATE];// 0 - Sun; 1 - Moon; 2 - Stars
- short hate_mob[MAX_PC_FEELHATE];
+ int hate_mob[MAX_PC_FEELHATE];
int pvp_timer;
- short pvp_point;
- unsigned short pvp_rank, pvp_lastusers;
- unsigned short pvp_won, pvp_lost;
+ int pvp_point;
+ unsigned int pvp_rank, pvp_lastusers;
+ unsigned int pvp_won, pvp_lost;
char eventqueue[MAX_EVENTQUEUE][EVENT_NAME_LENGTH];
int eventtimer[MAX_EVENTTIMER];
- unsigned short eventcount; // [celest]
+ unsigned int eventcount; // [celest]
int change_level_2nd; // job level when changing from 1st to 2nd class [jobchange_level in global_reg_value]
int change_level_3rd; // job level when changing from 2nd to 3rd class [jobchange_level_3rd in global_reg_value]
@@ -557,8 +563,7 @@ END_ZEROED_BLOCK;
int shadowform_id;
/* [Ind/Hercules] */
- struct channel_data **channels;
- unsigned char channel_count;
+ VECTOR_DECL(struct channel_data *) channels;
struct channel_data *gcbind;
unsigned char fontcolor;
int fontcolor_tid;
@@ -630,6 +635,7 @@ END_ZEROED_BLOCK;
unsigned immune : 1;
unsigned sitstand : 1;
unsigned commands : 1;
+ unsigned npc : 1;
} block_action;
/* Achievement System */
@@ -661,10 +667,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) )
@@ -672,6 +678,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] )
@@ -770,24 +777,24 @@ END_ZEROED_BLOCK;
#define pc_can_give_bound_items(sd) ( pc_has_permission((sd),PC_PERM_TRADE_BOUND) )
struct skill_tree_requirement {
- short id;
+ int id;
unsigned short idx;
unsigned char lv;
};
struct skill_tree_entry {
- short id;
+ int id;
unsigned short idx;
unsigned char max;
unsigned char joblv;
- short inherited;
+ int inherited;
VECTOR_DECL(struct skill_tree_requirement) need;
}; // Celest
struct sg_data {
- short anger_id;
- short bless_id;
- short comfort_id;
+ int anger_id;
+ int bless_id;
+ int comfort_id;
char feel_var[NAME_LENGTH];
char hate_var[NAME_LENGTH];
bool (*day_func)(void);
@@ -906,7 +913,7 @@ END_ZEROED_BLOCK; /* End */
int (*setrestartvalue) (struct map_session_data *sd,int type);
int (*makesavestatus) (struct map_session_data *sd);
- void (*respawn) (struct map_session_data* sd, clr_type clrtype);
+ void (*respawn) (struct map_session_data* sd, enum clr_type clrtype);
int (*setnewpc) (struct map_session_data *sd, int account_id, int char_id, int login_id1, unsigned int client_tick, int sex, int fd);
bool (*authok) (struct map_session_data *sd, int login_id2, time_t expiration_time, int group_id, const struct mmo_charstatus *st, bool changing_mapservers);
void (*authfail) (struct map_session_data *sd);
@@ -928,16 +935,16 @@ END_ZEROED_BLOCK; /* End */
int (*calc_skilltree_normalize_job) (struct map_session_data *sd);
int (*clean_skilltree) (struct map_session_data *sd);
- int (*setpos) (struct map_session_data* sd, unsigned short map_index, int x, int y, clr_type clrtype);
+ int (*setpos) (struct map_session_data* sd, unsigned short map_index, int x, int y, enum clr_type clrtype);
int (*setsavepoint) (struct map_session_data *sd, short map_index, int x, int y);
- int (*randomwarp) (struct map_session_data *sd,clr_type type);
+ int (*randomwarp) (struct map_session_data *sd, enum clr_type type);
int (*memo) (struct map_session_data* sd, int pos);
int (*checkadditem) (struct map_session_data *sd,int nameid,int amount);
int (*inventoryblank) (struct map_session_data *sd);
int (*search_inventory) (struct map_session_data *sd,int item_id);
int (*payzeny) (struct map_session_data *sd,int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
- int (*additem) (struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type);
+ int (*additem) (struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type);
int (*getzeny) (struct map_session_data *sd,int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
int (*delitem) (struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type);
@@ -960,7 +967,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);
@@ -1069,8 +1076,8 @@ END_ZEROED_BLOCK; /* End */
void (*setstand) (struct map_session_data *sd);
int (*candrop) (struct map_session_data *sd,struct item *item);
- int (*jobid2mapid) (int16 class); // Skotlex
- int (*mapid2jobid) (unsigned short class_, int sex); // Skotlex
+ int (*jobid2mapid) (int class); // Skotlex
+ int (*mapid2jobid) (unsigned int class_, int sex); // Skotlex
const char * (*job_name) (int class);
@@ -1125,7 +1132,7 @@ END_ZEROED_BLOCK; /* End */
int (*bonus_autospell_onskill) (struct s_autospell *spell, int max, short src_skill, short id, short lv, short rate, int card_id);
int (*bonus_addeff) (struct s_addeffect* effect, int max, enum sc_type id, int16 rate, int16 arrow_rate, uint8 flag, uint16 duration);
int (*bonus_addeff_onskill) (struct s_addeffectonskill* effect, int max, enum sc_type id, short rate, short skill_id, unsigned char target);
- int (*bonus_item_drop) (struct s_add_drop *drop, const short max, short id, short group, int race, int rate);
+ int (*bonus_item_drop) (struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate);
void (*calcexp) (struct map_session_data *sd, uint64 *base_exp, uint64 *job_exp, struct block_list *src);
int (*respawn_timer) (int tid, int64 tick, int id, intptr_t data);
int (*jobchange_killclone) (struct block_list *bl, va_list ap);
@@ -1180,12 +1187,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..8d55897b8 100644
--- a/src/map/pc_groups.c
+++ b/src/map/pc_groups.c
@@ -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..f3994b9c4 100644
--- a/src/map/pc_groups.h
+++ b/src/map/pc_groups.h
@@ -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 c32a92b78..b2b6d96f8 100644
--- a/src/map/pet.c
+++ b/src/map/pet.c
@@ -94,10 +94,10 @@ static void pet_set_intimate(struct pet_data *pd, int value)
if (value <= 0) {
int i;
- ARR_FIND(0, MAX_INVENTORY, i, sd->status.inventory[i].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].card[0] == CARD0_PET &&
pd->pet.pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]));
- if (i != MAX_INVENTORY) {
+ if (i != sd->status.inventorySize) {
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_EGG);
}
}
@@ -111,8 +111,8 @@ static int pet_create_egg(struct map_session_data *sd, int item_id)
if (!pc->inventoryblank(sd)) return 0; // Inventory full
sd->catch_target_class = pet->db[pet_id].class_;
intif->create_pet(sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_,
- (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_,
+ mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0,
(short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
@@ -251,7 +251,7 @@ static int pet_hungry(int tid, int64 tick, int id, intptr_t data)
pd->pet.hungry--;
/* Pet Autofeed */
- if (battle_config.feature_enable_homun_autofeed != 0) {
+ if (battle_config.feature_enable_pet_autofeed != 0) {
if (pd->petDB->autofeed == 1 && pd->pet.autofeed == 1 && pd->pet.hungry <= 25) {
pet->food(sd, pd);
}
@@ -342,12 +342,27 @@ static int pet_return_egg(struct map_session_data *sd, struct pet_data *pd)
pet->lootitem_drop(pd,sd);
// Pet Evolution
- ARR_FIND(0, MAX_INVENTORY, i, sd->status.inventory[i].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].card[0] == CARD0_PET &&
pd->pet.pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]));
- if (i != MAX_INVENTORY) {
+ if (i != sd->status.inventorySize) {
sd->status.inventory[i].attribute &= ~ATTR_BROKEN;
sd->status.inventory[i].bound = IBT_NONE;
+ } else {
+ // The pet egg wasn't found: it was probably hatched with the old system that deleted the egg.
+ struct item tmp_item = {0};
+ int flag;
+
+ tmp_item.nameid = pd->petDB->EggID;
+ tmp_item.identify = 1;
+ tmp_item.card[0] = CARD0_PET;
+ tmp_item.card[1] = GetWord(pd->pet.pet_id, 0);
+ tmp_item.card[2] = GetWord(pd->pet.pet_id, 1);
+ tmp_item.card[3] = pd->pet.rename_flag;
+ if ((flag = pc->additem(sd, &tmp_item, 1, LOG_TYPE_EGG)) != 0) {
+ clif->additem(sd, 0, 0, flag);
+ map->addflooritem(&sd->bl, &tmp_item, 1, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0, false);
+ }
}
#if PACKETVER >= 20180704
clif->inventoryList(sd);
@@ -492,10 +507,10 @@ static int pet_recv_petdata(int account_id, struct s_pet *p, int flag)
if(p->incubate == 1) {
int i;
// Get Egg Index
- ARR_FIND(0, MAX_INVENTORY, i, sd->status.inventory[i].card[0] == CARD0_PET &&
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].card[0] == CARD0_PET &&
p->pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]));
- if(i == MAX_INVENTORY) {
+ if(i == sd->status.inventorySize) {
ShowError("pet_recv_petdata: Hatching pet (%d:%s) aborted, couldn't find egg in inventory for removal!\n",p->pet_id, p->name);
sd->status.pet_id = 0;
return 1;
@@ -527,7 +542,7 @@ static int pet_select_egg(struct map_session_data *sd, int egg_index)
{
nullpo_ret(sd);
- if(egg_index < 0 || egg_index >= MAX_INVENTORY)
+ if (egg_index < 0 || egg_index >= sd->status.inventorySize)
return 0; //Forged packet!
if(sd->status.inventory[egg_index].card[0] == CARD0_PET)
@@ -614,7 +629,7 @@ static int pet_catch_process2(struct map_session_data *sd, int target_id)
* pet_id - Should contain pet id otherwise means failure
* returns true on success
**/
-static bool pet_get_egg(int account_id, short pet_class, int pet_id)
+static bool pet_get_egg(int account_id, int pet_class, int pet_id)
{
struct map_session_data *sd;
struct item tmp_item;
@@ -733,7 +748,7 @@ static int pet_change_name_ack(struct map_session_data *sd, const char *name, in
}
safestrncpy(pd->pet.name, newname, NAME_LENGTH);
aFree(newname);
- clif->charnameack (0,&pd->bl);
+ clif->blname_ack(0,&pd->bl);
pd->pet.rename_flag = 1;
clif->send_petdata(NULL, sd->pd, 3, sd->pd->vd.head_bottom);
clif->send_petstatus(sd);
@@ -1306,7 +1321,7 @@ 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;
}
diff --git a/src/map/pet.h b/src/map/pet.h
index 049816804..2508a70a6 100644
--- a/src/map/pet.h
+++ b/src/map/pet.h
@@ -37,7 +37,7 @@ struct pet_evolve_data {
};
struct s_pet_db {
- short class_;
+ int class_;
char name[NAME_LENGTH],jname[NAME_LENGTH];
int itemID;
int EggID;
@@ -160,7 +160,7 @@ struct pet_interface {
int (*select_egg) (struct map_session_data *sd, int egg_index);
int (*catch_process1) (struct map_session_data *sd, int target_class);
int (*catch_process2) (struct map_session_data *sd, int target_id);
- bool (*get_egg) (int account_id, short pet_class, int pet_id );
+ bool (*get_egg) (int account_id, int pet_class, int pet_id );
int (*unequipitem) (struct map_session_data *sd, struct pet_data *pd);
int (*food) (struct map_session_data *sd, struct pet_data *pd);
int (*ai_sub_hard_lootsearch) (struct block_list *bl, va_list ap);
diff --git a/src/map/quest.c b/src/map/quest.c
index 02bf7638b..38ac88eea 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -30,6 +30,7 @@
#include "map/itemdb.h"
#include "map/log.h"
#include "map/map.h"
+#include "map/mercenary.h"
#include "map/mob.h"
#include "map/npc.h"
#include "map/party.h"
@@ -584,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;
}
@@ -671,21 +672,22 @@ static int quest_questinfo_validate_icon(int icon)
*/
static void quest_questinfo_refresh(struct map_session_data *sd)
{
- int i;
-
nullpo_retv(sd);
- for (i = 0; i < VECTOR_LENGTH(map->list[sd->bl.m].qi_data); i++) {
- struct questinfo *qi = &VECTOR_INDEX(map->list[sd->bl.m].qi_data, i);
- // Remove the bubbles if one of the conditions is no longer valid.
- if (quest->questinfo_validate(sd, qi) == false) {
+ for (int i = 0; i < VECTOR_LENGTH(map->list[sd->bl.m].qi_list); i++) {
+ struct npc_data *nd = &VECTOR_INDEX(map->list[sd->bl.m].qi_list, i);
+
+ int j;
+ ARR_FIND(0, VECTOR_LENGTH(nd->qi_data), j, quest->questinfo_validate(sd, &VECTOR_INDEX(nd->qi_data, j)) == true);
+ if (j != VECTOR_LENGTH(nd->qi_data)) {
+ struct questinfo *qi = &VECTOR_INDEX(nd->qi_data, j);
+ clif->quest_show_event(sd, &nd->bl, qi->icon, qi->color);
+ } else {
#if PACKETVER >= 20120410
- clif->quest_show_event(sd, &qi->nd->bl, 9999, 0);
+ clif->quest_show_event(sd, &nd->bl, 9999, 0);
#else
- clif->quest_show_event(sd, &qi->nd->bl, 0, 0);
+ clif->quest_show_event(sd, &nd->bl, 0, 0);
#endif
- } else {
- clif->quest_show_event(sd, &qi->nd->bl, qi->icon, qi->color);
}
}
}
@@ -719,6 +721,8 @@ static bool quest_questinfo_validate(struct map_session_data *sd, struct questin
return false;
if (VECTOR_LENGTH(qi->quest_requirement) > 0 && quest->questinfo_validate_quests(sd, qi) == false)
return false;
+ if (qi->mercenary_class != 0 && quest->questinfo_validate_mercenary_class(sd, qi) == false)
+ return false;
return true;
}
@@ -811,7 +815,7 @@ static bool quest_questinfo_validate_items(struct map_session_data *sd, struct q
for (int i = 0; i < VECTOR_LENGTH(qi->items); i++) {
struct questinfo_itemreq *item = &VECTOR_INDEX(qi->items, i);
int count = 0;
- for (int j = 0; j < MAX_INVENTORY; j++) {
+ for (int j = 0; j < sd->status.inventorySize; j++) {
if (sd->status.inventory[j].nameid == item->nameid)
count += sd->status.inventory[j].amount;
}
@@ -901,23 +905,26 @@ static bool quest_questinfo_validate_quests(struct map_session_data *sd, struct
}
/**
- * Clears the questinfo data vector
+ * Validate mercenary class required for the questinfo
*
- * @param m mapindex.
+ * @param sd session data.
+ * @param qi questinfo data.
*
+ * @retval true if player have a mercenary with the given class.
+ * @retval false if player does NOT have a mercenary with the given class.
*/
-static void quest_questinfo_vector_clear(int m)
+static bool quest_questinfo_validate_mercenary_class(struct map_session_data *sd, struct questinfo *qi)
{
- int i;
+ nullpo_retr(false, sd);
+ nullpo_retr(false, qi);
+
+ if (sd->md == NULL)
+ return false;
- Assert_retv(m >= 0 && m < map->count);
+ if (sd->md->mercenary.class_ != qi->mercenary_class)
+ return false;
- for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
- struct questinfo *qi_data = &VECTOR_INDEX(map->list[m].qi_data, i);
- VECTOR_CLEAR(qi_data->items);
- VECTOR_CLEAR(qi_data->quest_requirement);
- }
- VECTOR_CLEAR(map->list[m].qi_data);
+ return true;
}
/**
@@ -993,5 +1000,5 @@ void quest_defaults(void)
quest->questinfo_validate_homunculus_level = quest_questinfo_validate_homunculus_level;
quest->questinfo_validate_homunculus_type = quest_questinfo_validate_homunculus_type;
quest->questinfo_validate_quests = quest_questinfo_validate_quests;
- quest->questinfo_vector_clear = quest_questinfo_vector_clear;
+ quest->questinfo_validate_mercenary_class = quest_questinfo_validate_mercenary_class;
}
diff --git a/src/map/quest.h b/src/map/quest.h
index 305a48df1..d60b9b33c 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -60,6 +60,39 @@ enum quest_check_type {
HUNTING, ///< Check if the given hunting quest's requirements have been met
};
+struct questinfo_qreq {
+ int id;
+ int state;
+};
+
+struct questinfo_itemreq {
+ int nameid;
+ int min;
+ int max;
+};
+
+struct questinfo {
+ unsigned short icon;
+ unsigned char color;
+ bool hasJob;
+ unsigned int job;/* perhaps a mapid mask would be most flexible? */
+ bool sex_enabled;
+ int sex;
+ struct {
+ int min;
+ int max;
+ } base_level;
+ struct {
+ int min;
+ int max;
+ } job_level;
+ VECTOR_DECL(struct questinfo_itemreq) items;
+ struct s_homunculus homunculus;
+ int homunculus_type;
+ VECTOR_DECL(struct questinfo_qreq) quest_requirement;
+ int mercenary_class;
+};
+
struct quest_interface {
struct quest_db **db_data; ///< Quest database
struct quest_db dummy; ///< Dummy entry for invalid quest lookups
@@ -92,7 +125,7 @@ struct quest_interface {
bool (*questinfo_validate_homunculus_level) (struct map_session_data *sd, struct questinfo *qi);
bool (*questinfo_validate_homunculus_type) (struct map_session_data *sd, struct questinfo *qi);
bool (*questinfo_validate_quests) (struct map_session_data *sd, struct questinfo *qi);
- void (*questinfo_vector_clear) (int m);
+ bool (*questinfo_validate_mercenary_class) (struct map_session_data *sd, struct questinfo *qi);
};
#ifdef HERCULES_CORE
diff --git a/src/map/refine.c b/src/map/refine.c
new file mode 100644
index 000000000..29d81c9b8
--- /dev/null
+++ b/src/map/refine.c
@@ -0,0 +1,669 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define HERCULES_CORE
+
+#include "refine.p.h"
+#include "common/cbasetypes.h"
+#include "common/nullpo.h"
+#include "common/random.h"
+#include "common/showmsg.h"
+#include "common/strlib.h"
+#include "common/utils.h"
+#include "map/itemdb.h"
+#include "map/map.h"
+#include "map/pc.h"
+#include "map/script.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/** @file
+* Implementation of the refine interface.
+*/
+
+static struct refine_interface refine_s;
+static struct refine_interface_private refine_p;
+static struct refine_interface_dbs refine_dbs;
+struct refine_interface *refine;
+
+/// @copydoc refine_interface::refinery_refine_request()
+static void refine_refinery_refine_request(struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing)
+{
+ nullpo_retv(sd);
+
+ if (item_index < 0 || item_index >= sd->status.inventorySize)
+ return;
+
+ if (!refine->p->is_refinable(sd, item_index))
+ return;
+
+ int weapon_level = itemdb_wlv(sd->status.inventory[item_index].nameid);
+ int refine_level = sd->status.inventory[item_index].refine;
+ int i = 0;
+ const struct s_refine_requirement *req = &refine->p->dbs->refine_info[weapon_level].refine_requirements[refine_level];
+ ARR_FIND(0, req->req_count, i, req->req[i].nameid == material_id);
+
+ if (i == req->req_count)
+ return;
+
+ if (use_blacksmith_blessing && req->blacksmith_blessing == 0)
+ return;
+
+ if (sd->status.zeny < req->req[i].cost)
+ return;
+
+ if (use_blacksmith_blessing) {
+ int count = 0;
+ for (int k = 0; k < sd->status.inventorySize; ++k) {
+ if (sd->status.inventory[k].nameid == ITEMID_BLACKSMITH_BLESSING)
+ count += sd->status.inventory[k].amount;
+ }
+
+ if (count < req->blacksmith_blessing)
+ return;
+ }
+
+ int idx;
+ if ((idx = pc->search_inventory(sd, req->req[i].nameid)) == INDEX_NOT_FOUND)
+ return;
+
+ if (use_blacksmith_blessing) {
+ int amount = req->blacksmith_blessing;
+ for (int k = 0; k < sd->status.inventorySize; ++k) {
+ if (sd->status.inventory[k].nameid != ITEMID_BLACKSMITH_BLESSING)
+ continue;
+
+ int delamount = (amount < sd->status.inventory[k].amount) ? amount : sd->status.inventory[k].amount;
+ if (pc->delitem(sd, k, delamount, 0, DELITEM_NORMAL, LOG_TYPE_REFINE) != 0)
+ break;
+
+ amount -= delamount;
+ if (amount == 0)
+ break;
+ }
+ }
+
+ if (pc->delitem(sd, idx, 1, 0, DELITEM_NORMAL, LOG_TYPE_REFINE) != 0)
+ return;
+
+ if (pc->payzeny(sd, req->req[i].cost, LOG_TYPE_REFINE, NULL) != 0)
+ return;
+
+ int refine_chance = refine->get_refine_chance(weapon_level, refine_level, req->req[i].type);
+ if (rnd() % 100 >= refine_chance) {
+ clif->misceffect(&sd->bl, 2);
+
+ int failure_behabior = (use_blacksmith_blessing) ? REFINE_FAILURE_BEHAVIOR_KEEP : req->req[i].failure_behavior;
+ switch (failure_behabior) {
+ case REFINE_FAILURE_BEHAVIOR_KEEP:
+ clif->refine(sd->fd, 1, 0, sd->status.inventory[item_index].refine);
+ refine->refinery_add_item(sd, item_index);
+ break;
+ case REFINE_FAILURE_BEHAVIOR_DOWNGRADE:
+ sd->status.inventory[item_index].refine -= 1;
+ sd->status.inventory[item_index].refine = cap_value(sd->status.inventory[item_index].refine, 0, MAX_REFINE);
+ clif->refine(sd->fd, 2, item_index, sd->status.inventory[item_index].refine);
+ logs->pick_pc(sd, LOG_TYPE_REFINE, 1, &sd->status.inventory[item_index], sd->inventory_data[item_index]);
+ refine->refinery_add_item(sd, item_index);
+ break;
+ case REFINE_FAILURE_BEHAVIOR_DESTROY:
+ default:
+ clif->refine(sd->fd, 1, item_index, sd->status.inventory[item_index].refine);
+ pc->delitem(sd, item_index, 1, 0, DELITEM_FAILREFINE, LOG_TYPE_REFINE);
+ break;
+ }
+
+ if ((req->announce & REFINE_ANNOUNCE_FAILURE) != 0)
+ clif->announce_refine_status(sd, sd->status.inventory[item_index].nameid, sd->status.inventory[item_index].refine, false, ALL_CLIENT);
+ } else {
+ sd->status.inventory[item_index].refine += 1;
+ sd->status.inventory[item_index].refine = cap_value(sd->status.inventory[item_index].refine, 0, MAX_REFINE);
+
+ clif->misceffect(&sd->bl, 3);
+ clif->refine(sd->fd, 0, item_index, sd->status.inventory[item_index].refine);
+ logs->pick_pc(sd, LOG_TYPE_REFINE, 1, &sd->status.inventory[item_index], sd->inventory_data[item_index]);
+ refine->refinery_add_item(sd, item_index);
+
+ if ((req->announce & REFINE_ANNOUNCE_SUCCESS) != 0)
+ clif->announce_refine_status(sd, sd->status.inventory[item_index].nameid, sd->status.inventory[item_index].refine, true, ALL_CLIENT);
+ }
+}
+
+/// @copydoc refine_interface::refinery_add_item()
+static void refine_refinery_add_item(struct map_session_data *sd, int item_index)
+{
+ nullpo_retv(sd);
+
+ if (item_index < 0 || item_index >= sd->status.inventorySize)
+ return;
+
+ if (!refine->p->is_refinable(sd, item_index))
+ return;
+
+ int weapon_level = itemdb_wlv(sd->status.inventory[item_index].nameid);
+ int refine_level = sd->status.inventory[item_index].refine;
+ clif->AddItemRefineryUIAck(sd, item_index, &refine->p->dbs->refine_info[weapon_level].refine_requirements[refine_level]);
+}
+
+/// @copydoc refine_interface_private::is_refinable()
+static bool refine_is_refinable(struct map_session_data *sd, int item_index)
+{
+ nullpo_retr(false, sd);
+ Assert_retr(false, item_index >= 0 && item_index < sd->status.inventorySize);
+
+ if (sd->status.inventory[item_index].nameid == 0)
+ return false;
+
+ struct item_data *itd = itemdb->search(sd->status.inventory[item_index].nameid);
+
+ if (itd == &itemdb->dummy)
+ return false;
+
+ if (itd->type != IT_WEAPON && itd->type != IT_ARMOR)
+ return false;
+
+ if (itd->flag.no_refine == 1)
+ return false;
+
+ if (sd->status.inventory[item_index].identify == 0)
+ return false;
+
+ if (sd->status.inventory[item_index].refine >= MAX_REFINE || sd->status.inventory[item_index].expire_time > 0)
+ return false;
+
+ if ((sd->status.inventory[item_index].attribute & ATTR_BROKEN) != 0)
+ return false;
+
+ return true;
+}
+
+/// @copydoc refine_interface::get_randombonus_max()
+static int refine_get_randombonus_max(enum refine_type equipment_type, int refine_level)
+{
+ Assert_ret((int)equipment_type >= REFINE_TYPE_ARMOR && equipment_type < REFINE_TYPE_MAX);
+ Assert_ret(refine_level > 0 && refine_level <= MAX_REFINE);
+
+ return refine->p->dbs->refine_info[equipment_type].randombonus_max[refine_level - 1];
+}
+
+/// @copydoc refine_interface::get_bonus()
+static int refine_get_bonus(enum refine_type equipment_type, int refine_level)
+{
+ Assert_ret((int)equipment_type >= REFINE_TYPE_ARMOR && equipment_type < REFINE_TYPE_MAX);
+ Assert_ret(refine_level > 0 && refine_level <= MAX_REFINE);
+
+ return refine->p->dbs->refine_info[equipment_type].bonus[refine_level - 1];
+}
+
+/// @copydoc refine_interface::get_refine_chance()
+static int refine_get_refine_chance(enum refine_type wlv, int refine_level, enum refine_chance_type type)
+{
+ Assert_ret((int)wlv >= REFINE_TYPE_ARMOR && wlv < REFINE_TYPE_MAX);
+
+ if (refine_level < 0 || refine_level >= MAX_REFINE)
+ return 0;
+
+ if (type >= REFINE_CHANCE_TYPE_MAX)
+ return 0;
+
+ return refine->p->dbs->refine_info[wlv].chance[type][refine_level];
+}
+
+/// @copydoc refine_interface_private::announce_behavior_string2enum()
+static bool refine_announce_behavior_string2enum(const char *str, unsigned int *result)
+{
+ nullpo_retr(false, str);
+ nullpo_retr(false, result);
+
+ if (strcasecmp(str, "Success") == 0)
+ *result = REFINE_ANNOUNCE_SUCCESS;
+ else if (strcasecmp(str, "Failure") == 0)
+ *result = REFINE_ANNOUNCE_FAILURE;
+ else if (strcasecmp(str, "Always") == 0)
+ *result = REFINE_ANNOUNCE_ALWAYS;
+ else
+ return false;
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::failure_behavior_string2enum()
+static bool refine_failure_behavior_string2enum(const char *str, enum refine_ui_failure_behavior *result)
+{
+ nullpo_retr(false, str);
+ nullpo_retr(false, result);
+
+ if (strcasecmp(str, "Destroy") == 0)
+ *result = REFINE_FAILURE_BEHAVIOR_DESTROY;
+ else if (strcasecmp(str, "Keep") == 0)
+ *result = REFINE_FAILURE_BEHAVIOR_KEEP;
+ else if (strcasecmp(str, "Downgrade") == 0)
+ *result = REFINE_FAILURE_BEHAVIOR_DOWNGRADE;
+ else
+ return false;
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::readdb_refinery_ui_settings_items()
+static bool refine_readdb_refinery_ui_settings_items(const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source)
+{
+ nullpo_retr(false, elem);
+ nullpo_retr(false, req);
+ nullpo_retr(false, name);
+ nullpo_retr(false, source);
+ Assert_retr(false, req->req_count < MAX_REFINE_REQUIREMENTS);
+
+ const char *aegis_name = config_setting_name(elem);
+ struct item_data *itd;
+
+ if ((itd = itemdb->search_name(aegis_name)) == NULL) {
+ ShowWarning("refine_readdb_requirements_items: Invalid item '%s' passed to requirements of '%s' in \"%s\" skipping...\n", aegis_name, name, source);
+ return false;
+ }
+
+ for (int i = 0; i < req->req_count; ++i) {
+ if (req->req[i].nameid == itd->nameid) {
+ ShowWarning("refine_readdb_requirements_items: Duplicated item '%s' passed to requirements of '%s' in \"%s\" skipping...\n", aegis_name, name, source);
+ return false;
+ }
+ }
+
+ const char *type_string = NULL;
+ if (libconfig->setting_lookup_string(elem, "Type", &type_string) == CONFIG_FALSE) {
+ ShowWarning("refine_readdb_requirements_items: no type passed to item '%s' of requirements of '%s' in \"%s\" skipping...\n", aegis_name, name, source);
+ return false;
+ }
+
+ int type;
+ if (!script->get_constant(type_string, &type)) {
+ ShowWarning("refine_readdb_requirements_items: invalid type '%s' passed to item '%s' of requirements of '%s' in \"%s\" skipping...\n", type_string, aegis_name, name, source);
+ return false;
+ }
+
+ int cost = 0;
+ if (libconfig->setting_lookup_int(elem, "Cost", &cost) == CONFIG_TRUE) {
+ if (cost < 1) {
+ ShowWarning("refine_readdb_requirements_items: invalid cost value %d passed to item '%s' of requirements of '%s' in \"%s\" defaulting to 0...\n", cost, aegis_name, name, source);
+ cost = 0;
+ }
+ }
+
+ enum refine_ui_failure_behavior behavior = REFINE_FAILURE_BEHAVIOR_DESTROY;
+ const char *behavior_string = NULL;
+ if (libconfig->setting_lookup_string(elem, "FailureBehavior", &behavior_string) != CONFIG_FALSE) {
+ if (!refine->p->failure_behavior_string2enum(behavior_string, &behavior)) {
+ ShowWarning("refine_readdb_requirements_items: invalid failure behavior value %s passed to item '%s' of requirements of '%s' in \"%s\" defaulting to 'Destroy'...\n", behavior_string, aegis_name, name, source);
+ }
+ }
+
+ req->req[req->req_count].nameid = itd->nameid;
+ req->req[req->req_count].type = type;
+ req->req[req->req_count].cost = cost;
+ req->req[req->req_count].failure_behavior = behavior;
+ req->req_count++;
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::readdb_refinery_ui_settings_sub()
+static bool refine_readdb_refinery_ui_settings_sub(const struct config_setting_t *elem, int type, const char *name, const char *source)
+{
+ nullpo_retr(false, elem);
+ nullpo_retr(false, name);
+ nullpo_retr(false, source);
+ Assert_retr(0, type >= REFINE_TYPE_ARMOR && type < REFINE_TYPE_MAX);
+
+ struct config_setting_t *level_t;
+ bool levels[MAX_REFINE] = {0};
+
+ if ((level_t = libconfig->setting_get_member(elem, "Level")) == NULL) {
+ ShowWarning("refine_readdb_requirements_sub: a requirements element missing level field for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ if (config_setting_is_scalar(level_t)) {
+ if (!config_setting_is_number(level_t)) {
+ ShowWarning("refine_readdb_requirements_sub: expected 'Level' field to be an integer '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ int refine_level = libconfig->setting_get_int(level_t);
+ if (refine_level < 1 || refine_level > MAX_REFINE) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'Level' given value %d expected a value between %d and %d '%s' in \"%s\" skipping...\n", refine_level, 1, MAX_REFINE, name, source);
+ return false;
+ }
+
+ levels[refine_level - 1] = true;
+ } else if (config_setting_is_aggregate(level_t)) {
+ if (libconfig->setting_length(level_t) != 2) {
+ ShowWarning("refine_readdb_requirements_sub: invalid length for Level array, expected 2 found %d for entry '%s' in \"%s\" skipping...\n", libconfig->setting_length(level_t), name, source);
+ return false;
+ }
+
+ int levels_range[2];
+ const struct config_setting_t *level_entry = NULL;
+ int i = 0,
+ k = 0;
+ while ((level_entry = libconfig->setting_get_elem(level_t, i++)) != NULL) {
+ if (!config_setting_is_number(level_entry)) {
+ ShowWarning("refine_readdb_requirements_sub: expected 'Level' array field to be an integer '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ levels_range[k] = libconfig->setting_get_int(level_entry);
+ if (levels_range[k] < 1 || levels_range[k] > MAX_REFINE) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'Level' given value %d expected a value between %d and %d in entry'%s' in \"%s\" skipping...\n", levels_range[k], 1, MAX_REFINE, name, source);
+ return false;
+ }
+
+ ++k;
+ }
+
+ if (!(levels_range[0] < levels_range[1])) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'Level' range was given low %d high %d in entry'%s' in \"%s\" skipping...\n", levels_range[0], levels_range[1], name, source);
+ return false;
+ }
+
+ for (i = levels_range[0] - 1; i < levels_range[1]; ++i) {
+ levels[i] = true;
+ }
+ }
+
+ struct s_refine_requirement req = {0};
+ if (libconfig->setting_lookup_int(elem, "BlacksmithBlessing", &req.blacksmith_blessing) == CONFIG_TRUE) {
+ if (req.blacksmith_blessing < 1 || req.blacksmith_blessing > INT8_MAX) {
+ ShowWarning("refine_readdb_requirements_sub: Invalid 'BlacksmithBlessing' amount was given value %d expected a value between %d and %d in entry'%s' in \"%s\" defaulting to 0...\n", req.blacksmith_blessing, 1, INT8_MAX, name, source);
+ req.blacksmith_blessing = 0;
+ }
+ }
+
+ req.announce = 0;
+ const char *announce_behavior = NULL;
+ if (libconfig->setting_lookup_string(elem, "Announce", &announce_behavior) != CONFIG_FALSE) {
+ if (!refine->p->announce_behavior_string2enum(announce_behavior, &req.announce)) {
+ ShowWarning("refine_readdb_requirements_sub: invalid announce behavior value '%s' in entry '%s' in \"%s\" defaulting to not announce...\n", announce_behavior, name, source);
+ }
+ }
+
+ struct config_setting_t *items_t;
+ if ((items_t = libconfig->setting_get_member(elem, "Items")) == NULL) {
+ ShowWarning("refine_readdb_requirements_sub: a requirements element missing Items element for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ if (libconfig->setting_length(items_t) < 1) {
+ ShowWarning("refine_readdb_requirements_sub: an Items element containing no items passed for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ int loaded_items = 0;
+ for (int i = 0; i < libconfig->setting_length(items_t); ++i) {
+ if (req.req_count >= MAX_REFINE_REQUIREMENTS) {
+ ShowWarning("refine_readdb_requirements_sub: Too many items passed to requirements maximum possible items is %d entry '%s' in \"%s\" skipping...\n", MAX_REFINE_REQUIREMENTS, name, source);
+ continue;
+ }
+
+ struct config_setting_t *item_t = libconfig->setting_get_elem(items_t, i);
+
+ if (!refine->p->readdb_refinery_ui_settings_items(item_t, &req, name, source))
+ continue;
+
+ loaded_items++;
+ }
+
+ if (loaded_items == 0) {
+ ShowWarning("refine_readdb_requirements_sub: no valid items for requirements is passed for entry '%s' in \"%s\" skipping...\n", name, source);
+ return false;
+ }
+
+ for (int i = 0; i < MAX_REFINE; ++i) {
+ if (!levels[i])
+ continue;
+
+ refine->p->dbs->refine_info[type].refine_requirements[i] = req;
+ }
+
+ return true;
+}
+
+/// @copydoc refine_interface_private::readdb_refinery_ui_settings()
+static int refine_readdb_refinery_ui_settings(const struct config_setting_t *r, int type, const char *name, const char *source)
+{
+ nullpo_retr(0, r);
+ nullpo_retr(0, name);
+ nullpo_retr(0, source);
+ Assert_retr(0, type >= REFINE_TYPE_ARMOR && type < REFINE_TYPE_MAX);
+
+ int i = 0;
+ const struct config_setting_t *elem = NULL;
+ while ((elem = libconfig->setting_get_elem(r, i++)) != NULL) {
+ refine->p->readdb_refinery_ui_settings_sub(elem, type, name, source);
+ }
+
+ int retval = 0;
+ for (i = 0; i < MAX_REFINE; ++i) {
+ if (refine->p->dbs->refine_info[type].refine_requirements[i].req_count > 0)
+ retval++;
+ }
+
+ return retval;
+}
+
+/// @copydoc refine_interface_private::readdb_refine_libconfig_sub()
+static int refine_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *name, const char *source)
+{
+ struct config_setting_t *rate = NULL;
+ int type = REFINE_TYPE_ARMOR, bonus_per_level = 0, rnd_bonus_v = 0, rnd_bonus_lv = 0;
+ char lv[4];
+ nullpo_ret(r);
+ nullpo_ret(name);
+ nullpo_ret(source);
+
+ if (strncmp(name, "Armors", 6) == 0) {
+ type = REFINE_TYPE_ARMOR;
+ } else if (strncmp(name, "WeaponLevel", 11) != 0 || !strspn(&name[strlen(name)-1], "0123456789") || (type = atoi(strncpy(lv, name+11, 2))) == REFINE_TYPE_ARMOR) {
+ ShowError("status_readdb_refine_libconfig_sub: Invalid key name for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+ if (type < REFINE_TYPE_ARMOR || type >= REFINE_TYPE_MAX) {
+ ShowError("status_readdb_refine_libconfig_sub: Out of range level for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ struct config_setting_t *refinery_ui_settings;
+ if ((refinery_ui_settings = libconfig->setting_get_member(r, "RefineryUISettings")) == NULL) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing Requirements for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ if (refine->p->readdb_refinery_ui_settings(refinery_ui_settings, type, name, source) != MAX_REFINE) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Not all refine levels have requrements entry for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ if (!libconfig->setting_lookup_int(r, "StatsPerLevel", &bonus_per_level)) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing StatsPerLevel for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+ if (!libconfig->setting_lookup_int(r, "RandomBonusStartLevel", &rnd_bonus_lv)) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing RandomBonusStartLevel for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+ if (!libconfig->setting_lookup_int(r, "RandomBonusValue", &rnd_bonus_v)) {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing RandomBonusValue for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ if ((rate=libconfig->setting_get_member(r, "Rates")) != NULL && config_setting_is_group(rate)) {
+ bool duplicate[MAX_REFINE];
+ int bonus[MAX_REFINE], rnd_bonus[MAX_REFINE];
+ int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE];
+
+ memset(&duplicate, 0, sizeof(duplicate));
+ memset(&bonus, 0, sizeof(bonus));
+ memset(&rnd_bonus, 0, sizeof(rnd_bonus));
+
+ for (int i = 0; i < REFINE_CHANCE_TYPE_MAX; i++)
+ for (int j = 0; j < MAX_REFINE; j++)
+ chance[i][j] = 100; // default value for all rates.
+
+ struct config_setting_t *t = NULL;
+ for (int i = 0; (t = libconfig->setting_get_elem(rate, i)) != NULL && config_setting_is_group(t); ++i) {
+ int level = 0, i32;
+ char *rlvl = config_setting_name(t);
+ memset(&lv, 0, sizeof(lv));
+
+ if (!strspn(&rlvl[strlen(rlvl) - 1], "0123456789") || (level = atoi(strncpy(lv, rlvl + 2, 3))) <= 0) {
+ ShowError("status_readdb_refine_libconfig_sub: Invalid refine level format '%s' for entry %s in \"%s\"... skipping.\n", rlvl, name, source);
+ continue;
+ }
+
+ if (level <= 0 || level > MAX_REFINE) {
+ ShowError("status_readdb_refine_libconfig_sub: Out of range refine level '%s' for entry %s in \"%s\"... skipping.\n", rlvl, name, source);
+ continue;
+ }
+
+ level--;
+
+ if (duplicate[level]) {
+ ShowWarning("status_readdb_refine_libconfig_sub: duplicate rate '%s' for entry %s in \"%s\", overwriting previous entry...\n", rlvl, name, source);
+ } else {
+ duplicate[level] = true;
+ }
+
+ if (libconfig->setting_lookup_int(t, "NormalChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_NORMAL][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_NORMAL][level] = 100;
+
+ if (libconfig->setting_lookup_int(t, "EnrichedChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_ENRICHED][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_ENRICHED][level] = level > 10 ? 0 : 100; // enriched ores up to +10 only.
+
+ if (libconfig->setting_lookup_int(t, "EventNormalChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_E_NORMAL][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_E_NORMAL][level] = 100;
+
+ if (libconfig->setting_lookup_int(t, "EventEnrichedChance", &i32) != 0)
+ chance[REFINE_CHANCE_TYPE_E_ENRICHED][level] = i32;
+ else
+ chance[REFINE_CHANCE_TYPE_E_ENRICHED][level] = level > 10 ? 0 : 100; // enriched ores up to +10 only.
+
+ if (libconfig->setting_lookup_int(t, "Bonus", &i32) != 0)
+ bonus[level] += i32;
+
+ if (level >= rnd_bonus_lv - 1)
+ rnd_bonus[level] = rnd_bonus_v * (level - rnd_bonus_lv + 2);
+ }
+ for (int i = 0; i < MAX_REFINE; i++) {
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_NORMAL][i] = chance[REFINE_CHANCE_TYPE_NORMAL][i];
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_E_NORMAL][i] = chance[REFINE_CHANCE_TYPE_E_NORMAL][i];
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_ENRICHED][i] = chance[REFINE_CHANCE_TYPE_ENRICHED][i];
+ refine->p->dbs->refine_info[type].chance[REFINE_CHANCE_TYPE_E_ENRICHED][i] = chance[REFINE_CHANCE_TYPE_E_ENRICHED][i];
+ refine->p->dbs->refine_info[type].randombonus_max[i] = rnd_bonus[i];
+ bonus[i] += bonus_per_level + (i > 0 ? bonus[i - 1] : 0);
+ refine->p->dbs->refine_info[type].bonus[i] = bonus[i];
+ }
+ } else {
+ ShowWarning("status_readdb_refine_libconfig_sub: Missing refine rates for entry '%s' in \"%s\", skipping.\n", name, source);
+ return 0;
+ }
+
+ return type + 1;
+}
+
+/// @copydoc refine_interface_private::readdb_refine_libconfig()
+static int refine_readdb_refine_libconfig(const char *filename)
+{
+ nullpo_retr(0, filename);
+
+ bool duplicate[REFINE_TYPE_MAX];
+ struct config_t refine_db_conf;
+ struct config_setting_t *r;
+ char filepath[256];
+ int i = 0, count = 0;
+
+ safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, filename);
+ if (!libconfig->load_file(&refine_db_conf, filepath))
+ return 0;
+
+ memset(&duplicate, 0, sizeof(duplicate));
+
+ while((r = libconfig->setting_get_elem(refine_db_conf.root, i++))) {
+ char *name = config_setting_name(r);
+ int type = refine->p->readdb_refine_libconfig_sub(r, name, filename);
+ if (type != 0) {
+ if (duplicate[type - 1]) {
+ ShowWarning("status_readdb_refine_libconfig: duplicate entry for %s in \"%s\", overwriting previous entry...\n", name, filename);
+ } else {
+ duplicate[type - 1] = true;
+ }
+ count++;
+ }
+ }
+ libconfig->destroy(&refine_db_conf);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, 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..410811e06
--- /dev/null
+++ b/src/map/refine.h
@@ -0,0 +1,148 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MAP_REFINE_H
+#define MAP_REFINE_H
+
+/** @file
+ * Refine Interface.
+ **/
+#include "common/hercules.h"
+#include "common/mmo.h"
+
+/* Defines */
+/**
+* Max Refine available to your server
+* Changing this limit requires edits to refine_db.conf
+**/
+#ifdef RENEWAL
+ #define MAX_REFINE 20
+#else
+ #define MAX_REFINE 10
+#endif
+
+/* Forward Declarations */
+struct refine_interface_private;
+
+/* Enums */
+enum refine_type {
+ REFINE_TYPE_ARMOR = 0,
+ REFINE_TYPE_WEAPON1 = 1,
+ REFINE_TYPE_WEAPON2 = 2,
+ REFINE_TYPE_WEAPON3 = 3,
+ REFINE_TYPE_WEAPON4 = 4,
+#ifndef REFINE_TYPE_MAX
+ REFINE_TYPE_MAX = 5
+#endif
+};
+
+enum refine_chance_type {
+ REFINE_CHANCE_TYPE_NORMAL = 0, // Normal Chance
+ REFINE_CHANCE_TYPE_ENRICHED = 1, // Enriched Ore Chance
+ REFINE_CHANCE_TYPE_E_NORMAL = 2, // Event Normal Ore Chance
+ REFINE_CHANCE_TYPE_E_ENRICHED = 3, // Event Enriched Ore Chance
+ REFINE_CHANCE_TYPE_MAX
+};
+
+enum refine_ui_failure_behavior {
+ REFINE_FAILURE_BEHAVIOR_DESTROY,
+ REFINE_FAILURE_BEHAVIOR_KEEP,
+ REFINE_FAILURE_BEHAVIOR_DOWNGRADE
+};
+
+/* Structure */
+struct s_refine_requirement {
+ int blacksmith_blessing;
+ int req_count;
+ unsigned int announce;
+
+ struct {
+ int nameid;
+ int cost;
+ enum refine_chance_type type;
+ enum refine_ui_failure_behavior failure_behavior;
+ } req[MAX_REFINE_REQUIREMENTS];
+};
+
+/**
+ * Refine Interface
+ **/
+struct refine_interface {
+ struct refine_interface_private *p;
+
+ /**
+ * Initialize refine system
+ * @param minimal sets refine system to minimal mode in which it won't load or initialize itself
+ * @return returns 0 in-case of success 1 otherwise
+ **/
+ int (*init)(bool minimal);
+
+ /**
+ * Finalize refine system
+ **/
+ void (*final)(void);
+
+ /**
+ * Get the chance to upgrade a piece of equipment.
+ * @param wlv The weapon type of the item to refine (see see enum refine_type)
+ * @param refine The target refine level
+ * @return The chance to refine the item, in percent (0~100)
+ **/
+ int (*get_refine_chance) (enum refine_type wlv, int refine_level, enum refine_chance_type type);
+
+ /**
+ * Gets the attack/deffense bonus for the given equipment type and refine level
+ * @param equipment_type the equipment type
+ * @param refine_level the equipment refine level
+ * @return returns the bonus from refine db
+ **/
+ int (*get_bonus) (enum refine_type equipment_type, int refine_level);
+
+ /**
+ * Gets the maximum attack/deffense random bonus for the given equipment type and refine level
+ * @param equipment_type the equipment type
+ * @param refine_level the equipment refine level
+ * @return returns the bonus from refine db
+ **/
+ int(*get_randombonus_max) (enum refine_type equipment_type, int refine_level);
+
+ /**
+ * Validates and send Item addition packet to the client for refinery UI
+ * @param sd player session data.
+ * @param item_index the requested item index in inventory.
+ **/
+ void (*refinery_add_item) (struct map_session_data *sd, int item_index);
+
+ /**
+ * Processes an refine request through Refinery UI
+ * @param sd player session data
+ * @param item_index the index of the requested item
+ * @param material_id the refine material chosen by player
+ * @param use_blacksmith_blessing sets either if blacksmith blessing is requested to be used or not
+ **/
+ void (*refinery_refine_request) (struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing);
+};
+
+#ifdef HERCULES_CORE
+void refine_defaults(void);
+#endif
+
+HPShared struct refine_interface *refine;
+#endif
diff --git a/src/map/refine.p.h b/src/map/refine.p.h
new file mode 100644
index 000000000..3247d15c9
--- /dev/null
+++ b/src/map/refine.p.h
@@ -0,0 +1,144 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MAP_REFINE_P_H
+#define MAP_REFINE_P_H
+
+/** @file
+ * Private header for the refine interface.
+ **/
+
+#include "refine.h"
+#include "common/conf.h"
+/* Enums */
+enum refine_announce_condition {
+ REFINE_ANNOUNCE_SUCCESS = 0x1,
+ REFINE_ANNOUNCE_FAILURE = 0x2,
+ REFINE_ANNOUNCE_ALWAYS = REFINE_ANNOUNCE_SUCCESS | REFINE_ANNOUNCE_FAILURE,
+};
+
+/* Structures */
+struct s_refine_info {
+ int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE]; //< success chance
+ int bonus[MAX_REFINE]; //< cumulative fixed bonus damage
+ int randombonus_max[MAX_REFINE]; //< cumulative maximum random bonus damage
+ struct s_refine_requirement refine_requirements[MAX_REFINE]; //< The requirements used for refinery UI
+};
+
+struct refine_interface_dbs {
+ struct s_refine_info refine_info[REFINE_TYPE_MAX];
+};
+
+/**
+ * Refine Private Interface
+ **/
+struct refine_interface_private {
+ struct refine_interface_dbs *dbs;
+
+ /**
+ * Processes a refine_db.conf entry.
+ *
+ * @param r Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param n Ordinal number of the entry, to be displayed in case of
+ * validation errors.
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return # of the validated entry, or 0 in case of failure.
+ **/
+ int (*readdb_refine_libconfig_sub) (struct config_setting_t *r, const char *name, const char *source);
+
+ /**
+ * Reads from a libconfig-formatted refine_db.conf file.
+ *
+ * @param *filename File name, relative to the database path.
+ * @return The number of found entries.
+ **/
+ int (*readdb_refine_libconfig) (const char *filename);
+
+ /**
+ * Converts refine database announce behvaior string to enum refine_announce_condition
+ * @param str the string to convert
+ * @param result pointer to where the converted value will be held
+ * @return true on success, false otherwise.
+ **/
+ bool (*announce_behavior_string2enum) (const char *str, unsigned int *result);
+
+ /**
+ * Converts refine database failure behvaior string to enum refine_ui_failure_behavior
+ * @param str the string to convert
+ * @param result pointer to where the converted value will be held
+ * @return true on success, false otherwise.
+ **/
+ bool (*failure_behavior_string2enum) (const char *str, enum refine_ui_failure_behavior *result);
+
+ /**
+ * Processes a refine_db.conf RefineryUISettings items entry.
+ *
+ * @param elem Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param req a pointer to requirements struct to fill with the item data
+ * @param name the current element name
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return true on success, false otherwise.
+ **/
+ bool (*readdb_refinery_ui_settings_items) (const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source);
+
+ /**
+ * Processes a refine_db.conf RefineryUISettings entry.
+ *
+ * @param elem Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param type the type index in refine database to fill the data
+ * @param name the current element name
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return true on success, false otherwise.
+ **/
+ bool (*readdb_refinery_ui_settings_sub) (const struct config_setting_t *elem, int type, const char *name, const char *source);
+
+ /**
+ * Reads a refine_db.conf RefineryUISettings entry and sends it to be processed.
+ *
+ * @param r Libconfig setting entry. It is expected to be valid and it
+ * won't be freed (it is care of the caller to do so if
+ * necessary)
+ * @param type the type index in refine database to fill the data
+ * @param name the current element name
+ * @param source Source of the entry (file name), to be displayed in case of
+ * validation errors.
+ * @return true on success, false otherwise.
+ **/
+ int (*readdb_refinery_ui_settings) (const struct config_setting_t *r, int type, const char *name, const char *source);
+
+ /**
+ * Checks if a given item in player's inventory is refineable.
+ * @param sd player session data.
+ * @param item_index the item index in player's inventory.
+ * @return true if item is refineable, false otherwise.
+ **/
+ bool (*is_refinable) (struct map_session_data *sd, int item_index);
+};
+
+#endif
diff --git a/src/map/rodex.c b/src/map/rodex.c
index 602754d42..766fdc5ea 100644
--- a/src/map/rodex.c
+++ b/src/map/rodex.c
@@ -83,7 +83,7 @@ static void rodex_add_item(struct map_session_data *sd, int16 idx, int16 amount)
nullpo_retv(sd);
- if (idx < 0 || idx >= MAX_INVENTORY) {
+ if (idx < 0 || idx >= sd->status.inventorySize) {
clif->rodex_add_item_result(sd, idx, amount, RODEX_ADD_ITEM_FATAL_ERROR);
return;
}
@@ -160,7 +160,7 @@ static void rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amou
struct item_data *itd;
nullpo_retv(sd);
- Assert_retv(idx >= 0 && idx < MAX_INVENTORY);
+ Assert_retv(idx >= 0 && idx < sd->status.inventorySize);
for (i = 0; i < RODEX_MAX_ITEM; ++i) {
if (sd->rodex.tmp.items[i].idx == idx)
@@ -204,7 +204,7 @@ static void rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amou
/// @param base_level : Reference to return the character base level, if he exists
/// @param char_id : Reference to return the character id, if he exists
/// @param class : Reference to return the character class id, if he exists
-static void rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class)
+static void rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class)
{
intif->rodex_checkname(sd, name);
}
@@ -404,12 +404,12 @@ static void rodex_read_mail(struct map_session_data *sd, int64 mail_id)
if (msg->opentype == RODEX_OPENTYPE_RETURN) {
if (msg->sender_read == false) {
- intif->rodex_updatemail(msg->id, 4);
+ intif->rodex_updatemail(sd, msg->id, 0, 4);
msg->sender_read = true;
}
} else {
if (msg->is_read == false) {
- intif->rodex_updatemail(msg->id, 0);
+ intif->rodex_updatemail(sd, msg->id, 0, 0);
msg->is_read = true;
}
}
@@ -430,21 +430,36 @@ static void rodex_delete_mail(struct map_session_data *sd, int64 mail_id)
nullpo_retv(msg);
msg->is_deleted = true;
- intif->rodex_updatemail(msg->id, 3);
+ intif->rodex_updatemail(sd, msg->id, 0, 3);
clif->rodex_delete_mail(sd, msg->opentype, msg->id);
}
+/// give requested zeny from message to player
+static void rodex_getZenyAck(struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny)
+{
+ nullpo_retv(sd);
+ if (zeny <= 0) {
+ clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
+ return;
+ }
+
+ if (pc->getzeny(sd, (int)zeny, LOG_TYPE_MAIL, NULL) != 0) {
+ clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
+ return;
+ }
+
+ clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_SUCCESS);
+}
+
/// Gets attached zeny
/// @param sd : Who's getting
/// @param mail_id : Mail ID that we're getting zeny from
static void rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mail_id)
{
- struct rodex_message *msg;
-
nullpo_retv(sd);
- msg = rodex->get_mail(sd, mail_id);
+ struct rodex_message *msg = rodex->get_mail(sd, mail_id);
if (msg == NULL) {
clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
@@ -456,16 +471,31 @@ static void rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mai
return;
}
- if (pc->getzeny(sd, (int)msg->zeny, LOG_TYPE_MAIL, NULL) != 0) {
- clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_FATAL_ERROR);
- return;
- }
-
msg->type &= ~MAIL_TYPE_ZENY;
msg->zeny = 0;
- intif->rodex_updatemail(mail_id, 1);
+ intif->rodex_updatemail(sd, mail_id, opentype, 1);
+}
- clif->rodex_request_zeny(sd, opentype, mail_id, RODEX_GET_ZENY_SUCCESS);
+// give requested items from message to player
+static void rodex_getItemsAck(struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items)
+{
+ nullpo_retv(sd);
+ nullpo_retv(items);
+
+ for (int i = 0; i < count; ++i) {
+ const struct item *it = &items[i].item;
+
+ if (it->nameid == 0) {
+ continue;
+ }
+
+ if (pc->additem(sd, it, it->amount, LOG_TYPE_MAIL) != 0) {
+ clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEM_FULL_ERROR);
+ return;
+ }
+ }
+
+ clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEMS_SUCCESS);
}
/// Gets attached item
@@ -473,14 +503,12 @@ static void rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mai
/// @param mail_id : Mail ID that we're getting items from
static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 mail_id)
{
- struct rodex_message *msg;
- int weight = 0;
- int empty_slots = 0, required_slots;
- int i;
-
nullpo_retv(sd);
- msg = rodex->get_mail(sd, mail_id);
+ int weight = 0;
+ int empty_slots = 0;
+
+ struct rodex_message *msg = rodex->get_mail(sd, mail_id);
if (msg == NULL) {
clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEM_FATAL_ERROR);
@@ -492,7 +520,7 @@ static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 ma
return;
}
- for (i = 0; i < RODEX_MAX_ITEM; ++i) {
+ for (int i = 0; i < RODEX_MAX_ITEM; ++i) {
if (msg->items[i].item.nameid != 0) {
weight += itemdb->search(msg->items[i].item.nameid)->weight * msg->items[i].item.amount;
}
@@ -503,8 +531,8 @@ static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 ma
return;
}
- required_slots = msg->items_count;
- for (i = 0; i < MAX_INVENTORY; ++i) {
+ int required_slots = msg->items_count;
+ for (int i = 0; i < sd->status.inventorySize; ++i) {
if (sd->status.inventory[i].nameid == 0) {
empty_slots++;
} else if (itemdb->isstackable(sd->status.inventory[i].nameid) == 1) {
@@ -529,27 +557,9 @@ static void rodex_get_items(struct map_session_data *sd, int8 opentype, int64 ma
return;
}
- for (i = 0; i < RODEX_MAX_ITEM; ++i) {
- struct item *it = &msg->items[i].item;
-
- if (it->nameid == 0) {
- continue;
- }
-
- if (pc->additem(sd, it, it->amount, LOG_TYPE_MAIL) != 0) {
- clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEM_FULL_ERROR);
- intif->rodex_updatemail(mail_id, 2);
- return;
- } else {
- memset(it, 0x0, sizeof(*it));
- }
- }
-
msg->type &= ~MAIL_TYPE_ITEM;
msg->items_count = 0;
- intif->rodex_updatemail(mail_id, 2);
-
- clif->rodex_request_items(sd, opentype, mail_id, RODEX_GET_ITEMS_SUCCESS);
+ intif->rodex_updatemail(sd, mail_id, opentype, 2);
}
/// Cleans user's RoDEX related data
@@ -668,4 +678,6 @@ void rodex_defaults(void)
rodex->get_zeny = rodex_get_zeny;
rodex->get_items = rodex_get_items;
rodex->clean = rodex_clean;
+ rodex->getZenyAck = rodex_getZenyAck;
+ rodex->getItemsAck = rodex_getItemsAck;
}
diff --git a/src/map/rodex.h b/src/map/rodex.h
index ddf7cb32b..b6e7ca5b7 100644
--- a/src/map/rodex.h
+++ b/src/map/rodex.h
@@ -65,7 +65,7 @@ struct rodex_interface {
void (*refresh) (struct map_session_data *sd, int8 open_type, int64 first_mail_id);
void (*add_item) (struct map_session_data *sd, int16 idx, int16 amount);
void (*remove_item) (struct map_session_data *sd, int16 idx, int16 amount);
- void (*check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+ void (*check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class);
int (*send_mail) (struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny);
void (*send_mail_result) (struct map_session_data *ssd, struct map_session_data *rsd, bool result);
struct rodex_message *(*get_mail) (struct map_session_data *sd, int64 mail_id);
@@ -74,6 +74,8 @@ struct rodex_interface {
void (*get_items) (struct map_session_data *sd, int8 opentype, int64 mail_id);
void (*delete_mail) (struct map_session_data *sd, int64 mail_id);
void (*clean) (struct map_session_data *sd, int8 flag);
+ void (*getZenyAck) (struct map_session_data *sd, int64 mail_id, int8 opentype, int64 zeny);
+ void (*getItemsAck) (struct map_session_data *sd, int64 mail_id, int8 opentype, int count, const struct rodex_item *items);
};
#ifdef HERCULES_CORE
diff --git a/src/map/script.c b/src/map/script.c
index b787d0138..f8a12f2a4 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -52,6 +52,7 @@
#include "map/pet.h"
#include "map/pet.h"
#include "map/quest.h"
+#include "map/refine.h"
#include "map/skill.h"
#include "map/status.h"
#include "map/status.h"
@@ -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);
@@ -3316,95 +3317,28 @@ static void set_reg_npcscope_str(struct script_state *st, struct reg_db *n, int6
static void set_reg_pc_ref_str(struct script_state *st, struct reg_db *n, int64 num, const char *name, const char *str)
{
- struct script_reg_str *p = NULL;
- unsigned int index = script_getvaridx(num);
-
- nullpo_retv(n);
-
- if ((p = i64db_get(n->vars, num)) != NULL) {
- if (str[0]) {
- if (p->value) {
- aFree(p->value);
- } else if (index) {
- script->array_update(n, num, false);
- }
- p->value = aStrdup(str);
- } else {
- p->value = NULL;
- if (index) {
- script->array_update(n, num, true);
- }
- }
-
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- } else if (str[0]) {
- struct DBData prev;
- if (index) {
- script->array_update(n, num, false);
- }
-
- p = ers_alloc(pc->str_reg_ers, struct script_reg_str);
- p->value = aStrdup(str);
+ struct DBIterator *iter = db_iterator(map->pc_db);
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- p->flag.type = 1;
-
- if(n->vars->put(n->vars, DB->i642key(num), DB->ptr2data(p), &prev)) {
- p = DB->data2ptr(&prev);
- if (p->value) {
- aFree(p->value);
- }
- ers_free(pc->str_reg_ers, p);
+ for (struct map_session_data *sd = dbi_first(iter); dbi_exists(iter); sd = dbi_next(iter)) {
+ if (sd != NULL && n == &sd->regs) {
+ pc->setregistry_str(sd, num, str);
+ break;
}
}
+ dbi_destroy(iter);
}
static void set_reg_pc_ref_num(struct script_state *st, struct reg_db *n, int64 num, const char *name, int val)
{
- struct script_reg_num *p = NULL;
- unsigned int index = script_getvaridx(num);
-
- nullpo_retv(n);
-
- if ((p = i64db_get(n->vars, num)) != NULL) {
- if (val) {
- if (!p->value && index) {
- script->array_update(n, num, false);
- }
- p->value = val;
- } else {
- p->value = 0;
- if (index) {
- script->array_update(n, num, true);
- }
- }
+ struct DBIterator *iter = db_iterator(map->pc_db);
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- } else if (val) {
- struct DBData prev;
- if (index) {
- script->array_update(n, num, false);
- }
-
- p = ers_alloc(pc->num_reg_ers, struct script_reg_num);
- p->value = val;
-
- if (!pc->reg_load) {
- p->flag.update = 1;
- }
- p->flag.type = 1;
-
- if(n->vars->put(n->vars, DB->i642key(num), DB->ptr2data(p), &prev)) {
- p = DB->data2ptr(&prev);
- ers_free(pc->num_reg_ers, p);
+ for (struct map_session_data *sd = dbi_first(iter); dbi_exists(iter); sd = dbi_next(iter)) {
+ if (sd != NULL && n == &sd->regs) {
+ pc->setregistry(sd, num, val);
+ break;
}
}
+ dbi_destroy(iter);
}
static void set_reg_npcscope_num(struct script_state *st, struct reg_db *n, int64 num, const char *name, int val)
@@ -4688,6 +4622,9 @@ static void run_script_main(struct script_state *st)
nullpo_retv(st);
script->attach_state(st);
+ if (st->state != END && Assert_chk(st->state == RUN || st->state == STOP || st->state == RERUNLINE)) {
+ st->state = END;
+ }
nd = map->id2nd(st->oid);
if( nd && nd->bl.m >= 0 )
@@ -5213,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;
@@ -5252,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);
@@ -5290,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;
@@ -5403,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);
@@ -5426,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) {
@@ -5475,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];
}
@@ -5496,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]);
}
@@ -5515,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]);
}
@@ -5540,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;
+}
+
/**
*
**/
@@ -6025,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.
///
@@ -6166,11 +6171,11 @@ static BUILDIN(menu)
sd->state.menu_or_input = 1;
/* menus beyond this length crash the client (see bugreport:6402) */
- if( StrBuf->Length(&buf) >= 2047 ) {
+ if( StrBuf->Length(&buf) >= MAX_MENU_LENGTH - 1 ) {
struct npc_data * nd = map->id2nd(st->oid);
char* menu;
- CREATE(menu, char, 2048);
- safestrncpy(menu, StrBuf->Value(&buf), 2047);
+ CREATE(menu, char, MAX_MENU_LENGTH);
+ safestrncpy(menu, StrBuf->Value(&buf), MAX_MENU_LENGTH - 1);
ShowWarning("NPC Menu too long! (source:%s / length:%d)\n",nd?nd->name:"Unknown",StrBuf->Length(&buf));
clif->scriptmenu(sd, st->oid, menu);
aFree(menu);
@@ -6179,13 +6184,13 @@ static BUILDIN(menu)
StrBuf->Destroy(&buf);
- if( sd->npc_menu >= 0xff )
+ if( sd->npc_menu >= MAX_MENU_OPTIONS )
{// client supports only up to 254 entries; 0 is not used and 255 is reserved for cancel; excess entries are displayed but cause 'uint8' overflow
- ShowWarning("buildin_menu: Too many options specified (current=%d, max=254).\n", sd->npc_menu);
+ ShowWarning("buildin_menu: Too many options specified (current=%d, max=%d).\n", sd->npc_menu, MAX_MENU_OPTIONS - 1);
script->reportsrc(st);
}
}
- else if( sd->npc_menu == 0xff )
+ else if( sd->npc_menu == MAX_MENU_OPTIONS )
{// Cancel was pressed
sd->state.menu_or_input = 0;
st->state = END;
@@ -6267,11 +6272,11 @@ static BUILDIN(select)
sd->state.menu_or_input = 1;
/* menus beyond this length crash the client (see bugreport:6402) */
- if( StrBuf->Length(&buf) >= 2047 ) {
+ if( StrBuf->Length(&buf) >= MAX_MENU_LENGTH - 1 ) {
struct npc_data * nd = map->id2nd(st->oid);
char* menu;
- CREATE(menu, char, 2048);
- safestrncpy(menu, StrBuf->Value(&buf), 2047);
+ CREATE(menu, char, MAX_MENU_LENGTH);
+ safestrncpy(menu, StrBuf->Value(&buf), MAX_MENU_LENGTH - 1);
ShowWarning("NPC Menu too long! (source:%s / length:%d)\n",nd?nd->name:"Unknown",StrBuf->Length(&buf));
clif->scriptmenu(sd, st->oid, menu);
aFree(menu);
@@ -6279,107 +6284,31 @@ static BUILDIN(select)
clif->scriptmenu(sd, st->oid, StrBuf->Value(&buf));
StrBuf->Destroy(&buf);
- if( sd->npc_menu >= 0xff ) {
- ShowWarning("buildin_select: Too many options specified (current=%d, max=254).\n", sd->npc_menu);
+ if( sd->npc_menu >= MAX_MENU_OPTIONS ) {
+ ShowWarning("buildin_select: Too many options specified (current=%d, max=%d).\n", sd->npc_menu, MAX_MENU_OPTIONS - 1);
script->reportsrc(st);
}
- } else if( sd->npc_menu == 0xff ) {// Cancel was pressed
- sd->state.menu_or_input = 0;
- st->state = END;
- } else {// return selected option
- int menu = 0;
-
+ } else if(sd->npc_menu == MAX_MENU_OPTIONS) { // Cancel was pressed
sd->state.menu_or_input = 0;
- for( i = 2; i <= script_lastdata(st); ++i ) {
- text = script_getstr(st, i);
- sd->npc_menu -= script->menu_countoptions(text, sd->npc_menu, &menu);
- if( sd->npc_menu <= 0 )
- break;// entry found
- }
- pc->setreg(sd, script->add_variable("@menu"), menu);
- script_pushint(st, menu);
- st->state = RUN;
- }
- return true;
-}
-
-/// Displays a menu with options and returns the selected option.
-/// Behaves like 'menu' without the target labels, except when cancel is
-/// pressed.
-/// When cancel is pressed, the script continues and 255 is returned.
-///
-/// prompt(<option_text>{,<option_text>,...}) -> <selected_option>
-///
-/// @see menu
-static BUILDIN(prompt)
-{
- int i;
- const char *text;
- struct map_session_data *sd = script->rid2sd(st);
- if (sd == NULL)
- return true;
-#ifdef SECURE_NPCTIMEOUT
- sd->npc_idle_type = NPCT_MENU;
-#endif
-
- if( sd->state.menu_or_input == 0 )
- {
- struct StringBuf buf;
-
- StrBuf->Init(&buf);
- sd->npc_menu = 0;
- for( i = 2; i <= script_lastdata(st); ++i )
- {
- text = script_getstr(st, i);
- if( sd->npc_menu > 0 )
- StrBuf->AppendStr(&buf, ":");
- StrBuf->AppendStr(&buf, text);
- sd->npc_menu += script->menu_countoptions(text, 0, NULL);
- }
-
- st->state = RERUNLINE;
- sd->state.menu_or_input = 1;
-
- /* menus beyond this length crash the client (see bugreport:6402) */
- if( StrBuf->Length(&buf) >= 2047 ) {
- struct npc_data * nd = map->id2nd(st->oid);
- char* menu;
- CREATE(menu, char, 2048);
- safestrncpy(menu, StrBuf->Value(&buf), 2047);
- ShowWarning("NPC Menu too long! (source:%s / length:%d)\n",nd?nd->name:"Unknown",StrBuf->Length(&buf));
- clif->scriptmenu(sd, st->oid, menu);
- aFree(menu);
- } else
- clif->scriptmenu(sd, st->oid, StrBuf->Value(&buf));
- StrBuf->Destroy(&buf);
-
- if( sd->npc_menu >= 0xff )
- {
- ShowWarning("buildin_prompt: Too many options specified (current=%d, max=254).\n", sd->npc_menu);
- script->reportsrc(st);
+ if (strncmp(get_buildin_name(st), "prompt", 6) == 0) {
+ pc->setreg(sd, script->add_variable("@menu"), MAX_MENU_OPTIONS);
+ script_pushint(st, MAX_MENU_OPTIONS); // XXX: we should really be pushing -1 instead
+ st->state = RUN;
+ } else {
+ st->state = END;
}
- }
- else if( sd->npc_menu == 0xff )
- {// Cancel was pressed
- sd->state.menu_or_input = 0;
- pc->setreg(sd, script->add_variable("@menu"), 0xff);
- script_pushint(st, 0xff);
- st->state = RUN;
- }
- else
- {// return selected option
+ } else {// return selected option
int menu = 0;
sd->state.menu_or_input = 0;
- for( i = 2; i <= script_lastdata(st); ++i )
- {
+ for( i = 2; i <= script_lastdata(st); ++i ) {
text = script_getstr(st, i);
sd->npc_menu -= script->menu_countoptions(text, sd->npc_menu, &menu);
if( sd->npc_menu <= 0 )
break;// entry found
}
- pc->setreg(sd, script->add_variable("@menu"), menu);
+ pc->setreg(sd, script->add_variable("@menu"), menu); // TODO: throw a deprecation warning for scripts using @menu
script_pushint(st, menu);
st->state = RUN;
}
@@ -6823,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 (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;
+ }
- if (str2 && strcmp(str2, map->list[pl_sd->bl.m].name) != 0)
+ 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);
- 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);
+ if (g == NULL) {
+ ShowError("script:%s: Guild not found! (%d)\n", script->getfuncname(st), g_id);
+ script_pushint(st, 0);
+ return false;
+ }
- if (script_hasdata(st, 6)) {
- map_id = map->mapname2mapid(script_getstr(st, 6));
+ 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 (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 (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 (map_id >= 0 && map_id != pl_sd->bl.m)
+ 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)
*------------------------------------------*/
@@ -6998,7 +6963,7 @@ static BUILDIN(heal)
hp=script_getnum(st,2);
sp=script_getnum(st,3);
- status->heal(&sd->bl, hp, sp, 1);
+ status->heal(&sd->bl, hp, sp, STATUS_HEAL_FORCED);
return true;
}
/*==========================================
@@ -7087,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;
}
@@ -7696,7 +7662,6 @@ static BUILDIN(viewpoint)
*------------------------------------------*/
static BUILDIN(countitem)
{
- int nameid, i;
int count = 0;
struct item_data* id = NULL;
@@ -7718,11 +7683,12 @@ static BUILDIN(countitem)
return false;
}
- nameid = id->nameid;
+ int nameid = id->nameid;
- for(i = 0; i < MAX_INVENTORY; i++)
- if(sd->status.inventory[i].nameid == nameid)
+ for (int i = 0; i < sd->status.inventorySize; i++) {
+ if (sd->status.inventory[i].nameid == nameid)
count += sd->status.inventory[i].amount;
+ }
script_pushint(st,count);
return true;
@@ -7736,7 +7702,6 @@ static BUILDIN(countitem2)
{
int nameid, iden, ref, attr, c1, c2, c3, c4;
int count = 0;
- int i;
struct item_data* id = NULL;
struct map_session_data *sd = script->rid2sd(st);
@@ -7766,7 +7731,7 @@ static BUILDIN(countitem2)
c3 = script_getnum(st,8);
c4 = script_getnum(st,9);
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (int i = 0; i < sd->status.inventorySize; i++)
if (sd->status.inventory[i].nameid > 0 && sd->inventory_data[i] != NULL &&
sd->status.inventory[i].amount > 0 && sd->status.inventory[i].nameid == nameid &&
sd->status.inventory[i].identify == iden && sd->status.inventory[i].refine == ref &&
@@ -7781,6 +7746,65 @@ static BUILDIN(countitem2)
}
/*==========================================
+ * countnameditem(item ID, { <Char Name / ID> })
+ * returns number of named items.
+ *------------------------------------------*/
+static BUILDIN(countnameditem)
+{
+ int count = 0;
+ struct item_data* id = NULL;
+ struct map_session_data *sd;
+
+ if (script_hasdata(st, 3)) {
+ if (script_isstringtype(st, 3)) {
+ // Character name was given
+ sd = script->nick2sd(st, script_getstr(st, 3));
+ } else {
+ // Character ID was given
+ sd = script->charid2sd(st, script_getnum(st, 3));
+ }
+ } else {
+ // Use RID by default if no name was provided
+ sd = script->rid2sd(st);
+ }
+
+ // Player not attached
+ if (sd == NULL) {
+ return true;
+ }
+
+ if (script_isstringtype(st, 2)) {
+ // Get item from DB via item name
+ id = itemdb->search_name(script_getstr(st, 2));
+ } else {
+ // Get item from DB via item ID
+ id = itemdb->exists(script_getnum(st, 2));
+ }
+
+ if (id == NULL) {
+ ShowError("buildin_countnameditem: Invalid item '%s'.\n", script_getstr(st, 2)); // returns string, regardless of what it was
+ script_pushint(st, 0);
+ return false;
+ }
+
+ for (int i = 0; i < MAX_INVENTORY; i++) {
+ if (sd->status.inventory[i].nameid > 0 &&
+ sd->inventory_data[i] != NULL &&
+ sd->status.inventory[i].amount > 0 &&
+ sd->status.inventory[i].nameid == id->nameid &&
+ sd->status.inventory[i].card[0] == CARD0_CREATE &&
+ sd->status.inventory[i].card[2] == sd->status.char_id &&
+ sd->status.inventory[i].card[3] == sd->status.char_id >> 16)
+ {
+ count += sd->status.inventory[i].amount;
+ }
+ }
+
+ script_pushint(st, count);
+ return true;
+}
+
+/*==========================================
* Check if item with this amount can fit in inventory
* Checking : weight, stack amount >32k, slots amount >(MAX_INVENTORY)
* Return
@@ -8259,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
@@ -8698,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]
*------------------------------------------*/
@@ -8805,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);
@@ -8841,32 +8907,23 @@ static BUILDIN(getcharid)
return true;
}
+
/*==========================================
* returns the GID of an NPC
*------------------------------------------*/
static BUILDIN(getnpcid)
{
- int num = script_getnum(st,2);
- struct npc_data* nd = NULL;
-
- if( script_hasdata(st,3) )
- {// unique npc name
- if( ( nd = npc->name2id(script_getstr(st,3)) ) == NULL )
- {
- ShowError("buildin_getnpcid: No such NPC '%s'.\n", script_getstr(st,3));
- script_pushint(st,0);
- return false;
+ if (script_hasdata(st, 2)) {
+ if (script_isinttype(st, 2)) {
+ // Deprecate old form - getnpcid(<type>{, <"npc name">})
+ ShowWarning("buildin_getnpcid: Use of type is deprecated. Format - getnpcid({<\"npc name\">})\n");
+ script_pushint(st, 0);
+ } else {
+ struct npc_data *nd = npc->name2id(script_getstr(st, 2));
+ script_pushint(st, (nd != NULL) ? nd->bl.id : 0);
}
- }
-
- switch (num) {
- case 0:
- script_pushint(st,nd ? nd->bl.id : st->oid);
- break;
- default:
- ShowError("buildin_getnpcid: invalid parameter (%d).\n", num);
- script_pushint(st,0);
- return false;
+ } else {
+ script_pushint(st, st->oid);
}
return true;
@@ -8972,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
@@ -9077,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 :
@@ -9300,13 +9501,13 @@ static BUILDIN(getequipname)
*------------------------------------------*/
static BUILDIN(getbrokenid)
{
- int i,num,id=0,brokencounter=0;
+ int num,id=0,brokencounter=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
num=script_getnum(st,2);
- for(i=0; i<MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if ((sd->status.inventory[i].attribute & ATTR_BROKEN) != 0) {
@@ -9333,7 +9534,7 @@ static BUILDIN(getbrokencount)
if (sd == NULL)
return true;
- for (i = 0; i < MAX_INVENTORY; i++) {
+ for (i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if ((sd->status.inventory[i].attribute & ATTR_BROKEN) != 0)
@@ -9350,14 +9551,13 @@ static BUILDIN(getbrokencount)
*------------------------------------------*/
static BUILDIN(repair)
{
- int i,num;
int repaircounter=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- num=script_getnum(st,2);
- for(i=0; i<MAX_INVENTORY; i++) {
+ int num = script_getnum(st, 2);
+ for(int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
if ((sd->status.inventory[i].attribute & ATTR_BROKEN) != 0) {
@@ -9381,12 +9581,12 @@ static BUILDIN(repair)
*------------------------------------------*/
static BUILDIN(repairall)
{
- int i, repaircounter = 0;
+ int repaircounter = 0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- for(i = 0; i < MAX_INVENTORY; i++)
+ for (int i = 0; i < sd->status.inventorySize; i++)
{
if (sd->status.inventory[i].card[0] == CARD0_PET)
continue;
@@ -9514,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;
}
@@ -9597,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);
@@ -9809,6 +10011,25 @@ static BUILDIN(statusup2)
return true;
}
+
+/*==========================================
+* Returns the number of stat points needed to change the specified stat by val.
+* needed_status_point(<type>,<val>); [secretdataz]
+*------------------------------------------*/
+static BUILDIN(needed_status_point)
+{
+ int type = script_getnum(st, 2);
+ int val = script_getnum(st, 3);;
+ struct map_session_data *sd = script->rid2sd(st);
+
+ if (sd == NULL)
+ script_pushint(st, 0);
+ else
+ script_pushint(st, pc->need_status_point(sd, type, val));
+
+ return true;
+}
+
/// See 'doc/item_bonus.txt'
///
/// bonus <bonus type>,<val1>;
@@ -10677,24 +10898,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;
}
@@ -10713,6 +10946,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.
@@ -10726,6 +10965,12 @@ 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;
@@ -10806,7 +11051,7 @@ static BUILDIN(makepet)
if (pet_id >= 0 && sd) {
sd->catch_target_class = pet->db[pet_id].class_;
intif->create_pet(sd->status.account_id, sd->status.char_id,
- (short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
+ pet->db[pet_id].class_, mob->db(pet->db[pet_id].class_)->lv,
pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
}
@@ -11104,10 +11349,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;
@@ -11168,6 +11419,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
@@ -11443,7 +11709,7 @@ static int buildin_getunits_sub(struct block_list *bl, va_list ap)
(const void *)h64BPTRSIZE(bl->id), ref);
(*count)++;
- return 0;
+ return 1;
}
static int buildin_getunits_sub_pc(struct map_session_data *sd, va_list ap)
@@ -11515,18 +11781,10 @@ static BUILDIN(getunits)
int16 x2 = script_getnum(st, 8);
int16 y2 = script_getnum(st, 9);
- // FIXME: map_foreachinarea does NOT stop iterating when the callback
- // function returns -1. we still limit the array size, but
- // this doesn't break the loop. We need a foreach function
- // that behaves like map_foreachiddb, but for areas
- map->foreachinarea(buildin_getunits_sub, m, x1, y1, x2, y2, type,
+ map->forcountinarea(buildin_getunits_sub, m, x1, y1, x2, y2, limit, type,
st, sd, id, start, &count, limit, name, ref, type);
} else {
- // FIXME: map_foreachinmap does NOT stop iterating when the callback
- // function returns -1. we still limit the array size, but
- // this doesn't break the loop. We need a foreach function
- // that behaves like map_foreachiddb, but for maps
- map->foreachinmap(buildin_getunits_sub, m, type,
+ map->forcountinmap(buildin_getunits_sub, m, limit, type,
st, sd, id, start, &count, limit, name, ref, type);
}
} else {
@@ -11811,6 +12069,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)
{
@@ -11822,12 +12092,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);
@@ -11845,17 +12115,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;
}
/*==========================================
@@ -12335,7 +12601,9 @@ static BUILDIN(sc_end)
}
//This should help status_change_end force disabling the SC in case it has no limit.
- sce->val1 = sce->val2 = sce->val3 = sce->val4 = 0;
+ if (type != SC_BERSERK)
+ sce->val1 = 0; // SC_BERSERK requires skill_lv that's stored in sce->val1 when being removed [KirieZ]
+ sce->val2 = sce->val3 = sce->val4 = 0;
status_change_end(bl, (sc_type)type, INVALID_TIMER);
}
else
@@ -12539,7 +12807,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 {
@@ -13091,7 +13359,8 @@ enum mapinfo_info {
MAPINFO_ID,
MAPINFO_SIZE_X,
MAPINFO_SIZE_Y,
- MAPINFO_ZONE
+ MAPINFO_ZONE,
+ MAPINFO_NPC_COUNT
};
static BUILDIN(getmapinfo)
@@ -13116,7 +13385,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;
}
@@ -13147,8 +13416,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;
}
@@ -13222,6 +13494,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;
}
}
@@ -13352,6 +13626,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;
}
}
@@ -13443,6 +13719,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;
}
}
@@ -13954,7 +14232,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;
@@ -14480,6 +14759,85 @@ static BUILDIN(getiteminfo)
case ITEMINFO_VIEWSPRITE:
script_pushint(st, it->view_sprite);
break;
+ 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;
default:
ShowError("buildin_getiteminfo: Invalid item type %d.\n", n);
script_pushint(st,-1);
@@ -14746,6 +15104,81 @@ static BUILDIN(setiteminfo)
case ITEMINFO_VIEWSPRITE:
it->view_sprite = value;
break;
+ 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);
@@ -14866,47 +15299,55 @@ static BUILDIN(petloot)
* Set arrays with info of all sd inventory :
* @inventorylist_id, @inventorylist_amount, @inventorylist_equip,
* @inventorylist_refine, @inventorylist_identify, @inventorylist_attribute,
- * @inventorylist_card(0..3), @inventorylist_expire
+ * @inventorylist_card(0..3),
+ * @inventorylist_opt_id(0..MAX_ITEM_OPTIONS),
+ * @inventorylist_opt_val(0..MAX_ITEM_OPTIONS),
+ * @inventorylist_opt_param(0..MAX_ITEM_OPTIONS),
+ * @inventorylist_expire, @inventorylist_bound, @inventorylist_favorite,
+ * @inventorylist_idx
* @inventorylist_count = scalar
*------------------------------------------*/
static BUILDIN(getinventorylist)
{
struct map_session_data *sd = script->rid2sd(st);
- char card_var[SCRIPT_VARNAME_LENGTH];
+ char script_var[SCRIPT_VARNAME_LENGTH];
+ int j = 0, k = 0;
- int i,j=0,k;
- if(!sd) return true;
+ if (sd == NULL)
+ return true;
- for(i=0;i<MAX_INVENTORY;i++) {
- if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount > 0) {
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_id"), j),sd->status.inventory[i].nameid);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_amount"), j),sd->status.inventory[i].amount);
- if(sd->status.inventory[i].equip) {
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_equip"), j),pc->equippoint(sd,i));
+ for (int i = 0; i < sd->status.inventorySize; i++) {
+ if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount > 0) {
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_id"), j), sd->status.inventory[i].nameid);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_amount"), j), sd->status.inventory[i].amount);
+ if (sd->status.inventory[i].equip != 0) {
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_equip"), j), pc->equippoint(sd, i));
} else {
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_equip"), j),0);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_equip"), j), 0);
}
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_refine"), j),sd->status.inventory[i].refine);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_identify"), j),sd->status.inventory[i].identify);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_attribute"), j),sd->status.inventory[i].attribute);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_refine"), j), sd->status.inventory[i].refine);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_identify"), j), sd->status.inventory[i].identify);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_attribute"), j), sd->status.inventory[i].attribute);
for (k = 0; k < MAX_SLOTS; k++) {
- sprintf(card_var, "@inventorylist_card%d",k+1);
- pc->setreg(sd,reference_uid(script->add_variable(card_var), j),sd->status.inventory[i].card[k]);
+ sprintf(script_var, "@inventorylist_card%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].card[k]);
}
for (k = 0; k < MAX_ITEM_OPTIONS; k++) {
- sprintf(card_var, "@inventorylist_opt_id%d", k + 1);
- pc->setreg(sd, reference_uid(script->add_variable(card_var), j), sd->status.inventory[i].option[k].index);
- sprintf(card_var, "@inventorylist_opt_val%d", k + 1);
- pc->setreg(sd, reference_uid(script->add_variable(card_var), j), sd->status.inventory[i].option[k].value);
- sprintf(card_var, "@inventorylist_opt_param%d", k + 1);
- pc->setreg(sd, reference_uid(script->add_variable(card_var), j), sd->status.inventory[i].option[k].param);
+ sprintf(script_var, "@inventorylist_opt_id%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].option[k].index);
+ sprintf(script_var, "@inventorylist_opt_val%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].option[k].value);
+ sprintf(script_var, "@inventorylist_opt_param%d", k + 1);
+ pc->setreg(sd, reference_uid(script->add_variable(script_var), j), sd->status.inventory[i].option[k].param);
}
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_expire"), j),sd->status.inventory[i].expire_time);
- pc->setreg(sd,reference_uid(script->add_variable("@inventorylist_bound"), j),sd->status.inventory[i].bound);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_expire"), j), sd->status.inventory[i].expire_time);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_bound"), j), sd->status.inventory[i].bound);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_favorite"), j), sd->status.inventory[i].favorite);
+ pc->setreg(sd, reference_uid(script->add_variable("@inventorylist_idx"), j), i);
j++;
}
}
- pc->setreg(sd,script->add_variable("@inventorylist_count"),j);
+ pc->setreg(sd, script->add_variable("@inventorylist_count"), j);
return true;
}
@@ -14968,10 +15409,9 @@ static BUILDIN(getskilllist)
static BUILDIN(clearitem)
{
struct map_session_data *sd = script->rid2sd(st);
- int i;
if (sd == NULL)
return true;
- for (i=0; i<MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if (sd->status.inventory[i].amount) {
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_NORMAL, LOG_TYPE_SCRIPT);
}
@@ -15411,6 +15851,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;
@@ -15428,6 +15918,50 @@ static BUILDIN(specialeffect2)
return true;
}
+static BUILDIN(removespecialeffect)
+{
+ struct block_list *bl = NULL;
+ int type = script_getnum(st, 2);
+ enum send_target target = AREA;
+
+ if (script_hasdata(st, 3)) {
+ target = script_getnum(st, 3);
+ }
+
+ if (script_hasdata(st, 4)) {
+ if (script_isstringtype(st, 4)) {
+ struct npc_data *nd = npc->name2id(script_getstr(st, 4));
+ if (nd != NULL) {
+ bl = &nd->bl;
+ }
+ } else {
+ bl = map->id2bl(script_getnum(st, 4));
+ }
+ } else {
+ bl = map->id2bl(st->oid);
+ }
+
+ if (bl == NULL) {
+ return true;
+ }
+
+ if (target == SELF) {
+ struct map_session_data *sd;
+ if (script_hasdata(st, 5)) {
+ sd = map->id2sd(script_getnum(st, 5));
+ } else {
+ sd = script->rid2sd(st);
+ }
+ if (sd != NULL) {
+ clif->removeSpecialEffect_single(bl, type, &sd->bl);
+ }
+ } else {
+ clif->removeSpecialEffect(bl, type, target);
+ }
+
+ return true;
+}
+
/*==========================================
* Nude [Valaris]
*------------------------------------------*/
@@ -15576,36 +16110,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;
}
@@ -15643,20 +16215,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;
}
@@ -15665,27 +16232,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;
@@ -15698,19 +16286,18 @@ static BUILDIN(getmercinfo)
*------------------------------------------*/
static BUILDIN(checkequipedcard)
{
- int n,i,c=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
return true;
- c = script_getnum(st,2);
+ int c = script_getnum(st,2);
- for( i=0; i<MAX_INVENTORY; i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount && sd->inventory_data[i]) {
if (itemdb_isspecial(sd->status.inventory[i].card[0]))
continue;
- for(n=0;n<sd->inventory_data[i]->slot;n++) {
+ for (int n = 0; n < sd->inventory_data[i]->slot; n++) {
if(sd->status.inventory[i].card[n]==c) {
script_pushint(st,1);
return true;
@@ -15786,6 +16373,29 @@ static BUILDIN(message)
return true;
}
+static BUILDIN(servicemessage)
+{
+ struct map_session_data *sd = NULL;
+
+ if (script_hasdata(st, 4)) {
+ if (script_isstringtype(st, 4))
+ sd = script->nick2sd(st, script_getstr(st, 4));
+ else
+ sd = script->id2sd(st, script_getnum(st, 4));
+ } else {
+ sd = script->rid2sd(st);
+ }
+
+ if (sd == NULL)
+ return true;
+
+ const char *message = script_getstr(st, 2);
+ const int color = script_getnum(st, 3);
+ clif->serviceMessageColor(sd, color, message);
+
+ return true;
+}
+
/*==========================================
* npctalk (sends message to surrounding area)
* usage: npctalk("<message>"{, "<npc name>"{, <show_name>}});
@@ -15824,37 +16434,41 @@ static BUILDIN(npctalk)
// change npc walkspeed [Valaris]
static BUILDIN(npcspeed)
{
- struct npc_data* nd;
- int speed;
-
- speed = script_getnum(st,2);
- nd = map->id2nd(st->oid);
+ struct npc_data *nd = map->id2nd(st->oid);
+ int speed = script_getnum(st, 2);
if (nd != NULL) {
unit->bl2ud2(&nd->bl); // ensure nd->ud is safe to edit
+ if (nd->ud == NULL) {
+ ShowWarning("buildin_npcspeed: floating NPC don't have unit data.\n");
+ return false;
+ }
nd->speed = speed;
nd->ud->state.speed_changed = 1;
}
return true;
}
+
// make an npc walk to a position [Valaris]
static BUILDIN(npcwalkto)
{
struct npc_data *nd = map->id2nd(st->oid);
- int x=0,y=0;
-
- x=script_getnum(st,2);
- y=script_getnum(st,3);
+ int x = script_getnum(st, 2);
+ int y = script_getnum(st, 3);
if (nd != NULL) {
unit->bl2ud2(&nd->bl); // ensure nd->ud is safe to edit
+ if (nd->ud == NULL) {
+ ShowWarning("buildin_npcwalkto: floating NPC don't have unit data.\n");
+ return false;
+ }
if (!nd->status.hp) {
status_calc_npc(nd, SCO_FIRST);
} else {
status_calc_npc(nd, SCO_NONE);
}
- unit->walktoxy(&nd->bl,x,y,0);
+ unit->walktoxy(&nd->bl, x, y, 0);
}
return true;
@@ -15866,6 +16480,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);
}
@@ -16098,7 +16716,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 {
@@ -16125,7 +16743,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;
@@ -16147,7 +16765,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;
@@ -16162,7 +16780,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;
@@ -16177,7 +16795,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;
@@ -16345,6 +16963,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;
@@ -16398,6 +17018,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;
@@ -16555,9 +17177,9 @@ static BUILDIN(equip)
ShowError("wrong item ID : equipitem(%d)\n",nameid);
return false;
}
- ARR_FIND( 0, MAX_INVENTORY, i, sd->status.inventory[i].nameid == nameid && sd->status.inventory[i].equip == 0 );
- if( i < MAX_INVENTORY )
- pc->equipitem(sd,i,item_data->equip);
+ ARR_FIND(0, sd->status.inventorySize, i, sd->status.inventory[i].nameid == nameid && sd->status.inventory[i].equip == 0);
+ if (i < sd->status.inventorySize)
+ pc->equipitem(sd, i, item_data->equip);
return true;
}
@@ -16615,21 +17237,21 @@ static BUILDIN(equip2)
c2 = script_getnum(st, 7);
c3 = script_getnum(st, 8);
- ARR_FIND( 0, MAX_INVENTORY, i,( sd->status.inventory[i].equip == 0 &&
+ ARR_FIND(0, sd->status.inventorySize, i, (sd->status.inventory[i].equip == 0 &&
sd->status.inventory[i].nameid == nameid &&
sd->status.inventory[i].refine == ref &&
sd->status.inventory[i].attribute == attr &&
sd->status.inventory[i].card[0] == c0 &&
sd->status.inventory[i].card[1] == c1 &&
sd->status.inventory[i].card[2] == c2 &&
- sd->status.inventory[i].card[3] == c3 ) );
+ sd->status.inventory[i].card[3] == c3));
- if( i < MAX_INVENTORY ) {
+ if (i < sd->status.inventorySize) {
script_pushint(st,1);
pc->equipitem(sd,i,item_data->equip);
- }
- else
+ } else {
script_pushint(st,0);
+ }
return true;
}
@@ -16816,6 +17438,63 @@ static BUILDIN(getdatatype)
return true;
}
+static BUILDIN(data_to_string)
+{
+ if (script_hasdata(st, 2)) {
+ struct script_data *data = script_getdata(st, 2);
+
+ if (data_isstring(data)) {
+ script_pushcopy(st, 2);
+ } else if (data_isint(data)) {
+ char *str = NULL;
+
+ CREATE(str, char, 20);
+ safesnprintf(str, 20, "%"PRId64"", data->u.num);
+ script_pushstr(st, str);
+ } else if (data_islabel(data)) {
+ const char *str = "";
+
+ // XXX: because all we have is the label pos we can't be sure which
+ // one is the correct label if more than one has the same pos.
+ // We might want to store both the pos and str_data index in
+ // data->u.num, similar to how C_NAME stores both the array
+ // index and str_data index in u.num with bitmasking. This
+ // would also avoid the awkward for() loops as we could
+ // directly access the string with script->get_str().
+
+ if (st->oid) {
+ struct npc_data *nd = map->id2nd(st->oid);
+
+ for (int i = 0; i < nd->u.scr.label_list_num; ++i) {
+ if (nd->u.scr.label_list[i].pos == data->u.num) {
+ str = nd->u.scr.label_list[i].name;
+ break;
+ }
+ }
+ } else {
+ for (int i = LABEL_START; script->str_data[i].next != 0; i = script->str_data[i].next) {
+ if (script->str_data[i].label == data->u.num) {
+ str = script->get_str(i);
+ break;
+ }
+ }
+ }
+
+ script_pushconststr(st, str);
+ } else if (data_isreference(data)) {
+ script_pushstrcopy(st, reference_getname(data));
+ } else {
+ ShowWarning("script:data_to_string: unknown data type!\n");
+ script->reportdata(data);
+ script_pushconststr(st, "");
+ }
+ } else {
+ script_pushconststr(st, ""); // NIL
+ }
+
+ return true;
+}
+
//=======================================================
// chr <int>
//-------------------------------------------------------
@@ -17627,6 +18306,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;
@@ -17870,7 +18560,9 @@ static BUILDIN(getd)
id = script->add_variable(varname);
- if (script->str_data[id].type != C_NAME) {
+ if (script->str_data[id].type != C_NAME && // variable
+ script->str_data[id].type != C_PARAM && // param
+ script->str_data[id].type != C_INT) { // constant
ShowError("script:getd: `%s` is already used by something that is not a variable.\n", varname);
st->state = END;
return false;
@@ -18030,10 +18722,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);
@@ -18266,6 +18960,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;
@@ -18339,7 +19034,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;
}
@@ -18467,6 +19162,9 @@ static BUILDIN(setpcblock)
if ((type & PCBLOCK_COMMANDS) != 0)
sd->block_action.commands = state;
+ if ((type & PCBLOCK_NPC) != 0)
+ sd->block_action.npc = state;
+
return true;
}
@@ -18504,6 +19202,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;
}
@@ -18585,6 +19286,10 @@ static BUILDIN(getunittype)
* @param4 Value#2 Optional int value to be passed for certain data types.
* @param5 Value#3 Optional int value to be passed for certain data types.
* @return 1 on success, 0 on failure.
+
+ Note: Please make this script command only modify ONE INTEGER value.
+ If need to modify string type data, or having multiple arguments, please
+ introduce a new script command.
*/
static BUILDIN(setunitdata)
{
@@ -18610,7 +19315,7 @@ static BUILDIN(setunitdata)
return false;
}
- /* Mandatory Argument 3 */
+ /* Mandatory Argument 3. Subject to deprecate. */
if (type == UDT_MAPIDXY) {
if (!script_isstringtype(st, 4)) {
ShowError("buildin_setunitdata: Invalid data type for argument #3.\n");
@@ -18805,6 +19510,23 @@ static BUILDIN(setunitdata)
case UDT_ELELEVEL:
setunitdata_check_bounds(4, 0, CHAR_MAX);
break;
+ case UDT_GROUP:
+ {
+ setunitdata_check_bounds(4, 0, INT_MAX);
+ struct unit_data *ud = unit->bl2ud2(bl);
+ if (ud == NULL) {
+ ShowError("buildin_setunitdata: ud is NULL!\n");
+ script_pushint(st, 0);
+ return false;
+ }
+ ud->groupId = script_getnum(st, 4);
+ clif->blname_ack(0, bl); // Send update to client.
+ script_pushint(st, 1);
+ return true;
+ }
+ case UDT_DAMAGE_TAKEN_RATE:
+ setunitdata_check_bounds(4, 1, INT_MAX);
+ break;
default:
break;
}
@@ -18828,17 +19550,19 @@ static BUILDIN(setunitdata)
break;
case UDT_LEVEL:
md->level = val;
+ if (battle_config.show_mob_info & 4)
+ clif->blname_ack(0, &md->bl);
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
- clif->charnameack(0, &md->bl);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ clif->blname_ack(0, &md->bl);
break;
case UDT_MAXHP:
md->status.max_hp = (unsigned int) val;
- clif->charnameack(0, &md->bl);
+ clif->blname_ack(0, &md->bl);
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
md->status.max_sp = (unsigned int) val;
@@ -18977,6 +19701,9 @@ static BUILDIN(setunitdata)
case UDT_DMOTION:
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);
script_pushint(st, 0);
@@ -18999,13 +19726,13 @@ static BUILDIN(setunitdata)
hd->homunculus.level = (short) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
hd->homunculus.max_hp = val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
hd->homunculus.max_sp = val;
@@ -19138,13 +19865,13 @@ static BUILDIN(setunitdata)
pd->pet.level = (short) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
pd->status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
pd->status.max_sp = (unsigned int) val;
@@ -19272,13 +19999,13 @@ static BUILDIN(setunitdata)
mc->base_status.size = (unsigned char) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
mc->base_status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
mc->base_status.max_sp = (unsigned int) val;
@@ -19406,13 +20133,13 @@ static BUILDIN(setunitdata)
ed->base_status.size = (unsigned char) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
ed->base_status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
ed->base_status.max_sp = (unsigned int) val;
@@ -19538,13 +20265,13 @@ static BUILDIN(setunitdata)
nd->level = (unsigned short) val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, 0);
+ status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
nd->status.max_hp = (unsigned int) val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, 0);
+ status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
nd->status.max_sp = (unsigned int) val;
@@ -19702,6 +20429,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)
{
@@ -19716,7 +20447,7 @@ static BUILDIN(getunitdata)
if (bl == NULL) {
ShowWarning("buildin_getunitdata: Error in finding object with given GID %d!\n", script_getnum(st, 2));
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
@@ -19725,15 +20456,15 @@ static BUILDIN(getunitdata)
/* Type check */
if (type < UDT_TYPE || type >= UDT_MAX) {
ShowError("buildin_getunitdata: Invalid unit data type %d provided.\n", type);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
- /* Argument checks */
+ /* Argument checks. Subject to deprecate */
if (type == UDT_MAPIDXY) {
if (data == NULL || !data_isreference(data)) {
ShowWarning("buildin_getunitdata: Error in argument 3. Please provide a reference variable to store values in.\n");
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
@@ -19743,10 +20474,19 @@ static BUILDIN(getunitdata)
sd = script->rid2sd(st);
if (sd == NULL) {
ShowWarning("buildin_getunitdata: Player not attached! Cannot use player variable %s.\n",name);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return true;// no player attached
}
}
+ } else if (type == UDT_GROUP) {
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL) {
+ ShowError("buildin_setunitdata: ud is NULL!\n");
+ script_pushint(st, -1);
+ return false;
+ }
+ script_pushint(st, ud->groupId);
+ return true;
}
#define getunitdata_sub(idx__,var__) script->setd_sub(st,NULL,name,(idx__),(void *)h64BPTRSIZE((int)(var__)),data->ref);
@@ -19811,9 +20551,10 @@ 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, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -19870,7 +20611,7 @@ static BUILDIN(getunitdata)
case UDT_INTIMACY: script_pushint(st, hd->homunculus.intimacy); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Homunculus unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -19927,7 +20668,7 @@ static BUILDIN(getunitdata)
case UDT_INTIMACY: script_pushint(st, pd->pet.intimate); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Pet unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -19983,7 +20724,7 @@ static BUILDIN(getunitdata)
case UDT_LIFETIME: script_pushint(st, mc->mercenary.life_time); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Mercenary unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -20037,7 +20778,7 @@ static BUILDIN(getunitdata)
case UDT_MASTERCID: script_pushint(st, ed->elemental.char_id); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Elemental unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
@@ -20102,14 +20843,14 @@ static BUILDIN(getunitdata)
case UDT_BODY2: script_pushint(st, nd->vd.body_style); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for NPC unit.\n", udtype);
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
}
}
break;
default:
ShowError("buildin_getunitdata: Unknown object!\n");
- script_pushint(st, 0);
+ script_pushint(st, -1);
return false;
} // end of bl->type switch
@@ -20205,7 +20946,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;
}
@@ -20217,24 +20998,28 @@ static BUILDIN(setunitname)
/// unitwalk(<unit_id>,<target_id>) -> <bool>
static BUILDIN(unitwalk)
{
- struct block_list* bl;
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
- bl = map->id2bl(script_getnum(st,2));
- if( bl == NULL ) {
+ if (bl == NULL) {
script_pushint(st, 0);
return true;
}
- if( bl->type == BL_NPC ) {
- unit->bl2ud2(bl); // ensure the ((struct npc_data*)bl)->ud is safe to edit
+ if (bl->type == BL_NPC) {
+ struct unit_data *ud = unit->bl2ud2(bl); // ensure the ((struct npc_data*)bl)->ud is safe to edit
+ if (ud == NULL) {
+ ShowWarning("buildin_unitwalk: floating NPC don't have unit data.\n");
+ return false;
+ }
}
- if( script_hasdata(st,4) ) {
- int x = script_getnum(st,3);
- int y = script_getnum(st,4);
- script_pushint(st, unit->walktoxy(bl,x,y,0));// We'll use harder calculations.
- } else {
- int target_id = script_getnum(st,3);
- script_pushint(st, unit->walktobl(bl,map->id2bl(target_id),1,1));
+ if (script_hasdata(st, 4)) {
+ int x = script_getnum(st, 3);
+ int y = script_getnum(st, 4);
+ script_pushint(st, unit->walktoxy(bl, x, y, 0));// We'll use harder calculations.
+ }
+ else {
+ int target_id = script_getnum(st, 3);
+ script_pushint(st, unit->walktobl(bl, map->id2bl(target_id), 1, 1));
}
return true;
@@ -20258,32 +21043,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);
}
@@ -20354,17 +21141,19 @@ static BUILDIN(unitattack)
/// unitstop <unit_id>;
static BUILDIN(unitstop)
{
- int unit_id;
- struct block_list* bl;
-
- unit_id = script_getnum(st,2);
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
- bl = map->id2bl(unit_id);
- if( bl != NULL ) {
- unit->bl2ud2(bl); // ensure ((struct npc_data *)bl)->ud is safe to edit
+ if (bl != NULL) {
+ struct unit_data *ud = unit->bl2ud2(bl); // ensure ((struct npc_data *)bl)->ud is safe to edit
+ if (bl->type == BL_NPC) {
+ if (ud == NULL) {
+ ShowWarning("buildin_unitstop: floating NPC don't have unit data.\n");
+ return false;
+ }
+ }
unit->stop_attack(bl);
unit->stop_walking(bl, STOPWALKING_FLAG_NEXTCELL);
- if( bl->type == BL_MOB )
+ if (bl->type == BL_MOB)
BL_UCAST(BL_MOB, bl)->target_id = 0;
}
@@ -20698,7 +21487,7 @@ static BUILDIN(getvariableofpc)
}
if (!sd->regs.vars)
- sd->regs.vars = i64db_alloc(DB_OPT_RELEASE_DATA);
+ sd->regs.vars = i64db_alloc(DB_OPT_BASE);
script->push_val(st->stack, C_NAME, reference_getuid(data), &sd->regs);
return true;
@@ -20855,7 +21644,7 @@ static BUILDIN(mercenary_heal)
hp = script_getnum(st,2);
sp = script_getnum(st,3);
- status->heal(&sd->md->bl, hp, sp, 0);
+ status->heal(&sd->md->bl, hp, sp, STATUS_HEAL_DEFAULT);
return true;
}
@@ -21030,7 +21819,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);
@@ -21042,7 +21830,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;
}
@@ -21060,15 +21850,12 @@ static BUILDIN(setquestinfo)
return false;
}
- qi = &VECTOR_LAST(map->list[nd->bl.m].qi_data);
+ qi = &VECTOR_LAST(nd->qi_data);
if (qi == NULL) {
ShowWarning("buildin_setquestinfo: no valide questinfo data has been found for this npc.\n");
return false;
}
- if (qi->nd != nd) {
- ShowWarning("buildin_setquestinfo: invalid usage, setquestinfo must be used only after questinfo.\n");
- return false;
- }
+
switch (type) {
case QINFO_JOB:
{
@@ -21190,6 +21977,17 @@ static BUILDIN(setquestinfo)
VECTOR_PUSH(qi->quest_requirement, quest_req);
break;
}
+ case QINFO_MERCENARY_CLASS:
+ {
+ int mer_class = script_getnum(st, 3);
+
+ if (!mercenary->class(mer_class)) {
+ ShowWarning("buildin_setquestinfo: invalid mercenary class given (%d).\n", mer_class);
+ return false;
+ }
+ qi->mercenary_class = mer_class;
+ break;
+ }
default:
ShowWarning("buildin_setquestinfo: invalid type given (%u).\n", type);
return false;
@@ -21343,18 +22141,7 @@ static BUILDIN(showevent)
}
}
-#if PACKETVER >= 20170315
- if (icon < 0 || (icon > 10 && icon != 9999))
- icon = 9999;
-#elif PACKETVER >= 20120410
- if (icon < 0 || (icon > 8 && icon != 9999) || icon == 7)
- icon = 9999; // Default to nothing if icon id is invalid.
-#else
- if (icon < 0 || icon > 7)
- icon = 0;
- else
- icon = icon + 1;
-#endif
+ icon = quest->questinfo_validate_icon(icon);
clif->quest_show_event(sd, &nd->bl, icon, color);
return true;
@@ -21584,7 +22371,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;
}
@@ -22193,6 +22980,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;
@@ -22519,7 +23319,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));
@@ -23636,7 +24436,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;
}
}
@@ -23684,7 +24484,7 @@ static BUILDIN(bg_join_team)
*------------------------------------------*/
static BUILDIN(countbound)
{
- int i, type, j=0, k=0;
+ int type, j=0, k=0;
struct map_session_data *sd = script->rid2sd(st);
if (sd == NULL)
@@ -23692,7 +24492,7 @@ static BUILDIN(countbound)
type = script_hasdata(st,2)?script_getnum(st,2):0;
- for(i=0;i<MAX_INVENTORY;i++) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid > 0 && (
(!type && sd->status.inventory[i].bound > 0) ||
(type && sd->status.inventory[i].bound == type)
@@ -23738,20 +24538,21 @@ static BUILDIN(checkbound)
ShowError("script_checkbound: Not a valid bind type! Type=%d\n", bound_type);
}
- ARR_FIND( 0, MAX_INVENTORY, i, (sd->status.inventory[i].nameid == nameid &&
+ ARR_FIND(0, sd->status.inventorySize, i, (sd->status.inventory[i].nameid == nameid &&
( sd->status.inventory[i].refine == (script_hasdata(st,4)? script_getnum(st,4) : sd->status.inventory[i].refine) ) &&
( sd->status.inventory[i].attribute == (script_hasdata(st,5)? script_getnum(st,5) : sd->status.inventory[i].attribute) ) &&
( sd->status.inventory[i].card[0] == (script_hasdata(st,6)? script_getnum(st,6) : sd->status.inventory[i].card[0]) ) &&
( sd->status.inventory[i].card[1] == (script_hasdata(st,7)? script_getnum(st,7) : sd->status.inventory[i].card[1]) ) &&
( sd->status.inventory[i].card[2] == (script_hasdata(st,8)? script_getnum(st,8) : sd->status.inventory[i].card[2]) ) &&
( sd->status.inventory[i].card[3] == (script_hasdata(st,9)? script_getnum(st,9) : sd->status.inventory[i].card[3]) ) &&
- ((sd->status.inventory[i].bound > 0 && !bound_type) || sd->status.inventory[i].bound == bound_type )) );
+ ((sd->status.inventory[i].bound > 0 && !bound_type) || sd->status.inventory[i].bound == bound_type)));
- if( i < MAX_INVENTORY ){
+ if (i < sd->status.inventorySize) {
script_pushint(st, sd->status.inventory[i].bound);
return true;
- } else
+ } else {
script_pushint(st,0);
+ }
return true;
}
@@ -23888,6 +24689,7 @@ static BUILDIN(sellitem)
struct item_data *it;
int i = 0, id = script_getnum(st,2);
int value = 0;
+ int value2 = 0;
int qty = 0;
if( !(nd = map->id2nd(st->oid)) ) {
@@ -23898,19 +24700,45 @@ static BUILDIN(sellitem)
return false;
}
- value = script_hasdata(st,3) ? script_getnum(st, 3) : it->value_buy;
- if( value == -1 )
- value = it->value_buy;
-
- if( !nd->u.scr.shop )
- npc->trader_update(nd->src_id?nd->src_id:nd->bl.id);
- else {/* no need to run this if its empty */
- for( i = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == id )
- break;
+ if (!nd->u.scr.shop) {
+ npc->trader_update(nd->src_id ? nd->src_id : nd->bl.id);
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ if (!script_hasdata(st, 5)) {
+ ShowError("buildin_sellitem: invalid number of parameters for barter-type shop!\n");
+ return false;
+ }
+ value = script_getnum(st, 4);
+ value2 = script_getnum(st, 5);
+ }
+ } else {/* no need to run this if its empty */
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ if (!script_hasdata(st, 5)) {
+ ShowError("buildin_sellitem: invalid number of parameters for barter-type shop!\n");
+ return false;
+ }
+ value = script_getnum(st, 4);
+ value2 = script_getnum(st, 5);
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid == id && item->value == value && item->value2 == value2) {
+ break;
+ }
+ }
+ } else {
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == id) {
+ break;
+ }
+ }
}
}
+ if (nd->u.scr.shop->type != NST_BARTER) {
+ value = script_hasdata(st,3) ? script_getnum(st, 3) : it->value_buy;
+ if( value == -1 )
+ value = it->value_buy;
+ }
+
if( nd->u.scr.shop->type == NST_MARKET ) {
if( !script_hasdata(st,4) || ( qty = script_getnum(st, 4) ) <= 0 ) {
ShowError("buildin_sellitem: invalid 'qty' for market-type shop!\n");
@@ -23923,19 +24751,29 @@ static BUILDIN(sellitem)
it->name, id, value, (int)(value*0.75), it->value_sell, (int)(it->value_sell*1.24), nd->exname, nd->path);
}
- if( i != nd->u.scr.shop->items ) {
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ qty = script_getnum(st, 3);
+ if (qty < -1 || value <= 0 || value2 <= 0) {
+ ShowError("buildin_sellitem: invalid parameters for barter-type shop!\n");
+ return false;
+ }
+ }
+
+ if (i != nd->u.scr.shop->items) {
nd->u.scr.shop->item[i].value = value;
nd->u.scr.shop->item[i].qty = qty;
- if( nd->u.scr.shop->type == NST_MARKET ) /* has been manually updated, make it reflect on sql */
- npc->market_tosql(nd,i);
+ if (nd->u.scr.shop->type == NST_MARKET) /* has been manually updated, make it reflect on sql */
+ npc->market_tosql(nd, i);
+ else if (nd->u.scr.shop->type == NST_BARTER) /* has been manually updated, make it reflect on sql */
+ npc->barter_tosql(nd, i);
} else {
- for( i = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == 0 )
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == 0)
break;
}
- if( i == nd->u.scr.shop->items ) {
- if( nd->u.scr.shop->items == USHRT_MAX ) {
+ if (i == nd->u.scr.shop->items) {
+ if (nd->u.scr.shop->items == USHRT_MAX) {
ShowWarning("buildin_sellitem: Can't add %s (%s/%s), shop list is full!\n", it->name, nd->exname, nd->path);
return false;
}
@@ -23945,6 +24783,7 @@ static BUILDIN(sellitem)
nd->u.scr.shop->item[i].nameid = it->nameid;
nd->u.scr.shop->item[i].value = value;
+ nd->u.scr.shop->item[i].value2 = value2;
nd->u.scr.shop->item[i].qty = qty;
}
@@ -23961,35 +24800,55 @@ static BUILDIN(sellitem)
static BUILDIN(stopselling)
{
struct npc_data *nd;
- int i, id = script_getnum(st,2);
+ int i, id = script_getnum(st, 2);
- if( !(nd = map->id2nd(st->oid)) || !nd->u.scr.shop ) {
+ if (!(nd = map->id2nd(st->oid)) || !nd->u.scr.shop) {
ShowWarning("buildin_stopselling: trying to run without a proper NPC!\n");
return false;
}
- for( i = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == id )
- break;
+ if (nd->u.scr.shop->type == NST_BARTER) {
+ if (!script_hasdata(st, 4)) {
+ ShowError("buildin_stopselling: called with wrong number of arguments\n");
+ return false;
+ }
+ const int id2 = script_getnum(st, 3);
+ const int amount2 = script_getnum(st, 4);
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid == id && item->value == id2 && item->value2 == amount2) {
+ break;
+ }
+ }
+ } else {
+ for (i = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == id) {
+ break;
+ }
+ }
}
- if( i != nd->u.scr.shop->items ) {
+ if (i != nd->u.scr.shop->items) {
int cursor;
- if( nd->u.scr.shop->type == NST_MARKET )
- npc->market_delfromsql(nd,i);
+ if (nd->u.scr.shop->type == NST_MARKET)
+ npc->market_delfromsql(nd, i);
+ if (nd->u.scr.shop->type == NST_BARTER)
+ npc->barter_delfromsql(nd, i);
nd->u.scr.shop->item[i].nameid = 0;
nd->u.scr.shop->item[i].value = 0;
+ nd->u.scr.shop->item[i].value2 = 0;
nd->u.scr.shop->item[i].qty = 0;
- for( i = 0, cursor = 0; i < nd->u.scr.shop->items; i++ ) {
- if( nd->u.scr.shop->item[i].nameid == 0 )
+ for (i = 0, cursor = 0; i < nd->u.scr.shop->items; i++) {
+ if (nd->u.scr.shop->item[i].nameid == 0)
continue;
- if( cursor != i ) {
+ if (cursor != i) {
nd->u.scr.shop->item[cursor].nameid = nd->u.scr.shop->item[i].nameid;
nd->u.scr.shop->item[cursor].value = nd->u.scr.shop->item[i].value;
+ nd->u.scr.shop->item[cursor].value2 = nd->u.scr.shop->item[i].value2;
nd->u.scr.shop->item[cursor].qty = nd->u.scr.shop->item[i].qty;
}
@@ -24055,7 +24914,8 @@ static BUILDIN(tradertype)
nd->u.scr.shop->item[i].value = 0;
nd->u.scr.shop->item[i].qty = 0;
}
- npc->market_delfromsql(nd,USHRT_MAX);
+ npc->market_delfromsql(nd, INT_MAX);
+ npc->barter_delfromsql(nd, INT_MAX);
}
#if PACKETVER < 20131223
@@ -24064,6 +24924,12 @@ static BUILDIN(tradertype)
script->reportsrc(st);
}
#endif
+#if PACKETVER_MAIN_NUM < 20190116 && PACKETVER_RE_NUM < 20190116 && PACKETVER_ZERO_NUM < 20181226
+ if (type == NST_BARTER) {
+ ShowWarning("buildin_tradertype: NST_BARTER is only available with PACKETVER_ZERO_NUM 20181226 or PACKETVER_MAIN_NUM 20190116 or PACKETVER_RE_NUM 20190116 or newer!\n");
+ script->reportsrc(st);
+ }
+#endif
if( nd->u.scr.shop )
nd->u.scr.shop->type = type;
@@ -24107,8 +24973,8 @@ static BUILDIN(shopcount)
} else if ( !nd->u.scr.shop || !nd->u.scr.shop->items ) {
ShowWarning("buildin_shopcount(%d): trying to use without any items!\n",id);
return false;
- } else if ( nd->u.scr.shop->type != NST_MARKET ) {
- ShowWarning("buildin_shopcount(%d): trying to use on a non-NST_MARKET shop!\n",id);
+ } else if (nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER) {
+ ShowWarning("buildin_shopcount(%d): trying to use on a non-NST_MARKET and non-NST_BARTER shop!\n",id);
return false;
}
@@ -24209,7 +25075,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);
@@ -24221,14 +25087,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;
}
@@ -24338,6 +25204,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(_)
{
@@ -24693,7 +25653,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;
@@ -24803,6 +25763,285 @@ static BUILDIN(msgtable2)
return true;
}
+// show/hide camera info
+static BUILDIN(camerainfo)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+
+ clif->camera_showWindow(sd);
+ return true;
+}
+
+// allow change some camera parameters
+static BUILDIN(changecamera)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+
+ enum send_target target = SELF;
+ if (script_hasdata(st, 5)) {
+ target = script_getnum(st, 5);
+ }
+ clif->camera_change(sd, (float)script_getnum(st, 2), (float)script_getnum(st, 3), (float)script_getnum(st, 4), target);
+ return true;
+}
+
+// update preview window to given item
+static BUILDIN(itempreview)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ clif->item_preview(sd, script_getnum(st, 2));
+ return true;
+}
+
+// insert or remove card into equipped item
+static BUILDIN(enchantitem)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ const int pos = script_getnum(st, 2);
+ if ((pos < EQI_ACC_L || pos > EQI_HAND_R) && pos != EQI_AMMO) {
+ ShowError("Wrong equip position: %d\n", pos);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const int cardId = script_getnum(st, 4);
+ struct item_data *it = itemdb->exists(cardId);
+ if (it == NULL || it->type != IT_CARD) {
+ ShowError("Item id is not card or not exists: %d\n", cardId);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const int n = sd->equip_index[pos];
+ if (n < 0) {
+ ShowError("Item in equipment slot %d is not equipped\n", pos);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const int cardSlot = script_getnum(st, 3);
+ if (cardSlot < 0 || cardSlot >= MAX_SLOTS) {
+ ShowError("Wrong card slot %d. Must be in range 0-3.\n", cardSlot);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ const bool res = clif->enchant_equipment(sd, pc->equip_pos[pos], cardSlot, cardId);
+ if (res) {
+ logs->pick_pc(sd, LOG_TYPE_CARD, -1, &sd->status.inventory[n],sd->inventory_data[n]);
+ sd->status.inventory[n].card[cardSlot] = cardId;
+ logs->pick_pc(sd, LOG_TYPE_CARD, 1, &sd->status.inventory[n],sd->inventory_data[n]);
+ status_calc_pc(sd, SCO_NONE);
+ }
+ script_pushint(st, res);
+ return true;
+}
+
+// send ack to inventory expand request
+static BUILDIN(expandinventoryack)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ int itemId = 0;
+ if (script_hasdata(st, 3)) {
+ itemId = script_getnum(st, 3);
+ }
+ clif->inventoryExpandAck(sd, script_getnum(st, 2), itemId);
+ return true;
+}
+
+// send final ack to inventory expand request
+static BUILDIN(expandinventoryresult)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ clif->inventoryExpandResult(sd, script_getnum(st, 2));
+ return true;
+}
+
+// adjust player inventory size to given value positive or negative
+static BUILDIN(expandinventory)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ script_pushint(st, pc->expandInventory(sd, script_getnum(st, 2)));
+ return true;
+}
+
+// return current player inventory size
+static BUILDIN(getinventorysize)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ script_pushint(st, sd->status.inventorySize);
+ return true;
+}
+
+// force close roulette window if it opened
+static BUILDIN(closeroulette)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ clif->roulette_close(sd);
+ return true;
+}
+
+static BUILDIN(openrefineryui)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+
+ if (sd == NULL) {
+ script_pushint(st, 0);
+ return true;
+ }
+
+ if (battle_config.enable_refinery_ui == 0) {
+ script_pushint(st, 0);
+ return true;
+ }
+
+ clif->OpenRefineryUI(sd);
+ script_pushint(st, 1);
+ return true;
+}
+
+/**
+ * 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.
*
@@ -24952,6 +26191,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 }
@@ -24967,11 +26252,12 @@ 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*"),
BUILDIN_DEF(select,"s*"), //for future jA script compatibility
- BUILDIN_DEF(prompt,"s*"),
+ BUILDIN_DEF2(select, "prompt", "s*"),
//
BUILDIN_DEF(goto,"l"),
BUILDIN_DEF(callsub,"l*"),
@@ -24984,8 +26270,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"),
@@ -25005,6 +26291,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"),
@@ -25015,19 +26302,22 @@ static void script_parse_builtin(void)
BUILDIN_DEF(rand,"i?"),
BUILDIN_DEF(countitem,"v"),
BUILDIN_DEF(countitem2,"viiiiiii"),
+ BUILDIN_DEF(countnameditem,"v?"),
BUILDIN_DEF(checkweight,"vi*"),
BUILDIN_DEF(checkweight2,"rr"),
BUILDIN_DEF(readparam,"i?"),
BUILDIN_DEF(setparam,"ii?"),
BUILDIN_DEF(getcharid,"i?"),
- BUILDIN_DEF(getnpcid,"i?"),
+ BUILDIN_DEF(getnpcid, "?"),
BUILDIN_DEF(getpartyname,"i"),
BUILDIN_DEF(getpartymember,"i?"),
BUILDIN_DEF(getpartyleader,"i?"),
- 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"),
@@ -25040,7 +26330,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?"),
@@ -25048,6 +26338,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(downrefitem,"i?"),
BUILDIN_DEF(statusup,"i"),
BUILDIN_DEF(statusup2,"ii"),
+ BUILDIN_DEF(needed_status_point, "ii"),
BUILDIN_DEF(bonus,"iv"),
BUILDIN_DEF2(bonus,"bonus2","ivi"),
BUILDIN_DEF2(bonus,"bonus3","ivii"),
@@ -25078,7 +26369,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(savepoint,"sii"),
BUILDIN_DEF(gettimetick,"i"),
BUILDIN_DEF(gettime,"i"),
- BUILDIN_DEF(gettimestr,"si"),
+ BUILDIN_DEF(gettimestr, "si?"),
BUILDIN_DEF(openstorage,""),
BUILDIN_DEF(guildopenstorage,""),
BUILDIN_DEF(itemskill,"vi?"),
@@ -25089,6 +26380,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"),
@@ -25105,6 +26397,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?????"),
@@ -25123,12 +26416,15 @@ static void script_parse_builtin(void)
BUILDIN_DEF(sc_end,"i?"),
BUILDIN_DEF(getstatus, "i?"),
BUILDIN_DEF(getscrate,"ii?"),
- BUILDIN_DEF(debugmes,"v*"),
+ BUILDIN_DEF_DEPRECATED(debugmes,"v*"),
+ BUILDIN_DEF(consolemes,"iv*"),
BUILDIN_DEF2(catchpet,"pet","i"),
BUILDIN_DEF2(birthpet,"bpet",""),
BUILDIN_DEF(resetlvl,"i"),
BUILDIN_DEF(resetstatus,""),
BUILDIN_DEF(resetskill,""),
+ BUILDIN_DEF(resetfeel, "?"),
+ BUILDIN_DEF(resethate, "?"),
BUILDIN_DEF(skillpointcount,""),
BUILDIN_DEF(changebase,"i?"),
BUILDIN_DEF(changesex,""),
@@ -25199,6 +26495,8 @@ 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]
BUILDIN_DEF(mapwarp,"ssii??"), // Added by RoVeRT
@@ -25206,6 +26504,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF2(atcommand,"charcommand","s"), // [MouseJstr]
BUILDIN_DEF(movenpc,"sii?"), // [MouseJstr]
BUILDIN_DEF(message,"vs"), // [MouseJstr]
+ BUILDIN_DEF(servicemessage, "si?"),
BUILDIN_DEF(npctalk,"s??"), // [Valaris][Murilo BiO]
BUILDIN_DEF(mobcount,"ss"),
BUILDIN_DEF(getlook,"i"),
@@ -25251,6 +26550,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(charat,"si"),
BUILDIN_DEF(isstr,"v"),
BUILDIN_DEF(getdatatype, "?"),
+ BUILDIN_DEF(data_to_string, "?"),
+ BUILDIN_DEF2(getd, "string_to_data", "?"),
BUILDIN_DEF(chr,"i"),
BUILDIN_DEF(ord,"s"),
BUILDIN_DEF(setchar,"ssi"),
@@ -25286,13 +26587,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*"),
@@ -25330,6 +26632,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(getunitdata,"ii?"),
BUILDIN_DEF(getunitname,"i"),
BUILDIN_DEF(setunitname,"is"),
+ BUILDIN_DEF(getunittitle,"i"),
+ BUILDIN_DEF(setunittitle,"is"),
BUILDIN_DEF(unitwalk,"ii?"),
BUILDIN_DEF(unitkill,"i"),
BUILDIN_DEF(unitwarp,"isii"),
@@ -25372,6 +26676,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?"),
@@ -25498,8 +26803,8 @@ static void script_parse_builtin(void)
/* New Shop Support */
BUILDIN_DEF(openshop,"?"),
- BUILDIN_DEF(sellitem,"i??"),
- BUILDIN_DEF(stopselling,"i"),
+ BUILDIN_DEF(sellitem,"i???"),
+ BUILDIN_DEF(stopselling,"i??"),
BUILDIN_DEF(setcurrency,"i?"),
BUILDIN_DEF(tradertype,"i"),
BUILDIN_DEF(purchaseok,""),
@@ -25516,7 +26821,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??"),
@@ -25532,6 +26837,26 @@ static void script_parse_builtin(void)
// -- HatEffect
BUILDIN_DEF(hateffect, "ii"),
+
+ // camera
+ BUILDIN_DEF(camerainfo, ""),
+ BUILDIN_DEF(changecamera, "iii?"),
+
+ BUILDIN_DEF(itempreview, "i"),
+ BUILDIN_DEF(enchantitem, "iii"),
+ BUILDIN_DEF(expandinventoryack, "i?"),
+ BUILDIN_DEF(expandinventoryresult, "i"),
+ BUILDIN_DEF(expandinventory, "i"),
+ BUILDIN_DEF(getinventorysize, ""),
+
+ BUILDIN_DEF(closeroulette, ""),
+ BUILDIN_DEF(openrefineryui, ""),
+ 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
@@ -25571,13 +26896,20 @@ static void script_hardcoded_constants(void)
script->set_constant("MAX_LEVEL",MAX_LEVEL,false, false);
script->set_constant("MAX_STORAGE",MAX_STORAGE,false, false);
script->set_constant("MAX_GUILD_STORAGE",MAX_GUILD_STORAGE,false, false);
- script->set_constant("MAX_CART",MAX_INVENTORY,false, false);
+ script->set_constant("MAX_CART", MAX_CART, false, false);
script->set_constant("MAX_INVENTORY",MAX_INVENTORY,false, false);
+ script->set_constant("FIXED_INVENTORY_SIZE", FIXED_INVENTORY_SIZE, false, false);
script->set_constant("MAX_ZENY",MAX_ZENY,false, false);
script->set_constant("MAX_BANK_ZENY", MAX_BANK_ZENY, false, false);
script->set_constant("MAX_BG_MEMBERS",MAX_BG_MEMBERS,false, false);
script->set_constant("MAX_CHAT_USERS",MAX_CHAT_USERS,false, false);
script->set_constant("MAX_REFINE",MAX_REFINE,false, false);
+ script->set_constant("MAX_ITEM_ID",MAX_ITEM_ID,false, false);
+ script->set_constant("MAX_MENU_OPTIONS", MAX_MENU_OPTIONS, false, false);
+ script->set_constant("MAX_MENU_LENGTH", MAX_MENU_LENGTH, false, false);
+ script->set_constant("MOB_CLONE_START", MOB_CLONE_START, false, false);
+ script->set_constant("MOB_CLONE_END", MOB_CLONE_END, false, false);
+ script->set_constant("MAX_NPC_PER_MAP", MAX_NPC_PER_MAP, false, false);
script->constdb_comment("status options");
script->set_constant("Option_Nothing",OPTION_NOTHING,false, false);
@@ -25757,6 +27089,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);
@@ -25828,6 +27161,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);
@@ -25847,6 +27189,56 @@ static void script_hardcoded_constants(void)
script->set_constant("ITEMINFO_VIEWID", ITEMINFO_VIEWID, false, false);
script->set_constant("ITEMINFO_MATK", ITEMINFO_MATK, false, false);
script->set_constant("ITEMINFO_VIEWSPRITE", ITEMINFO_VIEWSPRITE, false, false);
+ script->set_constant("ITEMINFO_TRADE", ITEMINFO_TRADE, false, false);
+ script->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->constdb_comment("getmercinfo options");
+ script->set_constant("MERCINFO_ID,", MERCINFO_ID, false, false);
+ script->set_constant("MERCINFO_CLASS", MERCINFO_CLASS, false, false);
+ script->set_constant("MERCINFO_NAME", MERCINFO_NAME, false, false);
+ script->set_constant("MERCINFO_FAITH", MERCINFO_FAITH, false, false);
+ script->set_constant("MERCINFO_CALLS", MERCINFO_CALLS, false, false);
+ script->set_constant("MERCINFO_KILLCOUNT", MERCINFO_KILLCOUNT, false, false);
+ script->set_constant("MERCINFO_LIFETIME", MERCINFO_LIFETIME, false, false);
+ script->set_constant("MERCINFO_LEVEL", MERCINFO_LEVEL, false, false);
+ script->set_constant("MERCINFO_GID", MERCINFO_GID, false, false);
+
+ script->constdb_comment("getpetinfo options");
+ script->set_constant("PETINFO_ID", PETINFO_ID, false, false);
+ script->set_constant("PETINFO_CLASS", PETINFO_CLASS, false, false);
+ script->set_constant("PETINFO_NAME", PETINFO_NAME, false, false);
+ script->set_constant("PETINFO_INTIMACY", PETINFO_INTIMACY, false, false);
+ script->set_constant("PETINFO_HUNGRY", PETINFO_HUNGRY, false, false);
+ script->set_constant("PETINFO_RENAME", PETINFO_RENAME, false, false);
+ script->set_constant("PETINFO_GID", PETINFO_GID, false, false);
+ script->set_constant("PETINFO_EGGITEM", PETINFO_EGGITEM, false, false);
+ script->set_constant("PETINFO_FOODITEM", PETINFO_FOODITEM, false, false);
+ script->set_constant("PETINFO_ACCESSORYITEM", PETINFO_ACCESSORYITEM, false, false);
+ script->set_constant("PETINFO_ACCESSORYFLAG", PETINFO_ACCESSORYFLAG, false, false);
+ script->set_constant("PETINFO_EVO_EGGID", PETINFO_EVO_EGGID, false, false);
+ script->set_constant("PETINFO_AUTOFEED", PETINFO_AUTOFEED, false, false);
script->constdb_comment("monster skill states");
script->set_constant("MSS_ANY", MSS_ANY, false, false);
@@ -25912,6 +27304,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);
@@ -25930,6 +27323,7 @@ static void script_hardcoded_constants(void)
script->set_constant("QINFO_HOMUN_LEVEL", QINFO_HOMUN_LEVEL, false, false);
script->set_constant("QINFO_HOMUN_TYPE", QINFO_HOMUN_TYPE, false, false);
script->set_constant("QINFO_QUEST", QINFO_QUEST, false, false);
+ script->set_constant("QINFO_MERCENARY_CLASS", QINFO_MERCENARY_CLASS, false, false);
script->constdb_comment("function types");
script->set_constant("FUNCTION_IS_COMMAND", FUNCTION_IS_COMMAND, false, false);
@@ -25937,6 +27331,124 @@ static void script_hardcoded_constants(void)
script->set_constant("FUNCTION_IS_LOCAL", FUNCTION_IS_LOCAL, false, false);
script->set_constant("FUNCTION_IS_LABEL", FUNCTION_IS_LABEL, false, false);
+ script->constdb_comment("item trade restrictions");
+ script->set_constant("ITR_NONE", ITR_NONE, false, false);
+ script->set_constant("ITR_NODROP", ITR_NODROP, false, false);
+ script->set_constant("ITR_NOTRADE", ITR_NOTRADE, false, false);
+ script->set_constant("ITR_PARTNEROVERRIDE", ITR_PARTNEROVERRIDE, false, false);
+ script->set_constant("ITR_NOSELLTONPC", ITR_NOSELLTONPC, false, false);
+ script->set_constant("ITR_NOCART", ITR_NOCART, false, false);
+ script->set_constant("ITR_NOSTORAGE", ITR_NOSTORAGE, false, false);
+ script->set_constant("ITR_NOGSTORAGE", ITR_NOGSTORAGE, false, false);
+ script->set_constant("ITR_NOMAIL", ITR_NOMAIL, false, false);
+ script->set_constant("ITR_NOAUCTION", ITR_NOAUCTION, false, false);
+ script->set_constant("ITR_ALL", ITR_ALL, false, false);
+
+ script->constdb_comment("inventory expand ack responds");
+ script->set_constant("EXPAND_INV_ASK_CONFIRMATION", EXPAND_INVENTORY_ASK_CONFIRMATION, false, false);
+ script->set_constant("EXPAND_INV_FAILED", EXPAND_INVENTORY_FAILED, false, false);
+ script->set_constant("EXPAND_INV_OTHER_WORK", EXPAND_INVENTORY_OTHER_WORK, false, false);
+ script->set_constant("EXPAND_INV_MISSING_ITEM", EXPAND_INVENTORY_MISSING_ITEM, false, false);
+ script->set_constant("EXPAND_INV_MAX_SIZE", EXPAND_INVENTORY_MAX_SIZE, false, false);
+
+ script->constdb_comment("inventory expand final responds");
+ script->set_constant("EXPAND_INV_RESULT_SUCCESS", EXPAND_INVENTORY_RESULT_SUCCESS, false, false);
+ script->set_constant("EXPAND_INV_RESULT_FAILED", EXPAND_INVENTORY_RESULT_FAILED, false, false);
+ script->set_constant("EXPAND_INV_RESULT_OTHER_WORK", EXPAND_INVENTORY_RESULT_OTHER_WORK, false, false);
+ script->set_constant("EXPAND_INV_RESULT_MISSING_ITEM", EXPAND_INVENTORY_RESULT_MISSING_ITEM, false, false);
+ script->set_constant("EXPAND_INV_RESULT_MAX_SIZE", EXPAND_INVENTORY_RESULT_MAX_SIZE, false, false);
+
+ script->constdb_comment("trader type");
+ script->set_constant("NST_ZENY", NST_ZENY, false, false);
+ script->set_constant("NST_CASH", NST_CASH, false, false);
+ script->set_constant("NST_MARKET", NST_MARKET, false, false);
+ script->set_constant("NST_CUSTOM", NST_CUSTOM, false, false);
+ script->set_constant("NST_BARTER", NST_BARTER, false, false);
+
+ script->constdb_comment("script unit data types");
+ script->set_constant("UDT_TYPE", UDT_TYPE, false, false);
+ script->set_constant("UDT_SIZE", UDT_SIZE, false, false);
+ script->set_constant("UDT_LEVEL", UDT_LEVEL, false, false);
+ script->set_constant("UDT_HP", UDT_HP, false, false);
+ script->set_constant("UDT_MAXHP", UDT_MAXHP, false, false);
+ script->set_constant("UDT_SP", UDT_SP, false, false);
+ script->set_constant("UDT_MAXSP", UDT_MAXSP, false, false);
+ script->set_constant("UDT_MASTERAID", UDT_MASTERAID, false, false);
+ script->set_constant("UDT_MASTERCID", UDT_MASTERCID, false, false);
+ script->set_constant("UDT_MAPIDXY", UDT_MAPIDXY, false, true); // for setunitdata use *unitwarp, for getunitdata use *getmapxy
+ script->set_constant("UDT_WALKTOXY", UDT_WALKTOXY, false, true); // use *unitwalk
+ script->set_constant("UDT_SPEED", UDT_SPEED, false, false);
+ script->set_constant("UDT_MODE", UDT_MODE, false, false);
+ script->set_constant("UDT_AI", UDT_AI, false, false);
+ script->set_constant("UDT_SCOPTION", UDT_SCOPTION, false, false);
+ script->set_constant("UDT_SEX", UDT_SEX, false, false);
+ script->set_constant("UDT_CLASS", UDT_CLASS, false, false);
+ script->set_constant("UDT_HAIRSTYLE", UDT_HAIRSTYLE, false, false);
+ script->set_constant("UDT_HAIRCOLOR", UDT_HAIRCOLOR, false, false);
+ script->set_constant("UDT_HEADBOTTOM", UDT_HEADBOTTOM, false, false);
+ script->set_constant("UDT_HEADMIDDLE", UDT_HEADMIDDLE, false, false);
+ script->set_constant("UDT_HEADTOP", UDT_HEADTOP, false, false);
+ script->set_constant("UDT_CLOTHCOLOR", UDT_CLOTHCOLOR, false, false);
+ script->set_constant("UDT_SHIELD", UDT_SHIELD, false, false);
+ script->set_constant("UDT_WEAPON", UDT_WEAPON, false, false);
+ script->set_constant("UDT_LOOKDIR", UDT_LOOKDIR, false, false);
+ script->set_constant("UDT_CANMOVETICK", UDT_CANMOVETICK, false, false);
+ script->set_constant("UDT_STR", UDT_STR, false, false);
+ script->set_constant("UDT_AGI", UDT_AGI, false, false);
+ script->set_constant("UDT_VIT", UDT_VIT, false, false);
+ script->set_constant("UDT_INT", UDT_INT, false, false);
+ script->set_constant("UDT_DEX", UDT_DEX, false, false);
+ script->set_constant("UDT_LUK", UDT_LUK, false, false);
+ script->set_constant("UDT_ATKRANGE", UDT_ATKRANGE, false, false);
+ script->set_constant("UDT_ATKMIN", UDT_ATKMIN, false, false);
+ script->set_constant("UDT_ATKMAX", UDT_ATKMAX, false, false);
+ script->set_constant("UDT_MATKMIN", UDT_MATKMIN, false, false);
+ script->set_constant("UDT_MATKMAX", UDT_MATKMAX, false, false);
+ script->set_constant("UDT_DEF", UDT_DEF, false, false);
+ script->set_constant("UDT_MDEF", UDT_MDEF, false, false);
+ script->set_constant("UDT_HIT", UDT_HIT, false, false);
+ script->set_constant("UDT_FLEE", UDT_FLEE, false, false);
+ script->set_constant("UDT_PDODGE", UDT_PDODGE, false, false);
+ script->set_constant("UDT_CRIT", UDT_CRIT, false, false);
+ script->set_constant("UDT_RACE", UDT_RACE, false, false);
+ script->set_constant("UDT_ELETYPE", UDT_ELETYPE, false, false);
+ script->set_constant("UDT_ELELEVEL", UDT_ELELEVEL, false, false);
+ script->set_constant("UDT_AMOTION", UDT_AMOTION, false, false);
+ script->set_constant("UDT_ADELAY", UDT_ADELAY, false, false);
+ script->set_constant("UDT_DMOTION", UDT_DMOTION, false, false);
+ script->set_constant("UDT_HUNGER", UDT_HUNGER, false, false);
+ script->set_constant("UDT_INTIMACY", UDT_INTIMACY, false, false);
+ script->set_constant("UDT_LIFETIME", UDT_LIFETIME, false, false);
+ script->set_constant("UDT_MERC_KILLCOUNT", UDT_MERC_KILLCOUNT, false, false);
+ script->set_constant("UDT_STATPOINT", UDT_STATPOINT, false, false);
+ script->set_constant("UDT_ROBE", UDT_ROBE, false, false);
+ script->set_constant("UDT_BODY2", UDT_BODY2, false, false);
+ script->set_constant("UDT_GROUP", UDT_GROUP, false, false);
+ script->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("Renewal");
#ifdef RENEWAL
script->set_constant("RENEWAL", 1, false, false);
@@ -25974,7 +27486,6 @@ static void script_hardcoded_constants(void)
script->set_constant("RENEWAL_ASPD", 0, false, false);
#endif
script->constdb_comment(NULL);
-#include "constants.inc"
}
/**
@@ -26286,15 +27797,19 @@ 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;
}
diff --git a/src/map/script.h b/src/map/script.h
index 9c72b793c..7bcb5298c 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -64,6 +64,9 @@ struct item_data;
#define SCRIPT_EQUIP_TABLE_SIZE 20
+#define MAX_MENU_OPTIONS 0xFF
+#define MAX_MENU_LENGTH 0x800
+
//#define SCRIPT_DEBUG_DISP
//#define SCRIPT_DEBUG_DISASM
//#define SCRIPT_DEBUG_HASH
@@ -177,6 +180,8 @@ struct item_data;
#define BUILDIN(x) bool buildin_ ## x (struct script_state* st)
+#define get_buildin_name(st) ( script->get_str((int)(script_getdata((st), 0)->u.num)) )
+
#define script_fetch(st, n, t) do { \
if( script_hasdata((st),(n)) ) \
(t)=script_getnum((st),(n)); \
@@ -338,7 +343,9 @@ enum {
MF_NOAUTOLOOT,
MF_NOVIEWID,
MF_PAIRSHIP_STARTABLE,
- MF_PAIRSHIP_ENDABLE
+ MF_PAIRSHIP_ENDABLE,
+ MF_NOSTORAGE,
+ MF_NOGSTORAGE
};
enum navigation_service {
@@ -426,6 +433,8 @@ enum script_unit_data_types {
UDT_STATPOINT,
UDT_ROBE,
UDT_BODY2,
+ UDT_GROUP,
+ UDT_DAMAGE_TAKEN_RATE,
UDT_MAX
};
@@ -450,24 +459,97 @@ enum script_iteminfo_types {
ITEMINFO_VIEWID,
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_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
};
/**
@@ -958,16 +1040,20 @@ 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);
};
#ifdef HERCULES_CORE
diff --git a/src/map/searchstore.c b/src/map/searchstore.c
index 0c6fa3555..c991e38c4 100644
--- a/src/map/searchstore.c
+++ b/src/map/searchstore.c
@@ -345,7 +345,7 @@ static void searchstore_clearremote(struct map_session_data *sd)
}
/// receives results from a store-specific callback
-static bool searchstore_result(struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine, const struct item_option *option)
+static bool searchstore_result(struct map_session_data *sd, unsigned int store_id, int account_id, const char *store_name, int nameid, unsigned short amount, unsigned int price, const int *card, unsigned char refine_level, const struct item_option *option)
{
struct s_search_store_info_item* ssitem;
@@ -364,7 +364,7 @@ static bool searchstore_result(struct map_session_data *sd, unsigned int store_i
ssitem->amount = amount;
ssitem->price = price;
memcpy(ssitem->card, card, sizeof(ssitem->card));
- ssitem->refine = refine;
+ ssitem->refine = refine_level;
memcpy(ssitem->option, option, sizeof(ssitem->option));
return true;
diff --git a/src/map/searchstore.h b/src/map/searchstore.h
index e5ccfd300..71d562679 100644
--- a/src/map/searchstore.h
+++ b/src/map/searchstore.h
@@ -109,7 +109,7 @@ struct searchstore_interface {
void (*click) (struct map_session_data* sd, int account_id, int store_id, int nameid);
bool (*queryremote) (struct map_session_data* sd, int account_id);
void (*clearremote) (struct map_session_data* sd);
- bool (*result) (struct map_session_data* sd, unsigned int store_id, int account_id, const char* store_name, int nameid, unsigned short amount, unsigned int price, const int* card, unsigned char refine, const struct item_option *option);
+ bool (*result) (struct map_session_data* sd, unsigned int store_id, int account_id, const char* store_name, int nameid, unsigned short amount, unsigned int price, const int* card, unsigned char refine_level, const struct item_option *option);
};
#ifdef HERCULES_CORE
diff --git a/src/map/skill.c b/src/map/skill.c
index 4eaab5457..c19a684af 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -44,6 +44,7 @@
#include "map/path.h"
#include "map/pc.h"
#include "map/pet.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/status.h"
#include "map/unit.h"
@@ -81,7 +82,7 @@
#endif
static struct skill_interface skill_s;
-struct s_skill_dbs skilldbs;
+static struct s_skill_dbs skilldbs;
struct skill_interface *skill;
@@ -2042,7 +2043,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);
}
}
}
@@ -2128,7 +2129,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);
}
}
}
@@ -2361,11 +2362,11 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
) {
// Soul Drain should only work on targeted spells [Skotlex]
if( pc_issit(sd) ) pc->setstand(sd); // Character stuck in attacking animation while 'sitting' fix. [Skotlex]
- if( skill->get_nk(skill_id)&NK_SPLASH && skill->area_temp[1] != bl->id )
+ if (skill->get_nk(skill_id)&NK_SPLASH && skill->area_temp[1] != bl->id) {
;
- else {
+ } else {
clif->skill_nodamage(src,bl,HW_SOULDRAIN,rate,1);
- status->heal(src, 0, status->get_lv(bl)*(95+15*rate)/100, 2);
+ status->heal(src, 0, status->get_lv(bl)*(95+15*rate)/100, STATUS_HEAL_SHOWEFFECT);
}
}
@@ -2388,9 +2389,9 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
sc->data[SC_SOULLINK]->val3 = 0; //Clear bounced spell check.
}
}
- if( hp || sp ) {
+ if (hp != 0 || sp != 0) {
// updated to force healing to allow healing through berserk
- status->heal(src, hp, sp, battle_config.show_hp_sp_gain ? 3 : 1);
+ status->heal(src, hp, sp, STATUS_HEAL_FORCED | (battle_config.show_hp_sp_gain ? STATUS_HEAL_SHOWEFFECT : STATUS_HEAL_DEFAULT));
}
}
@@ -2469,7 +2470,7 @@ 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);
}
}
}
@@ -2892,14 +2893,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
- status->heal(bl, 0, sp, 2);
+ if (skill_id == WZ_WATERBALL && skill_lv > 1)
+ sp = sp / ((skill_lv | 1) * (skill_lv | 1)); //Estimate SP cost of a single water-ball
+ status->heal(bl, 0, sp, STATUS_HEAL_SHOWEFFECT);
+ if (battle->bc->magicrod_type == 1)
+ clif->skill_nodamage(bl, bl, SA_MAGICROD, sc->data[SC_MAGICROD]->val1, 1); // Animation used here in eAthena [Wolfie]
+ }
+ }
+
+ 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);
+ }
}
}
@@ -3774,7 +3789,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;
}
}
@@ -4138,7 +4153,7 @@ static int skill_activate_reverberation(struct block_list *bl, va_list ap)
if( su->alive && (sg = su->group) != NULL && sg->skill_id == WM_REVERBERATION && sg->unit_id == UNT_REVERBERATION ) {
int64 tick = timer->gettick();
clif->changetraplook(bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash, bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, bl, tick);
+ skill->trap_do_splash(bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
su->limit = DIFF_TICK32(tick,sg->tick)+1500;
sg->unit_id = UNT_USED_TRAPS;
}
@@ -4153,10 +4168,9 @@ static int skill_reveal_trap(struct block_list *bl, va_list ap)
Assert_ret(bl->type == BL_SKILL);
su = BL_UCAST(BL_SKILL, bl);
- if (su->alive && su->group && skill->get_inf2(su->group->skill_id)&INF2_TRAP) { //Reveal trap.
- //Change look is not good enough, the client ignores it as an actual trap still. [Skotlex]
- //clif->changetraplook(bl, su->group->unit_id);
- clif->getareachar_skillunit(&su->bl,su,AREA);
+ if (su->alive && su->group && skill->get_inf2(su->group->skill_id) & INF2_HIDDEN_TRAP) { //Reveal trap.
+ su->visible = true;
+ clif->skillunit_update(bl);
return 1;
}
return 0;
@@ -4477,7 +4491,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
if( skill_id == MO_EXTREMITYFIST ) {
mbl = src;
i = 3; // for Asura(from caster)
- status->set_sp(src, 0, 0);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
#ifdef RENEWAL
@@ -4487,9 +4501,9 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
status_change_end(src, SC_NJ_NEN, INVALID_TIMER);
status_change_end(src, SC_HIDING, INVALID_TIMER);
#ifdef RENEWAL
- status->set_hp(src, max(status_get_max_hp(src)/100, 1), 0);
+ status->set_hp(src, max(status_get_max_hp(src)/100, 1), STATUS_HEAL_DEFAULT);
#else // not RENEWAL
- status->set_hp(src, 1, 0);
+ status->set_hp(src, 1, STATUS_HEAL_DEFAULT);
#endif // RENEWAL
}
dir = map->calc_dir(src,bl->x,bl->y);
@@ -4603,7 +4617,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
heal = skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, sflag);
if (skill_id == NPC_VAMPIRE_GIFT && heal > 0) {
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
- status->heal(src,heal,0,0);
+ status->heal(src, heal, 0, STATUS_HEAL_DEFAULT);
}
if (skill_id == SU_SCRATCH && status->get_lv(src) >= 30 && (rnd() % 100 < (int)(status->get_lv(src) / 30) + 10)) // TODO: Need activation chance.
skill->addtimerskill(src, tick + skill->get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
@@ -4971,7 +4985,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
src, src, bl, skill_id, skill_lv, tick, flag);
if (heal > 0){
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
- status->heal(src, heal, 0, 0);
+ status->heal(src, heal, 0, STATUS_HEAL_DEFAULT);
}
}
break;
@@ -5082,7 +5096,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
heal = 0; // Don't absorb heal from Ice Walls or other skill units.
if( heal && rnd()%100 < rate ) {
- status->heal(src, heal, 0, 0);
+ status->heal(src, heal, 0, STATUS_HEAL_DEFAULT);
clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
}
}
@@ -5154,7 +5168,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++) {
@@ -5768,7 +5782,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 )
@@ -5843,7 +5857,7 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
//When Asura fails... (except when it fails from Fog of Wall)
//Consume SP/spheres
skill->consume_requirement(sd,ud->skill_id, ud->skill_lv,1);
- status->set_sp(src, 0, 0);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
sc = &sd->sc;
if (sc->count) {
//End states
@@ -6126,7 +6140,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage (src, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal && skill_id != HLIF_HEAL )
heal = ~heal + 1;
- heal_get_jobexp = status->heal(bl,heal,0,0);
+ heal_get_jobexp = status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
if(sd && dstsd && heal > 0 && sd != dstsd && battle_config.heal_exp > 0){
heal_get_jobexp = heal_get_jobexp * battle_config.heal_exp / 100;
@@ -6159,8 +6173,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->updatestatus(sd,SP_BASEEXP);
clif->updatestatus(sd,SP_JOBEXP);
}
- status->set_hp(src, 1, 0);
- status->set_sp(src, 0, 0);
+ status->set_hp(src, 1, STATUS_HEAL_DEFAULT);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
break;
} else if (status->isdead(bl) && flag&1) { //Revive
skill->area_temp[0]++; //Count it in, then fall-through to the Resurrection code.
@@ -6333,7 +6347,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
break;
case SA_INSTANTDEATH:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
- status->set_hp(bl,1,0);
+ status->set_hp(bl, 1, STATUS_HEAL_DEFAULT);
break;
case SA_QUESTION:
case SA_GRAVITY:
@@ -6516,10 +6530,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:
@@ -6911,7 +6921,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if (dstsd && dstsd->charm_type != CHARM_TYPE_NONE && dstsd->charm_count > 0) {
pc->del_charm(dstsd, dstsd->charm_count, dstsd->charm_type);
}
- if (sp) status->heal(src, 0, sp, 3);
+ if (sp != 0)
+ status->heal(src, 0, sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,bl,skill_id,skill_lv,sp?1:0);
}
break;
@@ -7190,7 +7201,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;
@@ -7273,7 +7284,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case NV_FIRSTAID:
clif->skill_nodamage(src,bl,skill_id,5,1);
- status->heal(bl,5,0,0);
+ status->heal(bl, 5, 0, STATUS_HEAL_DEFAULT);
break;
case AL_CURE:
@@ -7350,7 +7361,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case MER_SCAPEGOAT:
if( mer && mer->master ) {
- status->heal(&mer->master->bl, mer->battle_status.hp, 0, 2);
+ status->heal(&mer->master->bl, mer->battle_status.hp, 0, STATUS_HEAL_SHOWEFFECT);
status->damage(src, src, mer->battle_status.max_hp, 0, 0, 1);
}
break;
@@ -7667,7 +7678,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if( tsc && tsc->data[SC_EXTREMITYFIST2] )
sp = 0;
#endif
- status->heal(bl,(int)hp,sp,0);
+ status->heal(bl, (int)hp, sp, STATUS_HEAL_DEFAULT);
}
break;
case AM_CP_WEAPON:
@@ -7842,7 +7853,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
sp = skill->get_sp(skill_id,skill_lv);
sp = sp * tsc->data[SC_MAGICROD]->val2 / 100;
if(sp < 1) sp = 1;
- status->heal(bl,0,sp,2);
+ status->heal(bl, 0, sp, STATUS_HEAL_SHOWEFFECT);
status_percent_damage(bl, src, 0, -20, false); //20% max SP damage.
} else {
struct unit_data *ud = unit->bl2ud(bl);
@@ -7874,14 +7885,15 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if (sp) //Recover some of the SP used
sp = sp*(25*(skill_lv-1))/100;
- if(hp || sp)
- status->heal(src, hp, sp, 2);
+ if (hp != 0 || sp != 0)
+ status->heal(src, hp, sp, STATUS_HEAL_SHOWEFFECT);
}
}
break;
case SA_MAGICROD:
- clif->skill_nodamage(src,src,SA_MAGICROD,skill_lv,1);
- sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
+ if (battle->bc->magicrod_type == 0)
+ clif->skill_nodamage(src, src, SA_MAGICROD, skill_lv, 1); // Animation used here in official [Wolfie]
+ sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv));
break;
case SA_AUTOSPELL:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
@@ -8118,14 +8130,14 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
{
int hp_rate = skill_lv == 0 ? 0 : skill->get_hp_rate(skill_id, skill_lv);
int gain_hp = tstatus->max_hp*abs(hp_rate)/100; // The earned is the same % of the target HP than it cost the caster. [Skotlex]
- clif->skill_nodamage(src,bl,skill_id,status->heal(bl, gain_hp, 0, 0),1);
+ clif->skill_nodamage(src, bl, skill_id, status->heal(bl, gain_hp, 0, STATUS_HEAL_DEFAULT), 1);
}
break;
case WE_FEMALE:
{
int sp_rate = skill_lv == 0 ? 0 : skill->get_sp_rate(skill_id, skill_lv);
int gain_sp = tstatus->max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it cost the caster. [Skotlex]
- clif->skill_nodamage(src,bl,skill_id,status->heal(bl, 0, gain_sp, 0),1);
+ clif->skill_nodamage(src, bl, skill_id, status->heal(bl, 0, gain_sp, STATUS_HEAL_DEFAULT), 1);
}
break;
@@ -8165,7 +8177,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
break;
}
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
- status->heal(bl,0,sp,2);
+ status->heal(bl, 0, sp, STATUS_HEAL_SHOWEFFECT);
}
break;
@@ -8320,7 +8332,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
dstmd->state.soul_change_flag = 1;
sp2 = sstatus->max_sp * 3 /100;
- status->heal(src, 0, sp2, 2);
+ status->heal(src, 0, sp2, STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
}
@@ -8332,8 +8344,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if( tsc && tsc->data[SC_EXTREMITYFIST2] )
sp1 = tstatus->sp;
#endif // RENEWAL
- status->set_sp(src, sp2, 3);
- status->set_sp(bl, sp1, 3);
+ status->set_sp(src, sp2, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
+ status->set_sp(bl, sp1, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8371,7 +8383,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage(NULL,bl,AL_HEAL,hp,1);
if(sp > 0)
clif->skill_nodamage(NULL,bl,MG_SRECOVERY,sp,1);
- status->heal(bl,hp,sp,0);
+ status->heal(bl, hp, sp, STATUS_HEAL_DEFAULT);
}
break;
// Full Chemical Protection
@@ -8451,7 +8463,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);
}
}
@@ -8460,7 +8472,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
sc_start(src,bl,SC_INCATKRATE,100,-50,skill->get_time2(skill_id,skill_lv));
break;
case 5: // 2000HP heal, random teleported
- status->heal(src, 2000, 0, 0);
+ status->heal(src, 2000, 0, STATUS_HEAL_DEFAULT);
if( !map_flag_vs(bl->m) )
unit->warp(bl, -1,-1,-1, CLR_TELEPORT);
break;
@@ -8694,7 +8706,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);
@@ -8742,19 +8754,27 @@ 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);
//Eh? why double skill packet?
clif->skill_nodamage(src,bl,AL_HEAL,hp,1);
clif->skill_nodamage(src,bl,skill_id,hp,1);
- status->heal(bl, hp, 0, 0);
+ status->heal(bl, hp, 0, STATUS_HEAL_DEFAULT);
}
break;
// Homun single-target support skills [orn]
@@ -8901,7 +8921,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
int heal = status_get_max_hp(bl) * 25 / 100;
clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
- status->heal(bl,heal,0,1);
+ status->heal(bl, heal, 0, STATUS_HEAL_FORCED);
status->change_clear_buffs(bl,4);
}
break;
@@ -8955,7 +8975,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
value = status_get_max_hp(bl) * 25 / 100;
status->change_clear_buffs(bl,4);
skill->area_temp[5] &= ~0x20;
- status->heal(bl,value,0,1);
+ status->heal(bl, value, 0, STATUS_HEAL_FORCED);
type = SC_REFRESH;
}else if( skill->area_temp[5]&0x40 ){
skill->area_temp[5] &= ~0x40;
@@ -9140,7 +9160,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage(bl, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal )
heal = ~heal + 1;
- status->heal(bl, heal, 0, 1);
+ status->heal(bl, heal, 0, STATUS_HEAL_FORCED);
}
} else if( sd )
party->foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
@@ -9416,7 +9436,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
pc->setmadogear(sd, false);
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill->castend_damage_id(src, src, skill_id, skill_lv, tick, flag);
- status->set_sp(src, 0, 0);
+ status->set_sp(src, 0, STATUS_HEAL_DEFAULT);
}
break;
@@ -9455,7 +9475,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case 5: hp = 23; break;
}
heal = tstatus->max_hp * hp / 100;
- status->heal(bl,heal,0,2);
+ status->heal(bl, heal, 0, STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src, bl, skill_id, skill_lv, heal);
}
break;
@@ -9533,7 +9553,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
int sp = 100 * skill_lv;
if( dstmd ) sp = dstmd->level * 2;
if( status_zap(bl,0,sp) )
- status->heal(src,0,sp/2,3);//What does flag 3 do? [Rytech]
+ status->heal(src, 0, sp / 2, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
}
if ( tsc && tsc->data[SC__UNLUCKY] && skill_id == SC_UNLUCKY) {
//If the target was successfully inflected with the Unlucky status, give 1 of 3 random status's.
@@ -9657,7 +9677,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case 3:
sc_start(src, bl, SC_SHIELDSPELL_REF, 100, opt, INFINITE_DURATION); // HP Recovery
val = sstatus->max_hp * ((status->get_lv(src) / 10) + (shield->refine + 1)) / 100;
- status->heal(bl, val, 0, 2);
+ status->heal(bl, val, 0, STATUS_HEAL_SHOWEFFECT);
status_change_end(bl,SC_SHIELDSPELL_REF,INVALID_TIMER);
break;
}
@@ -9800,7 +9820,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
heal = 120 * skill_lv + status_get_max_hp(bl) * (2 + skill_lv) / 100;
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
if( (tsc && tsc->opt1) && (rnd()%100 < ((skill_lv * 5) + (status_get_dex(src) + status->get_lv(src)) / 4) - (1 + (rnd() % 10))) ) {
status_change_end(bl, SC_STONE, INVALID_TIMER);
@@ -9871,7 +9891,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
heal = 1;
status->fixed_revive(bl, heal, 0);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
- status->set_sp(bl, 0, 0);
+ status->set_sp(bl, 0, STATUS_HEAL_DEFAULT);
}
}
break;
@@ -10208,7 +10228,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
e_hp = ed->battle_status.max_hp * 10 / 100;
e_sp = ed->battle_status.max_sp * 10 / 100;
- status->heal(&ed->bl,e_hp,e_sp,3);
+ status->heal(&ed->bl, e_hp, e_sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
clif->skill_nodamage(src,&ed->bl,skill_id,skill_lv,1);
}
break;
@@ -10518,7 +10538,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
}
heal = 5 * status->get_lv(&hd->bl) + status->base_matk(&hd->bl, &hd->battle_status, status->get_lv(&hd->bl));
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
clif->skill_nodamage(src, src, skill_id, skill_lv, clif->skill_nodamage(src, bl, AL_HEAL, heal, 1));
status->change_start(src, src, type, 1000, skill_lv, 0, 0, 0, skill->get_time(skill_id,skill_lv), SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE);
status->change_start(src, bl, type, 1000, skill_lv, 0, 0, 0, skill->get_time(skill_id,skill_lv), SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE);
@@ -10763,7 +10783,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) {
@@ -11040,9 +11060,10 @@ static int skill_castend_pos2(struct block_list *src, int x, int y, uint16 skill
map->foreachinarea(status->change_timer_sub,
src->m, x-r, y-r, x+r,y+r,BL_CHAR,
src,NULL,SC_SIGHT,tick);
- if(battle_config.traps_setting&1)
- map->foreachinarea(skill_reveal_trap,
- src->m, x-r, y-r, x+r, y+r, BL_SKILL);
+ if (battle_config.trap_visibility != 0) {
+ map->foreachinarea(skill_reveal_trap,
+ src->m, x - r, y - r, x + r, y + r, BL_SKILL);
+ }
break;
case SR_RIDEINLIGHTNING:
@@ -12644,7 +12665,7 @@ static int skill_unit_onplace(struct skill_unit *src, struct block_list *bl, int
if (sg->src_id == bl->id)
break; //Does not affect the caster.
clif->changetraplook(&src->bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->unit_id = UNT_USED_TRAPS;
sg->limit = DIFF_TICK32(tick,sg->tick) + 1500;
break;
@@ -12759,6 +12780,13 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
ts->tick += sg->interval*(map->count_oncell(bl->m,bl->x,bl->y,BL_CHAR,0)-1);
}
+ if (sg->skill_id == HT_ANKLESNARE
+ || (battle_config.trap_trigger == 1 && skill->get_inf2(sg->skill_id) & INF2_HIDDEN_TRAP)
+ ) {
+ src->visible = true;
+ clif->skillunit_update(&src->bl);
+ }
+
switch (sg->unit_id) {
case UNT_FIREWALL:
case UNT_KAEN: {
@@ -12800,7 +12828,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
if (tsc && tsc->data[SC_AKAITSUKI] && heal)
heal = ~heal + 1;
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
if (diff >= 500)
sg->val1--;
}
@@ -12821,7 +12849,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
if (status->isimmune(bl))
heal = 0;
clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
}
break;
@@ -12911,10 +12939,11 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
clif->fixpos(bl);
}
sg->val2 = bl->id;
- } else
+ } else {
sec = 3000; //Couldn't trap it?
+ }
+
if( sg->unit_id == UNT_ANKLESNARE ) {
- clif->skillunit_update(&src->bl);
/**
* If you're snared from a trap that was invisible this makes the trap be
* visible again -- being you stepped on it (w/o this the trap remains invisible and you go "WTF WHY I CANT MOVE")
@@ -12938,7 +12967,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
}
- map->foreachinrange(skill->trap_splash, &src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl, tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again.
}
break;
@@ -12969,10 +12998,10 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case UNT_FREEZINGTRAP:
case UNT_FIREPILLAR_ACTIVE:
case UNT_CLAYMORETRAP:
- if( sg->unit_id == UNT_FIRINGTRAP || sg->unit_id == UNT_ICEBOUNDTRAP || sg->unit_id == UNT_CLAYMORETRAP )
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag|BL_SKILL|~BCT_SELF, &src->bl,tick);
+ if (sg->unit_id == UNT_FIRINGTRAP || sg->unit_id == UNT_ICEBOUNDTRAP || sg->unit_id == UNT_CLAYMORETRAP)
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag | BL_SKILL | ~BCT_SELF, tick);
else
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
if (sg->unit_id != UNT_FIREPILLAR_ACTIVE)
clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
sg->limit=DIFF_TICK32(tick,sg->tick)+1500 +
@@ -13032,7 +13061,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
if( tsc && tsc->data[SC_AKAITSUKI] && heal )
heal = ~heal + 1;
clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
- status->heal(bl, heal, 0, 0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
}
}
break;
@@ -13086,7 +13115,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case 0: // Heal 1~9999 HP
heal = rnd() %9999+1;
clif->skill_nodamage(ss,bl,AL_HEAL,heal,1);
- status->heal(bl,heal,0,0);
+ status->heal(bl, heal, 0, STATUS_HEAL_DEFAULT);
break;
case 1: // End all negative status
status->change_clear_buffs(bl,2);
@@ -13203,9 +13232,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case UNT_GROUNDDRIFT_POISON:
case UNT_GROUNDDRIFT_WATER:
case UNT_GROUNDDRIFT_FIRE:
- map->foreachinrange(skill->trap_splash,&src->bl,
- skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag,
- &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->unit_id = UNT_USED_TRAPS;
//clif->changetraplook(&src->bl, UNT_FIREPILLAR_ACTIVE);
sg->limit=DIFF_TICK32(tick,sg->tick)+1500;
@@ -13233,7 +13260,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
}
hp = tstatus->max_hp * hp / 100;
sp = tstatus->max_sp * sp / 100;
- status->heal(bl, hp, sp, 2);
+ status->heal(bl, hp, sp, STATUS_HEAL_SHOWEFFECT);
sc_start(ss, bl, type, 100, sg->skill_lv, (sg->interval * 3) + 100);
}
// Reveal hidden players every 5 seconds.
@@ -13266,7 +13293,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
case UNT_REVERBERATION:
clif->changetraplook(&src->bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
+ skill->trap_do_splash(&src->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
sg->limit = DIFF_TICK32(tick,sg->tick)+1500;
sg->unit_id = UNT_USED_TRAPS;
break;
@@ -13355,7 +13382,7 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
if( tsc && tsc->data[SC_AKAITSUKI] && hp )
hp = ~hp + 1;
- status->heal(bl, hp, 0, 0);
+ status->heal(bl, hp, 0, STATUS_HEAL_DEFAULT);
sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100);
}
break;
@@ -13369,13 +13396,13 @@ static int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *b
int hp = tstatus->max_hp / 100; //+1% each 5s
if ((sg->val3) % 5) { //each 5s
if (tstatus->def_ele == skill->get_ele(sg->skill_id,sg->skill_lv)) {
- status->heal(bl, hp, 0, 2);
+ status->heal(bl, hp, 0, STATUS_HEAL_SHOWEFFECT);
} else if( (sg->unit_id == UNT_FIRE_INSIGNIA && tstatus->def_ele == ELE_EARTH)
|| (sg->unit_id == UNT_WATER_INSIGNIA && tstatus->def_ele == ELE_FIRE)
|| (sg->unit_id == UNT_WIND_INSIGNIA && tstatus->def_ele == ELE_WATER)
|| (sg->unit_id == UNT_EARTH_INSIGNIA && tstatus->def_ele == ELE_WIND)
) {
- status->heal(bl, -hp, 0, 0);
+ status->heal(bl, -hp, 0, STATUS_HEAL_DEFAULT);
}
}
sg->val3++; //timer
@@ -13935,27 +13962,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;
}
@@ -14491,8 +14500,8 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
**/
case AB_ANCILLA:
{
- int count = 0, i;
- for( i = 0; i < MAX_INVENTORY; i ++ )
+ int count = 0;
+ for (int i = 0; i < sd->status.inventorySize; i ++)
if (sd->status.inventory[i].nameid == ITEMID_ANSILA)
count += sd->status.inventory[i].amount;
if( count >= 3 ) {
@@ -14646,7 +14655,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;
}
@@ -15093,7 +15102,7 @@ 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));
@@ -16110,7 +16119,7 @@ static void skill_repairweapon(struct map_session_data *sd, int idx)
if (idx == 0xFFFF || idx == -1) // No item selected ('Cancel' clicked)
return;
- if( idx < 0 || idx >= MAX_INVENTORY )
+ if (idx < 0 || idx >= sd->status.inventorySize)
return; //Invalid index??
item = &target_sd->status.inventory[idx];
@@ -16158,7 +16167,7 @@ static void skill_identify(struct map_session_data *sd, int idx)
nullpo_retv(sd);
sd->state.workinprogress = 0;
- if(idx >= 0 && idx < MAX_INVENTORY) {
+ if (idx >= 0 && idx < sd->status.inventorySize) {
if(sd->status.inventory[idx].nameid > 0 && sd->status.inventory[idx].identify == 0 ){
flag=0;
sd->status.inventory[idx].identify=1;
@@ -16174,7 +16183,7 @@ static void skill_weaponrefine(struct map_session_data *sd, int idx)
{
nullpo_retv(sd);
- if (idx >= 0 && idx < MAX_INVENTORY) {
+ if (idx >= 0 && idx < sd->status.inventorySize) {
struct item *item;
struct item_data *ditem = sd->inventory_data[idx];
item = &sd->status.inventory[idx];
@@ -16202,7 +16211,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)
@@ -16386,9 +16395,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;
@@ -16630,10 +16639,10 @@ static int skill_detonator(struct block_list *bl, va_list ap)
case UNT_CLAYMORETRAP:
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
- map->foreachinrange(skill->trap_splash,bl,skill->get_splash(su->group->skill_id,su->group->skill_lv),su->group->bl_flag|BL_SKILL|~BCT_SELF,bl,su->group->tick);
+ skill->trap_do_splash(bl, su->group->skill_id, su->group->skill_lv, su->group->bl_flag | BL_SKILL | ~BCT_SELF, su->group->tick);
break;
default:
- map->foreachinrange(skill->trap_splash,bl,skill->get_splash(su->group->skill_id,su->group->skill_lv),su->group->bl_flag,bl,su->group->tick);
+ skill->trap_do_splash(bl, su->group->skill_id, su->group->skill_lv, su->group->bl_flag, su->group->tick);
}
clif->changetraplook(bl, UNT_USED_TRAPS);
su->group->limit = DIFF_TICK32(timer->gettick(),su->group->tick) +
@@ -16766,6 +16775,27 @@ static int skill_chastle_mob_changetarget(struct block_list *bl, va_list ap)
return 0;
}
+/**
+ * Does final adjustments (e.g. count enemies affected by splash) then runs trap splash function (skill_trap_splash).
+ *
+ * @param bl : trap skill unit's bl
+ * @param skill_id : Trap Skill ID
+ * @param skill_lv : Trap Skill Level
+ * @param bl_flag : Flag representing units affected by this trap
+ * @param tick : tick related to this trap
+ */
+static void skill_trap_do_splash(struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick)
+{
+ int enemy_count = 0;
+
+ if (skill->get_nk(skill_id) & NK_SPLASHSPLIT) {
+ enemy_count = map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR, bl, skill_id, skill_lv, tick, BCT_ENEMY, skill->area_sub_count);
+ enemy_count = max(1, enemy_count); // Don't let enemy_count be 0 when spliting trap damage
+ }
+
+ map->foreachinrange(skill->trap_splash, bl, skill->get_splash(skill_id, skill_lv), bl_flag, bl, tick, enemy_count);
+}
+
/*==========================================
*
*------------------------------------------*/
@@ -16776,6 +16806,7 @@ static int skill_trap_splash(struct block_list *bl, va_list ap)
struct skill_unit *src_su = NULL;
struct skill_unit_group *sg;
struct block_list *ss;
+ int enemy_count = va_arg(ap, int);
nullpo_ret(bl);
nullpo_ret(src);
@@ -16870,7 +16901,7 @@ static int skill_trap_splash(struct block_list *bl, va_list ap)
}
/* Fall through */
default:
- skill->attack(skill->get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,0);
+ skill->attack(skill->get_type(sg->skill_id), ss, src, bl, sg->skill_id, sg->skill_lv, tick, enemy_count);
break;
}
return 1;
@@ -17051,6 +17082,14 @@ static struct skill_unit *skill_initunit(struct skill_unit_group *group, int idx
su->val1=val1;
su->val2 = val2;
su->prev = 0;
+ su->visible = true;
+
+ if (skill->get_inf2(group->skill_id) & INF2_HIDDEN_TRAP
+ && ((battle_config.trap_visibility == 1 && map_flag_vs(group->map)) // invisible in PvP/GvG
+ || battle_config.trap_visibility == 2 // always invisible
+ )) {
+ su->visible = false;
+ }
idb_put(skill->unit_db, su->bl.id, su);
map->addiddb(&su->bl);
@@ -17585,7 +17624,7 @@ static int skill_unit_timer_sub(union DBKey key, struct DBData *data, va_list ap
break;
}
clif->changetraplook(bl,UNT_USED_TRAPS);
- map->foreachinrange(skill->trap_splash, bl, skill->get_splash(group->skill_id, group->skill_lv), group->bl_flag, bl, tick);
+ skill->trap_do_splash(bl, group->skill_id, group->skill_lv, group->bl_flag, tick);
group->limit = DIFF_TICK32(tick,group->tick)+1500;
su->limit = DIFF_TICK32(tick,group->tick)+1500;
group->unit_id = UNT_USED_TRAPS;
@@ -17971,8 +18010,8 @@ static int skill_can_produce_mix(struct map_session_data *sd, int nameid, int tr
if (pc->search_inventory(sd,id) == INDEX_NOT_FOUND)
return 0;
} else {
- int x, y;
- for(y=0,x=0;y<MAX_INVENTORY;y++)
+ int x = 0;
+ for (int y = 0; y < sd->status.inventorySize; y++)
if( sd->status.inventory[y].nameid == id )
x+=sd->status.inventory[y].amount;
if(x<qty*skill->dbs->produce_db[i].mat_amount[j])
@@ -18043,7 +18082,7 @@ static int skill_produce_mix(struct map_session_data *sd, uint16 skill_id, int n
else temp_qty = 1;
if (data->stack.inventory) {
- for( i = 0; i < MAX_INVENTORY; i++ ) {
+ for (i = 0; i < sd->status.inventorySize; i++ ) {
if( sd->status.inventory[i].nameid == nameid ) {
if( sd->status.inventory[i].amount >= data->stack.amount ) {
#if PACKETVER >= 20090729
@@ -18851,7 +18890,7 @@ static int skill_elementalanalysis(struct map_session_data *sd, uint16 skill_lv,
del_amount -= (del_amount % 10);
add_amount = (skill_lv == 1) ? del_amount * (5 + rnd()%5) : del_amount / 10 ;
- if (idx < 0 || idx >= MAX_INVENTORY
+ if (idx < 0 || idx >= sd->status.inventorySize
|| (nameid = sd->status.inventory[idx].nameid) <= 0
|| del_amount < 0 || del_amount > sd->status.inventory[idx].amount) {
clif->skill_fail(sd, SO_EL_ANALYSIS, USESKILL_FAIL_LEVEL, 0, 0);
@@ -18922,7 +18961,7 @@ static int skill_changematerial(struct map_session_data *sd, const struct itemli
for (k = 0; k < VECTOR_LENGTH(*item_list); k++) {
const struct itemlist_entry *entry = &VECTOR_INDEX(*item_list, k);
int idx = entry->id;
- Assert_ret(idx >= 0 && idx < MAX_INVENTORY);
+ Assert_ret(idx >= 0 && idx < sd->status.inventorySize);
amount = entry->amount;
nameid = sd->status.inventory[idx].nameid;
if (nameid > 0 && sd->status.inventory[idx].identify == 0) {
@@ -18973,7 +19012,7 @@ static int skill_destroy_trap(struct block_list *bl, va_list ap)
case UNT_CLAYMORETRAP:
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
- map->foreachinrange(skill->trap_splash,&su->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag|BL_SKILL|~BCT_SELF, &su->bl,tick);
+ skill->trap_do_splash(&su->bl, sg->skill_id, sg->skill_lv, sg->bl_flag | BL_SKILL | ~BCT_SELF, tick);
break;
case UNT_LANDMINE:
case UNT_BLASTMINE:
@@ -18982,7 +19021,7 @@ static int skill_destroy_trap(struct block_list *bl, va_list ap)
case UNT_FLASHER:
case UNT_FREEZINGTRAP:
case UNT_CLUSTERBOMB:
- map->foreachinrange(skill->trap_splash,&su->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &su->bl,tick);
+ skill->trap_do_splash(&su->bl, sg->skill_id, sg->skill_lv, sg->bl_flag, tick);
break;
}
// Traps aren't recovered.
@@ -19719,23 +19758,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;
}
}
@@ -20216,6 +20255,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);
}
@@ -21046,7 +21097,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.
@@ -21578,6 +21629,7 @@ void skill_defaults(void)
skill->onskillusage = skill_onskillusage;
skill->cell_overlap = skill_cell_overlap;
skill->timerskill = skill_timerskill;
+ skill->trap_do_splash = skill_trap_do_splash;
skill->trap_splash = skill_trap_splash;
skill->check_condition_mercenary = skill_check_condition_mercenary;
skill->locate_element_field = skill_locate_element_field;
diff --git a/src/map/skill.h b/src/map/skill.h
index 97134224e..fe5cb6282 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -124,6 +124,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
};
@@ -1806,6 +1808,7 @@ struct skill_unit {
int limit;
int val1,val2;
+ bool visible;
short alive,range;
int prev;
};
@@ -2059,6 +2062,7 @@ struct skill_interface {
int (*onskillusage) (struct map_session_data *sd, struct block_list *bl, uint16 skill_id, int64 tick);
int (*cell_overlap) (struct block_list *bl, va_list ap);
int (*timerskill) (int tid, int64 tick, int id, intptr_t data);
+ void (*trap_do_splash) (struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick);
int (*trap_splash) (struct block_list *bl, va_list ap);
int (*check_condition_mercenary) (struct block_list *bl, int skill_id, int lv, int type);
struct skill_unit_group *(*locate_element_field) (struct block_list *bl);
diff --git a/src/map/status.c b/src/map/status.c
index 2bd3700b3..98cb7d4e0 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -38,6 +38,7 @@
#include "map/path.h"
#include "map/pc.h"
#include "map/pet.h"
+#include "map/refine.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/skill.h"
@@ -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,7 +798,7 @@ 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,
@@ -812,220 +817,6 @@ static void initChangeTables(void)
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;
-
// Other SC which are not necessarily associated to skills.
status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION1] |= SCB_ASPD;
status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION2] |= SCB_ASPD;
@@ -1205,8 +996,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
}
@@ -1240,10 +1029,15 @@ static void status_copy(struct status_data *a, const struct status_data *b)
memcpy((void*)&a->max_hp, (const void*)&b->max_hp, sizeof(struct status_data)-(sizeof(a->hp)+sizeof(a->sp)));
}
-//Sets HP to given value. Flag is the flag passed to status->heal in case
-//final value is higher than current (use 2 to make a healing effect display
-//on players) It will always succeed (overrides Berserk block), but it can't kill.
-static int status_set_hp(struct block_list *bl, unsigned int hp, int flag)
+/**
+ * Sets HP to the given value.
+ *
+ * @param bl The target unit.
+ * @param hp The desired HP value.
+ * @param flag Additional options. @see enum status_heal_flag. STATUS_HEAL_FORCED is always implied.
+ * @return The amount of HP gained.
+ */
+static int status_set_hp(struct block_list *bl, unsigned int hp, enum status_heal_flag flag)
{
struct status_data *st;
if (hp < 1) return 0;
@@ -1254,14 +1048,19 @@ static int status_set_hp(struct block_list *bl, unsigned int hp, int flag)
if (hp > st->max_hp) hp = st->max_hp;
if (hp == st->hp) return 0;
if (hp > st->hp)
- return status->heal(bl, hp - st->hp, 0, 1|flag);
+ return status->heal(bl, hp - st->hp, 0, STATUS_HEAL_FORCED | flag);
return status_zap(bl, st->hp - hp, 0);
}
-//Sets SP to given value. Flag is the flag passed to status->heal in case
-//final value is higher than current (use 2 to make a healing effect display
-//on players)
-static int status_set_sp(struct block_list *bl, unsigned int sp, int flag)
+/**
+ * Sets SP to the given value.
+ *
+ * @param bl The target unit.
+ * @param hp The desired SP value.
+ * @param flag Additional options. @see enum status_heal_flag. STATUS_HEAL_FORCED is always implied.
+ * @return The amount of SP gained.
+ */
+static int status_set_sp(struct block_list *bl, unsigned int sp, enum status_heal_flag flag)
{
struct status_data *st;
@@ -1272,7 +1071,7 @@ static int status_set_sp(struct block_list *bl, unsigned int sp, int flag)
if (sp > st->max_sp) sp = st->max_sp;
if (sp == st->sp) return 0;
if (sp > st->sp)
- return status->heal(bl, 0, sp - st->sp, 1|flag);
+ return status->heal(bl, 0, sp - st->sp, STATUS_HEAL_FORCED | flag);
return status_zap(bl, 0, st->sp - sp);
}
@@ -1304,12 +1103,12 @@ static int status_damage(struct block_list *src, struct block_list *target, int6
sp = 0; //Not a valid SP target.
if (hp < 0) { //Assume absorbed damage.
- status->heal(target, -hp, 0, 1);
+ status->heal(target, -hp, 0, STATUS_HEAL_FORCED);
hp = 0;
}
if (sp < 0) {
- status->heal(target, 0, -sp, 1);
+ status->heal(target, 0, -sp, STATUS_HEAL_FORCED);
sp = 0;
}
@@ -1527,9 +1326,16 @@ static int status_damage(struct block_list *src, struct block_list *target, int6
return (int)(hp+sp);
}
-//Heals a character. If flag&1, this is forced healing (otherwise stuff like Berserk can block it)
-//If flag&2, when the player is healed, show the HP/SP heal effect.
-static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag)
+/**
+ * Heals a character.
+ *
+ * @param bl The target unit.
+ * @param in_hp Amount of HP to recover.
+ * @param in_sp Amount of SP to recover.
+ * @param flag Additional options, @see enum status_heal_flag.
+ * @return The amount of HP + SP healed.
+ */
+static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, enum status_heal_flag flag)
{
struct status_data *st;
struct status_change *sc;
@@ -1538,7 +1344,9 @@ static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag
nullpo_ret(bl);
st = status->get_status_data(bl);
- if (st == &status->dummy || !st->hp)
+ if (st == &status->dummy)
+ return 0;
+ if (st->hp == 0 && (flag & STATUS_HEAL_ALLOWREVIVE) == 0)
return 0;
/* From here onwards, we consider it a 32-type as the client does not support higher and the value doesn't get through percentage modifiers */
@@ -1555,10 +1363,10 @@ static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag
hp = 0;
}
- if(hp) {
- if( sc && sc->data[SC_BERSERK] ) {
- if( flag&1 )
- flag &= ~2;
+ if (hp != 0) {
+ if (sc && sc->data[SC_BERSERK] != NULL) {
+ if ((flag & STATUS_HEAL_FORCED) != 0)
+ flag &= ~STATUS_HEAL_SHOWEFFECT;
else
hp = 0;
}
@@ -1593,7 +1401,7 @@ static int status_heal(struct block_list *bl, int64 in_hp, int64 in_sp, int flag
// send hp update to client
switch(bl->type) {
- case BL_PC: pc->heal(BL_UCAST(BL_PC, bl), hp, sp, (flag&2) ? 1 : 0); break;
+ case BL_PC: pc->heal(BL_UCAST(BL_PC, bl), hp, sp, (flag & STATUS_HEAL_SHOWEFFECT) != 0 ? 1 : 0); break;
case BL_MOB: mob->heal(BL_UCAST(BL_MOB, bl), hp); break;
case BL_HOM: homun->healed(BL_UCAST(BL_HOM, bl)); break;
case BL_MER: mercenary->heal(BL_UCAST(BL_MER, bl), hp, sp); break;
@@ -1648,18 +1456,18 @@ static int status_percent_change(struct block_list *src, struct block_list *targ
if (flag)
status->damage(src, target, INT_MAX, 0, 0, (!src||src==target?5:1));
else
- status->heal(target, INT_MAX, 0, 0);
+ status->heal(target, INT_MAX, 0, STATUS_HEAL_DEFAULT);
}
if (sp > INT_MAX) {
sp -= INT_MAX;
if (flag)
status->damage(src, target, 0, INT_MAX, 0, (!src||src==target?5:1));
else
- status->heal(target, 0, INT_MAX, 0);
+ status->heal(target, 0, INT_MAX, STATUS_HEAL_DEFAULT);
}
if (flag)
return status->damage(src, target, hp, sp, 0, (!src||src==target?5:1));
- return status->heal(target, hp, sp, 0);
+ return status->heal(target, hp, sp, STATUS_HEAL_DEFAULT);
}
static int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per_sp)
@@ -2330,6 +2138,51 @@ static unsigned int status_get_base_maxhp(const struct map_session_data *sd, con
return (unsigned int)cap_value(val,0,UINT_MAX);
}
+/**
+ * Calculates the HP that a character will have after death, on respawn.
+ *
+ * @param sd The character to calculate.
+ * @param st The character's status data.
+ */
+static unsigned int status_get_restart_hp(const struct map_session_data *sd, const struct status_data *st)
+{
+ unsigned int hp = 0;
+
+ if (sd->special_state.restart_full_recover)
+ return st->max_hp;
+
+ if ((sd->job & MAPID_BASEMASK) == MAPID_NOVICE && (sd->job & JOBL_2) == 0 && battle_config.restart_hp_rate < 50)
+ hp = st->max_hp / 2;
+ else
+ hp = APPLY_RATE(st->max_hp, battle_config.restart_hp_rate);
+
+ if (hp > 0)
+ return hp;
+
+ return 1;
+}
+
+/**
+ * Calculates the SP that a character will have after death, on respawn.
+ *
+ * @param sd The character to calculate.
+ * @param st The character's status data.
+ */
+static unsigned int status_get_restart_sp(const struct map_session_data *sd, const struct status_data *st)
+{
+ unsigned int sp = 0;
+
+ if (sd->special_state.restart_full_recover)
+ return st->max_sp;
+
+ sp = APPLY_RATE(st->max_sp, battle_config.restart_sp_rate);
+
+ if (sp > 0)
+ return sp;
+
+ return 1; // the minimum for the respawn setting is SP:1
+}
+
static void status_calc_pc_additional(struct map_session_data *sd, enum e_status_calc_opt opt)
{
/* Just used for Plugin to give bonuses. */
@@ -2382,7 +2235,7 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
sd->regen.sregen = &sd->sregen;
sd->regen.ssregen = &sd->ssregen;
sd->weight=0;
- for(i=0;i<MAX_INVENTORY;i++){
+ for (i = 0; i < sd->status.inventorySize; i++) {
if(sd->status.inventory[i].nameid==0 || sd->inventory_data[i] == NULL)
continue;
sd->weight += sd->inventory_data[i]->weight*sd->status.inventory[i].amount;
@@ -2418,7 +2271,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));
@@ -2513,18 +2366,18 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
r = 0;
if (r)
- wa->atk2 = status->dbs->refine_info[wlv].bonus[r-1] / 100;
+ wa->atk2 = refine->get_bonus(wlv, r) / 100;
#ifdef RENEWAL
wa->matk += sd->inventory_data[index]->matk;
wa->wlv = wlv;
if( r && sd->weapontype1 != W_BOW ) // renewal magic attack refine bonus
- wa->matk += status->dbs->refine_info[wlv].bonus[r-1] / 100;
+ wa->matk += refine->get_bonus(wlv, r) / 100;
#endif
//Overrefined bonus.
if (r)
- wd->overrefine = status->dbs->refine_info[wlv].randombonus_max[r-1] / 100;
+ wd->overrefine = refine->get_randombonus_max(wlv, r) / 100;
wa->range += sd->inventory_data[index]->range;
if(sd->inventory_data[index]->script) {
@@ -2559,7 +2412,7 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
r = 0;
if (r)
- refinedef += status->dbs->refine_info[REFINE_TYPE_ARMOR].bonus[r-1];
+ refinedef += refine->get_bonus(REFINE_TYPE_ARMOR, r);
if(sd->inventory_data[index]->script) {
if( i == EQI_HAND_L ) //Shield
@@ -2884,20 +2737,8 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
// ----- RESPAWN HP/SP -----
//
//Calc respawn hp and store it on base_status
- if (sd->special_state.restart_full_recover)
- {
- bstatus->hp = bstatus->max_hp;
- bstatus->sp = bstatus->max_sp;
- } else {
- status->calc_pc_recover_hp(sd, bstatus);
- if(!bstatus->hp)
- bstatus->hp = 1;
-
- bstatus->sp = APPLY_RATE(bstatus->max_sp, battle_config.restart_sp_rate);
-
- if( !bstatus->sp ) /* the minimum for the respawn setting is SP:1 */
- bstatus->sp = 1;
- }
+ bstatus->hp = status->get_restart_hp(sd, bstatus);
+ bstatus->sp = status->get_restart_sp(sd, bstatus);
// ----- MISC CALCULATION -----
status->calc_misc(&sd->bl, bstatus, sd->status.base_level);
@@ -3801,7 +3642,7 @@ static void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag
temp = bst->batk - status->base_atk(bl,bst);
if (temp) {
temp += st->batk;
- st->batk = cap_value(temp, 0, USHRT_MAX);
+ st->batk = cap_value(temp, battle_config.batk_min, battle_config.batk_max);
}
st->batk = status->calc_batk(bl, sc, st->batk, true);
}
@@ -4396,7 +4237,7 @@ static int status_base_amotion_pc(struct map_session_data *sd, struct status_dat
return amotion;
}
-static unsigned short status_base_atk(const struct block_list *bl, const struct status_data *st)
+static int status_base_atk(const struct block_list *bl, const struct status_data *st)
{
int flag = 0, str, dex, dstr;
@@ -4453,42 +4294,50 @@ static unsigned short status_base_atk(const struct block_list *bl, const struct
if (bl->type == BL_PC)
str += dex / 5 + st->luk / 5;
#endif // RENEWAL
- return cap_value(str, 0, USHRT_MAX);
+ return cap_value(str, battle_config.batk_min, battle_config.batk_max);
}
-static unsigned short status_base_matk_min(const struct status_data *st)
+static int status_base_matk_min(const struct status_data *st)
{
nullpo_ret(st);
#ifdef RENEWAL
Assert_ret(0);
return 0;
#else // not RENEWAL
- return st->int_ + (st->int_ / 7) * (st->int_ / 7);
+ int matk = st->int_ + (st->int_ / 7) * (st->int_ / 7);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
#endif // RENEWAL
}
-static unsigned short status_base_matk_max(const struct status_data *st)
+static int status_base_matk_max(const struct status_data *st)
{
nullpo_ret(st);
- return st->int_ + (st->int_ / 5)*(st->int_ / 5);
+ int matk = st->int_ + (st->int_ / 5) * (st->int_ / 5);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
-static unsigned short status_base_matk(struct block_list *bl, const struct status_data *st, int level)
+static int status_base_matk(struct block_list *bl, const struct status_data *st, int level)
{
#ifdef RENEWAL
nullpo_ret(bl);
nullpo_ret(st);
- switch ( bl->type ) {
+ int matk = 0;
+ switch (bl->type) {
case BL_MOB:
- return st->int_ + level;
+ matk = st->int_ + level;
+ break;
case BL_HOM:
- return status_get_homint(st, BL_UCCAST(BL_HOM, bl)) + level;
+ matk = status_get_homint(st, BL_UCCAST(BL_HOM, bl)) + level;
+ break;
case BL_MER:
- return st->int_ + st->int_ / 5 * st->int_ / 5;
+ matk = st->int_ + st->int_ / 5 * st->int_ / 5;
+ break;
case BL_PC:
default: // temporary until all are formulated
- return st->int_ + (st->int_ / 2) + (st->dex / 5) + (st->luk / 3) + (level / 4);
+ matk = st->int_ + (st->int_ / 2) + (st->dex / 5) + (st->luk / 3) + (level / 4);
+ break;
}
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
#else
Assert_ret(0);
return 0;
@@ -4545,7 +4394,7 @@ static void status_calc_misc(struct block_list *bl, struct status_data *st, int
if ( st->batk ) {
int temp = st->batk + status->base_atk(bl, st);
- st->batk = cap_value(temp, 0, USHRT_MAX);
+ st->batk = cap_value(temp, battle_config.batk_min, battle_config.batk_max);
} else
st->batk = status->base_atk(bl, st);
if ( st->cri ) {
@@ -4942,17 +4791,17 @@ static unsigned short status_calc_luk(struct block_list *bl, struct status_chang
return (unsigned short)cap_value(luk, 0, USHRT_MAX);
}
-static unsigned short status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable)
+static int status_calc_batk(struct block_list *bl, struct status_change *sc, int batk, bool viewable)
{
nullpo_ret(bl);
if(!sc || !sc->count)
- return cap_value(batk,0,USHRT_MAX);
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
if( !viewable ){
/* some statuses that are hidden in the status window */
if(sc->data[SC_PLUSATTACKPOWER])
batk += sc->data[SC_PLUSATTACKPOWER]->val1;
- return (unsigned short)cap_value(batk,0,USHRT_MAX);
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
}
#ifndef RENEWAL
if(sc->data[SC_PLUSATTACKPOWER])
@@ -5035,14 +4884,14 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
if (sc->data[SC_SHRIMP])
batk += batk * sc->data[SC_SHRIMP]->val2 / 100;
- return (unsigned short)cap_value(batk,0,USHRT_MAX);
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
}
-static unsigned short status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable)
+static int status_calc_watk(struct block_list *bl, struct status_change *sc, int watk, bool viewable)
{
nullpo_ret(bl);
if(!sc || !sc->count)
- return cap_value(watk,0,USHRT_MAX);
+ return cap_value(watk, battle_config.watk_min, battle_config.watk_max);
if( !viewable ){
/* some statuses that are hidden in the status window */
@@ -5050,7 +4899,7 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
watk -= sc->data[SC_WATER_BARRIER]->val3;
if(sc->data[SC_GENTLETOUCH_CHANGE] && sc->data[SC_GENTLETOUCH_CHANGE]->val2)
watk += sc->data[SC_GENTLETOUCH_CHANGE]->val2;
- return (unsigned short)cap_value(watk,0,USHRT_MAX);
+ return cap_value(watk, battle_config.watk_min, battle_config.watk_max);
}
#ifndef RENEWAL
if(sc->data[SC_IMPOSITIO])
@@ -5128,14 +4977,14 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
if (sc->data[SC_CATNIPPOWDER])
watk -= watk * sc->data[SC_CATNIPPOWDER]->val2 / 100;
- return (unsigned short)cap_value(watk,0,USHRT_MAX);
+ return cap_value(watk, battle_config.watk_min, battle_config.watk_max);
}
-static unsigned short status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk)
+static int status_calc_ematk(struct block_list *bl, struct status_change *sc, int matk)
{
#ifdef RENEWAL
if (!sc || !sc->count)
- return cap_value(matk,0,USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
if (sc->data[SC_PLUSMAGICPOWER])
matk += sc->data[SC_PLUSMAGICPOWER]->val1;
if (sc->data[SC_MATKFOOD])
@@ -5156,22 +5005,22 @@ static unsigned short status_calc_ematk(struct block_list *bl, struct status_cha
matk += 25 * sc->data[SC_IZAYOI]->val1;
if (sc->data[SC_SHRIMP])
matk += matk * sc->data[SC_SHRIMP]->val2 / 100;
- return (unsigned short)cap_value(matk,0,USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
#else
return 0;
#endif
}
-static unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable)
+static int status_calc_matk(struct block_list *bl, struct status_change *sc, int matk, bool viewable)
{
if (!sc || !sc->count)
- return cap_value(matk,0,USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
if (sc->data[SC_MINDBREAKER])
matk += matk * sc->data[SC_MINDBREAKER]->val2 / 100;
- return (unsigned short)cap_value(matk, 0, USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
#ifndef RENEWAL
@@ -5229,17 +5078,17 @@ static unsigned short status_calc_matk(struct block_list *bl, struct status_chan
if (sc->data[SC_MAGIC_CANDY])
matk += sc->data[SC_MAGIC_CANDY]->val1;
- return (unsigned short)cap_value(matk, 0, USHRT_MAX);
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
-static signed short status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable)
+static int status_calc_critical(struct block_list *bl, struct status_change *sc, int critical, bool viewable)
{
if (!sc || !sc->count)
- return cap_value(critical, 10, SHRT_MAX);
+ return cap_value(critical, battle_config.critical_min, battle_config.critical_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
- return (short)cap_value(critical, 10, SHRT_MAX);
+ return cap_value(critical, battle_config.critical_min, battle_config.critical_max);
}
if (sc->data[SC_CRITICALPERCENT])
@@ -5270,20 +5119,20 @@ static signed short status_calc_critical(struct block_list *bl, struct status_ch
if (sc->data[SC_BUCHEDENOEL])
critical += sc->data[SC_BUCHEDENOEL]->val4 * 10;
- return (short)cap_value(critical, 10, SHRT_MAX);
+ return cap_value(critical, battle_config.critical_min, battle_config.critical_max);
}
-static signed short status_calc_hit(struct block_list *bl, struct status_change *sc, int hit, bool viewable)
+static int status_calc_hit(struct block_list *bl, struct status_change *sc, int hit, bool viewable)
{
if (!sc || !sc->count)
- return cap_value(hit, 1, SHRT_MAX);
+ return cap_value(hit, battle_config.hit_min, battle_config.hit_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
if (sc->data[SC_MTF_ASPD])
hit += sc->data[SC_MTF_ASPD]->val2;
- return (short)cap_value(hit, 1, SHRT_MAX);
+ return cap_value(hit, battle_config.hit_min, battle_config.hit_max);
}
if (sc->data[SC_INCHIT])
@@ -5325,26 +5174,26 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
if (sc->data[SC_BUCHEDENOEL])
hit += sc->data[SC_BUCHEDENOEL]->val3;
- return (short)cap_value(hit, 1, SHRT_MAX);
+ return cap_value(hit, battle_config.hit_min, battle_config.hit_max);
}
-static signed short status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable)
+static int status_calc_flee(struct block_list *bl, struct status_change *sc, int flee, bool viewable)
{
nullpo_retr(1, bl);
if (bl->type == BL_PC) {
if (map_flag_gvg2(bl->m))
flee -= flee * battle_config.gvg_flee_penalty / 100;
- else if( map->list[bl->m].flag.battleground )
+ else if (map->list[bl->m].flag.battleground)
flee -= flee * battle_config.bg_flee_penalty / 100;
}
if (!sc || !sc->count)
- return cap_value(flee, 1, SHRT_MAX);
+ return cap_value(flee, battle_config.flee_min, battle_config.flee_max);
if (!viewable) {
/* some statuses that are hidden in the status window */
- return (short)cap_value(flee, 1, SHRT_MAX);
+ return cap_value(flee, battle_config.flee_min, battle_config.flee_max);
}
if (sc->data[SC_INCFLEE])
@@ -5422,17 +5271,17 @@ static signed short status_calc_flee(struct block_list *bl, struct status_change
if (sc->data[SC_MYSTICPOWDER])
flee += sc->data[SC_MYSTICPOWDER]->val2;
- return (short)cap_value(flee, 1, SHRT_MAX);
+ return cap_value(flee, battle_config.flee_min, battle_config.flee_max);
}
-static signed short status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2, bool viewable)
+static int status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2, bool viewable)
{
if(!sc || !sc->count)
- return cap_value(flee2,10,SHRT_MAX);
+ return cap_value(flee2, battle_config.flee2_min, battle_config.flee2_max);
if( !viewable ){
/* some statuses that are hidden in the status window */
- return (short)cap_value(flee2,10,SHRT_MAX);
+ return cap_value(flee2, battle_config.flee2_min, battle_config.flee2_max);
}
if(sc->data[SC_PLUSAVOIDVALUE])
@@ -5444,7 +5293,7 @@ static signed short status_calc_flee2(struct block_list *bl, struct status_chang
if (sc->data[SC_FREYJASCROLL])
flee2 += sc->data[SC_FREYJASCROLL]->val2;
- return (short)cap_value(flee2,10,SHRT_MAX);
+ return cap_value(flee2, battle_config.flee2_min, battle_config.flee2_max);
}
static defType status_calc_def(struct block_list *bl, struct status_change *sc, int def, bool viewable)
@@ -7374,6 +7223,9 @@ static int status_get_sc_def(struct block_list *src, struct block_list *bl, enum
case SC_NETHERWORLD:
tick = max(tick, 4000);
break;
+ case SC_SIREN:
+ tick = max(tick, 10000); // Minimum duration 10s
+ break;
default:
//Skills need to trigger even if the duration is reduced below 1ms
tick = max(tick, 1);
@@ -7451,7 +7303,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.
@@ -7461,13 +7313,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;
@@ -7481,7 +7334,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;
}
@@ -7506,10 +7359,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);
@@ -7542,6 +7395,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:
@@ -7660,7 +7516,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) {
@@ -7676,7 +7532,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:
@@ -7689,7 +7545,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)) {
@@ -7701,7 +7557,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:
@@ -7755,7 +7611,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:
@@ -7925,33 +7781,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.
@@ -7962,7 +7818,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]
@@ -7992,7 +7848,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
@@ -8029,12 +7885,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);
}
}
}
@@ -8113,9 +7969,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:
@@ -8152,7 +8008,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)
{
@@ -8162,11 +8018,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;
@@ -8185,7 +8041,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
@@ -8199,7 +8055,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;
@@ -8212,7 +8068,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;
@@ -8225,19 +8081,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;
@@ -8247,8 +8103,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]
@@ -8262,7 +8118,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;
@@ -8280,7 +8136,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:
@@ -8296,12 +8152,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);
}
}
}
@@ -8320,7 +8176,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);
}
}
}
@@ -8333,8 +8189,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:
@@ -8352,21 +8208,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
}
@@ -8419,23 +8275,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:
@@ -8489,11 +8345,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;
@@ -8529,13 +8385,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:
@@ -8549,7 +8405,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
@@ -8564,7 +8420,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;
@@ -8582,7 +8438,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:
@@ -8590,13 +8446,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
@@ -8666,7 +8522,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;
@@ -8679,7 +8535,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)
@@ -8714,11 +8570,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:
@@ -8783,7 +8639,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
@@ -8792,7 +8655,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:
@@ -8824,11 +8687,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;
/**
@@ -8842,14 +8705,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:
@@ -8860,28 +8723,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:
@@ -8920,7 +8783,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
@@ -8935,19 +8798,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:
@@ -8958,17 +8821,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;
@@ -8979,7 +8842,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:
@@ -9006,7 +8869,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);
}
@@ -9021,8 +8884,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 )
@@ -9042,7 +8905,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:
@@ -9051,7 +8914,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;
@@ -9072,22 +8935,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:
@@ -9095,7 +8958,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:
@@ -9131,7 +8994,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:
@@ -9149,13 +9012,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 ){
@@ -9178,7 +9041,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:
@@ -9186,7 +9049,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;
@@ -9197,7 +9060,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:
@@ -9307,7 +9170,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:
@@ -9330,18 +9193,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:
@@ -9380,7 +9243,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:
@@ -9410,22 +9273,22 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
return 0;
PER( 100 / (status_get_max_hp(bl) / hp), lv );
- status->heal(bl, (!(hp%2) ? (6-lv) *4 / 100 : -(lv*4) / 100), 0, 1);
+ status->heal(bl, (!(hp%2) ? (6-lv) *4 / 100 : -(lv*4) / 100), 0, STATUS_HEAL_FORCED);
PER( 100 / (status_get_max_sp(bl) / sp), lv );
- status->heal(bl, 0,(!(sp%2) ? (6-lv) *3 / 100 : -(lv*3) / 100), 1);
+ status->heal(bl, 0,(!(sp%2) ? (6-lv) *3 / 100 : -(lv*3) / 100), STATUS_HEAL_FORCED);
}
#undef PER
break;
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
@@ -9454,10 +9317,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;
@@ -9465,12 +9328,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;
@@ -9483,7 +9346,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;
@@ -9494,7 +9357,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:
/**
@@ -9507,7 +9370,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;
@@ -9523,7 +9386,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:
@@ -9534,7 +9397,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;
}
}
@@ -9604,13 +9467,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.
@@ -9626,6 +9491,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);
@@ -9646,8 +9512,8 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
switch (type) {
case SC_BERSERK:
if (!(sce->val2)) { //don't heal if already set
- status->heal(bl, st->max_hp, 0, 1); //Do not use percent_heal as this healing must override BERSERK's block.
- status->set_sp(bl, 0, 0); //Damage all SP
+ status->heal(bl, st->max_hp, 0, STATUS_HEAL_FORCED); //Do not use percent_heal as this healing must override BERSERK's block.
+ status->set_sp(bl, 0, STATUS_HEAL_DEFAULT); //Damage all SP
}
sce->val2 = 5 * st->max_hp / 100;
break;
@@ -9734,10 +9600,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;
@@ -9745,6 +9611,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);
@@ -10123,7 +10011,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:
@@ -10489,55 +10377,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;
}
@@ -10557,20 +10400,9 @@ static bool status_is_immune_to_status(struct status_change *sc, enum sc_type ty
if (type >= SC_COMMON_MIN && type <= SC_COMMON_MAX) // Confirmed.
return true; // Immune to status ailements
switch (type) {
- case SC_DEEP_SLEEP:
case SC__CHAOS:
- case SC_BURNING:
- case SC_STUN:
- case SC_SLEEP:
- case SC_CURSE:
case SC_STONE:
- case SC_POISON:
- case SC_BLIND:
- case SC_SILENCE:
- case SC_BLOODING:
- case SC_FREEZE:
case SC_FROSTMISTY:
- case SC_COLD:
case SC_TOXIN:
case SC_PARALYSE:
case SC_VENOMBLEED:
@@ -10586,20 +10418,9 @@ static bool status_is_immune_to_status(struct status_change *sc, enum sc_type ty
if (type >= SC_COMMON_MIN && type <= SC_COMMON_MAX)
return true; // Immune to status ailements
switch (type) {
- case SC_POISON:
- case SC_BLIND:
- case SC_STUN:
- case SC_SILENCE:
case SC__CHAOS:
case SC_STONE:
- case SC_SLEEP:
- case SC_BLOODING:
- case SC_CURSE:
- case SC_BURNING:
case SC_FROSTMISTY:
- case SC_FREEZE:
- case SC_COLD:
- case SC_FEAR:
case SC_TOXIN:
case SC_PARALYSE:
case SC_VENOMBLEED:
@@ -10608,7 +10429,6 @@ static bool status_is_immune_to_status(struct status_change *sc, enum sc_type ty
case SC_PYREXIA:
case SC_OBLIVIONCURSE:
case SC_LEECHESEND:
- case SC_DEEP_SLEEP:
case SC_SATURDAY_NIGHT_FEVER:
case SC__BODYPAINT:
case SC__ENERVATION:
@@ -10699,9 +10519,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);
@@ -10756,10 +10574,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];
@@ -10910,7 +10726,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);
}
@@ -10996,7 +10812,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
status_percent_heal(bl, 100, 0);
status_change_end(bl, SC__BLOODYLUST, INVALID_TIMER);
} else if(st->hp > 100 && sce->val2) //If val2 is removed, no HP penalty (dispelled?) [Skotlex]
- status->set_hp(bl, 100, 0);
+ status->set_hp(bl, 100, STATUS_HEAL_DEFAULT);
if(sc->data[SC_ENDURE] && sc->data[SC_ENDURE]->val4 == 2) {
sc->data[SC_ENDURE]->val4 = 0;
status_change_end(bl, SC_ENDURE, INVALID_TIMER);
@@ -11048,8 +10864,8 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
if (tid == INVALID_TIMER)
break;
// "lose almost all their HP and SP" on natural expiration.
- status->set_hp(bl, 10, 0);
- status->set_sp(bl, 10, 0);
+ status->set_hp(bl, 10, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, 10, STATUS_HEAL_DEFAULT);
break;
case SC_AUTOTRADE:
if (tid == INVALID_TIMER)
@@ -11386,6 +11202,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);
@@ -11401,7 +11223,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);
@@ -11460,8 +11282,8 @@ static int kaahi_heal_timer(int tid, int64 tick, int id, intptr_t data)
hp = st->max_hp - st->hp;
if (hp > sce->val2)
hp = sce->val2;
- if (hp)
- status->heal(bl, hp, 0, 2);
+ if (hp != 0)
+ status->heal(bl, hp, 0, STATUS_HEAL_SHOWEFFECT);
sce->val4 = INVALID_TIMER;
return 1;
}
@@ -11667,7 +11489,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
int hp = 0;
if (st->hp < st->max_hp)
hp = (sce->val1 < 0) ? (int)(sd->status.max_hp * -1 * sce->val1 / 100.) : sce->val1 ;
- status->heal(bl, hp, 0, 2);
+ status->heal(bl, hp, 0, STATUS_HEAL_SHOWEFFECT);
sc_timer_next((sce->val2 * 1000) + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -11765,10 +11587,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) {
@@ -11816,7 +11638,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
break;
case SC_ABUNDANCE:
if(--(sce->val4) > 0) {
- status->heal(bl,0,60,0);
+ status->heal(bl, 0, 60, STATUS_HEAL_DEFAULT);
sc_timer_next(10000+tick, status->change_timer, bl->id, data);
}
break;
@@ -11932,7 +11754,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
heal = ~heal + 1;
map->freeblock_lock();
- status->heal(bl, heal, 0, 2);
+ status->heal(bl, heal, 0, STATUS_HEAL_SHOWEFFECT);
if( sc->data[type] ) {
sc_timer_next(5000 + tick, status->change_timer, bl->id, data);
}
@@ -12055,7 +11877,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
if ( sc->data[type] ) {
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
}
- status->heal(src, damage*(5 + 5 * sce->val1)/100, 0, 0); // 5 + 5% per level
+ status->heal(src, damage*(5 + 5 * sce->val1)/100, 0, STATUS_HEAL_DEFAULT); // 5 + 5% per level
map->freeblock_unlock();
return 0;
}
@@ -12072,7 +11894,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
case SC_DEEP_SLEEP:
if( --(sce->val4) >= 0 )
{// Recovers 3% of the player's MaxHP/MaxSP every 2 seconds.
- status->heal(bl, st->max_hp * 3 / 100, st->max_sp * 3 / 100, 2);
+ status->heal(bl, st->max_hp * 3 / 100, st->max_sp * 3 / 100, STATUS_HEAL_SHOWEFFECT);
sc_timer_next(2000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12082,7 +11904,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
if( --(sce->val4) >= 0 ) {
if( !status->charge(bl,0,sce->val3) )
break;
- status->heal(bl, sce->val2, 0, 1);
+ status->heal(bl, sce->val2, 0, STATUS_HEAL_FORCED);
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12090,7 +11912,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
case SC_SONG_OF_MANA:
if( --(sce->val4) >= 0 ) {
- status->heal(bl,0,sce->val3,3);
+ status->heal(bl, 0, sce->val3, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT);
sc_timer_next(5000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12284,7 +12106,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
return 0;
case SC_MEIKYOUSISUI:
if( --(sce->val4) > 0 ) {
- status->heal(bl, st->max_hp * (sce->val1+1) / 100, st->max_sp * sce->val1 / 100, 0);
+ status->heal(bl, st->max_hp * (sce->val1+1) / 100, st->max_sp * sce->val1 / 100, STATUS_HEAL_DEFAULT);
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12320,7 +12142,7 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
break;
case SC_FRIGG_SONG:
if( --(sce->val4) > 0 ) {
- status->heal(bl, sce->val3, 0, 0);
+ status->heal(bl, sce->val3, 0, STATUS_HEAL_DEFAULT);
sc_timer_next(1000 + tick, status->change_timer, bl->id, data);
return 0;
}
@@ -12476,10 +12298,10 @@ static int status_get_weapon_atk(struct block_list *bl, struct weapon_atk *watk,
if ( bl->type == BL_PC && !(flag & 2) ) {
const struct map_session_data *sd = BL_UCCAST(BL_PC, bl);
- short index = sd->equip_index[EQI_HAND_R], refine;
+ short index = sd->equip_index[EQI_HAND_R], refine_level;
if ( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON
- && (refine = sd->status.inventory[index].refine) < 16 && refine ) {
- int r = status->dbs->refine_info[watk->wlv].randombonus_max[refine + (4 - watk->wlv)] / 100;
+ && (refine_level = sd->status.inventory[index].refine) < 16 && refine_level) {
+ int r = refine->get_randombonus_max(watk->wlv, refine_level + (4 - watk->wlv) + 1) / 100;
if ( r )
max += (rnd() % 100) % r + 1;
}
@@ -12591,10 +12413,10 @@ static void status_get_matk_sub(struct block_list *bl, int flag, unsigned short
#ifdef RENEWAL
if ( sd && !(flag & 2) ) {
- short index = sd->equip_index[EQI_HAND_R], refine;
+ short index = sd->equip_index[EQI_HAND_R], refine_level;
if ( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON
- && (refine = sd->status.inventory[index].refine) < 16 && refine ) {
- int r = status->dbs->refine_info[sd->inventory_data[index]->wlv].randombonus_max[refine + (4 - sd->inventory_data[index]->wlv)] / 100;
+ && (refine_level = sd->status.inventory[index].refine) < 16 && refine_level) {
+ int r = refine->get_randombonus_max(sd->inventory_data[index]->wlv, refine_level + (4 - sd->inventory_data[index]->wlv) + 1) / 100;
if ( r )
*matk_max += (rnd() % 100) % r + 1;
}
@@ -12902,7 +12724,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
sregen->tick.hp += val;
while(sregen->tick.hp >= (unsigned int)battle_config.natural_heal_skill_interval) {
sregen->tick.hp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, sregen->hp, 0, 3) < sregen->hp) {
+ if (status->heal(bl, sregen->hp, 0, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < sregen->hp) {
//Full
flag&=~(RGN_HP|RGN_SHP);
break;
@@ -12917,7 +12739,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
sregen->tick.sp += val;
while(sregen->tick.sp >= (unsigned int)battle_config.natural_heal_skill_interval) {
sregen->tick.sp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, 0, sregen->sp, 3) < sregen->sp) {
+ if (status->heal(bl, 0, sregen->sp, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < sregen->sp) {
//Full
flag&=~(RGN_SP|RGN_SSP);
break;
@@ -12966,7 +12788,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
val += regen->hp;
regen->tick.hp -= battle_config.natural_healhp_interval;
} while(regen->tick.hp >= (unsigned int)battle_config.natural_healhp_interval);
- if (status->heal(bl, val, 0, 1) < val)
+ if (status->heal(bl, val, 0, STATUS_HEAL_FORCED) < val)
flag&=~RGN_SHP; //full.
}
}
@@ -12985,7 +12807,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
val += regen->sp;
regen->tick.sp -= battle_config.natural_healsp_interval;
} while(regen->tick.sp >= (unsigned int)battle_config.natural_healsp_interval);
- if (status->heal(bl, 0, val, 1) < val)
+ if (status->heal(bl, 0, val, STATUS_HEAL_FORCED) < val)
flag&=~RGN_SSP; //full.
}
}
@@ -13002,7 +12824,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
while(sregen->tick.hp >= (unsigned int)battle_config.natural_heal_skill_interval) {
sregen->tick.hp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, sregen->hp, 0, 3) < sregen->hp)
+ if (status->heal(bl, sregen->hp, 0, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < sregen->hp)
break; //Full
}
}
@@ -13027,7 +12849,7 @@ static int status_natural_heal(struct block_list *bl, va_list args)
}
}
sregen->tick.sp -= battle_config.natural_heal_skill_interval;
- if(status->heal(bl, 0, val, 3) < val)
+ if (status->heal(bl, 0, val, STATUS_HEAL_FORCED | STATUS_HEAL_SHOWEFFECT) < val)
break; //Full
}
}
@@ -13044,25 +12866,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)
{
@@ -13315,10 +13118,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))
@@ -13373,190 +13178,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
@@ -13595,8 +13324,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();
@@ -13653,13 +13381,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)
@@ -13697,6 +13425,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;
@@ -13752,6 +13481,8 @@ void status_defaults(void)
status->base_atk = status_base_atk;
status->get_base_maxhp = status_get_base_maxhp;
status->get_base_maxsp = status_get_base_maxsp;
+ status->get_restart_hp = status_get_restart_hp;
+ status->get_restart_sp = status_get_restart_sp;
status->calc_npc_ = status_calc_npc_;
status->calc_str = status_calc_str;
status->calc_agi = status_calc_agi;
@@ -13785,9 +13516,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 e7cd5e94c..fe99cfba9 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -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;
/**
@@ -99,6 +79,16 @@ enum scstart_flag {
SCFLAG_ALL = SCFLAG_NONE|SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_LOADED|SCFLAG_FIXEDRATE|SCFLAG_NOICON
};
+/**
+ * Flags to be used with status->heal() and related functions.
+ */
+enum status_heal_flag {
+ STATUS_HEAL_DEFAULT = 0x00, ///< Default
+ STATUS_HEAL_FORCED = 0x01, ///< Forced healing (bypassing Berserk and similar)
+ STATUS_HEAL_SHOWEFFECT = 0x02, ///< Show the HP/SP heal effect
+ STATUS_HEAL_ALLOWREVIVE = 0x04, ///< Force resurrection in case of dead targets.
+};
+
// Status changes listing. These code are for use by the server.
typedef enum sc_type {
SC_NONE = -1,
@@ -848,6 +838,21 @@ 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,
#ifndef SC_MAX
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
#endif
@@ -855,1034 +860,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
@@ -1900,7 +878,7 @@ enum e_joint_break
/**
* Mob mode definitions. [Skotlex]
*
- * @see doc/mob_db_mode_list.txt for a description of each mode.
+ * @see doc/mob_db_mode_list.md for a description of each mode.
*/
enum e_mode
{
@@ -2056,29 +1034,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,
@@ -2150,6 +1127,7 @@ struct sc_display_entry {
struct status_change_entry {
int timer;
+ int total_tick;
int val1,val2,val3,val4;
bool infinite_duration;
};
@@ -2239,21 +1217,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];
@@ -2261,14 +1224,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];
@@ -2297,21 +1260,21 @@ 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);
int (*percent_change) (struct block_list *src,struct block_list *target,signed char hp_rate, signed char sp_rate, int flag);
//Used to set the hp/sp of an object to an absolute value (can't kill)
- int (*set_hp) (struct block_list *bl, unsigned int hp, int flag);
- int (*set_sp) (struct block_list *bl, unsigned int sp, int flag);
- int (*heal) (struct block_list *bl,int64 hp,int64 sp, int flag);
+ int (*set_hp) (struct block_list *bl, unsigned int hp, enum status_heal_flag flag);
+ int (*set_sp) (struct block_list *bl, unsigned int sp, enum status_heal_flag flag);
+ int (*heal) (struct block_list *bl,int64 hp,int64 sp, enum status_heal_flag flag);
int (*revive) (struct block_list *bl, unsigned char per_hp, unsigned char per_sp);
int (*fixed_revive) (struct block_list *bl, unsigned int per_hp, unsigned int per_sp);
struct regen_data * (*get_regen_data) (struct block_list *bl);
@@ -2336,6 +1299,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);
@@ -2344,7 +1308,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);
@@ -2369,8 +1333,8 @@ struct status_interface {
short (*calc_def2) (struct block_list *bl, struct status_change *sc, int def2, bool viewable);
defType (*calc_mdef) (struct block_list *bl, struct status_change *sc, int mdef, bool viewable);
short (*calc_mdef2) (struct block_list *bl, struct status_change *sc, int mdef2, bool viewable);
- unsigned short (*calc_batk)(struct block_list *bl, struct status_change *sc, int batk, bool viewable);
- unsigned short(*base_matk) (struct block_list *bl, const struct status_data *st, int level);
+ int (*calc_batk)(struct block_list *bl, struct status_change *sc, int batk, bool viewable);
+ int (*base_matk) (struct block_list *bl, const struct status_data *st, int level);
int (*get_weapon_atk) (struct block_list *src, struct weapon_atk *watk, int flag);
int (*get_total_mdef) (struct block_list *src);
int (*get_total_def) (struct block_list *src);
@@ -2381,9 +1345,11 @@ struct status_interface {
void (*initChangeTables) (void);
void (*initDummyData) (void);
int (*base_amotion_pc) (struct map_session_data *sd, struct status_data *st);
- unsigned short (*base_atk) (const struct block_list *bl, const struct status_data *st);
+ int (*base_atk) (const struct block_list *bl, const struct status_data *st);
unsigned int (*get_base_maxhp) (const struct map_session_data *sd, const struct status_data *st);
unsigned int (*get_base_maxsp) (const struct map_session_data *sd, const struct status_data *st);
+ unsigned int (*get_restart_hp) (const struct map_session_data *sd, const struct status_data *st);
+ unsigned int (*get_restart_sp) (const struct map_session_data *sd, const struct status_data *st);
int (*calc_npc_) (struct npc_data *nd, enum e_status_calc_opt opt);
unsigned short (*calc_str) (struct block_list *bl, struct status_change *sc, int str);
unsigned short (*calc_agi) (struct block_list *bl, struct status_change *sc, int agi);
@@ -2391,12 +1357,12 @@ struct status_interface {
unsigned short (*calc_int) (struct block_list *bl, struct status_change *sc, int int_);
unsigned short (*calc_dex) (struct block_list *bl, struct status_change *sc, int dex);
unsigned short (*calc_luk) (struct block_list *bl, struct status_change *sc, int luk);
- unsigned short (*calc_watk) (struct block_list *bl, struct status_change *sc, int watk, bool viewable);
- unsigned short (*calc_matk) (struct block_list *bl, struct status_change *sc, int matk, bool viewable);
- signed short (*calc_hit) (struct block_list *bl, struct status_change *sc, int hit, bool viewable);
- signed short (*calc_critical) (struct block_list *bl, struct status_change *sc, int critical, bool viewable);
- signed short (*calc_flee) (struct block_list *bl, struct status_change *sc, int flee, bool viewable);
- signed short (*calc_flee2) (struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
+ int (*calc_watk) (struct block_list *bl, struct status_change *sc, int watk, bool viewable);
+ int (*calc_matk) (struct block_list *bl, struct status_change *sc, int matk, bool viewable);
+ signed int (*calc_hit) (struct block_list *bl, struct status_change *sc, int hit, bool viewable);
+ signed int (*calc_critical) (struct block_list *bl, struct status_change *sc, int critical, bool viewable);
+ signed int (*calc_flee) (struct block_list *bl, struct status_change *sc, int flee, bool viewable);
+ signed int (*calc_flee2) (struct block_list *bl, struct status_change *sc, int flee2, bool viewable);
unsigned short (*calc_speed) (struct block_list *bl, struct status_change *sc, int speed);
short (*calc_aspd_rate) (struct block_list *bl, struct status_change *sc, int aspd_rate);
unsigned short (*calc_dmotion) (struct block_list *bl, struct status_change *sc, int dmotion);
@@ -2407,7 +1373,7 @@ struct status_interface {
unsigned char (*calc_element) (struct block_list *bl, struct status_change *sc, int element);
unsigned char (*calc_element_lv) (struct block_list *bl, struct status_change *sc, int lv);
uint32 (*calc_mode) (const struct block_list *bl, const struct status_change *sc, uint32 mode);
- unsigned short (*calc_ematk) (struct block_list *bl, struct status_change *sc, int matk);
+ int (*calc_ematk) (struct block_list *bl, struct status_change *sc, int matk);
void (*calc_bl_main) (struct block_list *bl, int flag);
void (*display_add) (struct map_session_data *sd, enum sc_type type, int dval1, int dval2, int dval3);
void (*display_remove) (struct map_session_data *sd, enum sc_type type);
@@ -2415,15 +1381,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 a6f0715e7..90b620f63 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -285,7 +285,7 @@ static int storage_add_from_inventory(struct map_session_data *sd, int index, in
if (sd->storage.aggregate > MAX_STORAGE)
return 0; // storage full
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return 0;
if (sd->status.inventory[index].nameid <= 0)
@@ -623,7 +623,7 @@ static int storage_guild_storageadd(struct map_session_data *sd, int index, int
if( !stor->storage_status || stor->storage_amount > MAX_GUILD_STORAGE )
return 0;
- if( index<0 || index>=MAX_INVENTORY )
+ if (index < 0 || index >= sd->status.inventorySize)
return 0;
if( sd->status.inventory[index].nameid <= 0 )
diff --git a/src/map/stylist.c b/src/map/stylist.c
new file mode 100644
index 000000000..438302214
--- /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-2019 Hercules Dev Team
+*
+* Hercules is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#define HERCULES_CORE
+
+#include "map/stylist.h"
+
+#include "common/conf.h"
+#include "common/db.h"
+#include "common/memmgr.h"
+#include "common/nullpo.h"
+#include "common/showmsg.h"
+
+#include "map/clif.h"
+#include "map/intif.h"
+#include "map/itemdb.h"
+#include "map/pc.h"
+#include "map/script.h"
+
+static struct stylist_interface stylist_s;
+struct stylist_interface *stylist;
+
+static bool stylist_read_db_libconfig(void)
+{
+ struct config_t stylist_conf;
+ struct config_setting_t *stylist_db = NULL, *it = NULL;
+ 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..5bedfefc7
--- /dev/null
+++ b/src/map/stylist.h
@@ -0,0 +1,69 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2019 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef MAP_STYLIST_H
+#define MAP_STYLIST_H
+
+#include "common/hercules.h"
+#include "map/map.h" // LOOK_MAX
+
+struct map_session_data;
+
+/* Maximum available types for stylist */
+#ifndef MAX_STYLIST_TYPE
+#define MAX_STYLIST_TYPE LOOK_MAX
+#endif
+
+/* Stylist data [Asheraf/Hercules]*/
+struct stylist_data_entry {
+ int16 id;
+ int32 zeny;
+ int itemid;
+ int boxid;
+ bool allow_doram;
+};
+
+/**
+ * stylist.c Interface
+ **/
+struct stylist_interface {
+ VECTOR_DECL(struct stylist_data_entry) data[MAX_STYLIST_TYPE];
+
+ void (*init) (bool minimal);
+ void (*final) (void);
+
+ void (*vector_init) (void);
+ void (*vector_clear) (void);
+
+ bool (*read_db_libconfig) (void);
+ bool (*read_db_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
+
+ void (*request_style_change) (struct map_session_data *sd, int type, int16 idx, bool isitem);
+ bool (*validate_requirements) (struct map_session_data *sd, int type, int16 idx);
+ void (*send_rodexitem) (struct map_session_data *sd, int itemid);
+
+};
+
+#ifdef HERCULES_CORE
+void stylist_defaults(void);
+#endif // HERCULES_CORE
+
+HPShared struct stylist_interface *stylist; ///< Pointer to the stylist interface.
+
+#endif /* MAP_STYLIST_H */
diff --git a/src/map/trade.c b/src/map/trade.c
index d4f846d19..ff5c04fc3 100644
--- a/src/map/trade.c
+++ b/src/map/trade.c
@@ -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);
@@ -209,7 +212,7 @@ static int impossible_trade_check(struct map_session_data *sd)
// remove this part: arrows can be trade and equipped
// re-added! [celest]
// remove equipped items (they can not be trade)
- for (i = 0; i < MAX_INVENTORY; i++)
+ for (i = 0; i < sd->status.inventorySize; i++)
if (inventory[i].nameid > 0 && inventory[i].equip && !(inventory[i].equip & EQP_AMMO))
memset(&inventory[i], 0, sizeof(struct item));
@@ -218,14 +221,14 @@ static int impossible_trade_check(struct map_session_data *sd)
if (!sd->deal.item[i].amount)
continue;
index = sd->deal.item[i].index;
- if (index < 0 || index >= MAX_INVENTORY)
+ if (index < 0 || index >= sd->status.inventorySize)
return 1;
if (inventory[index].amount < sd->deal.item[i].amount) {
// if more than the player have -> hack
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
@@ -281,9 +284,9 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
return 0; //qty Exploit?
data = itemdb->search(inventory[n].nameid);
- i = MAX_INVENTORY;
+ i = tsd->status.inventorySize;
if (itemdb->isstackable2(data)) { //Stackable item.
- for(i = 0; i < MAX_INVENTORY; i++)
+ for(i = 0; i < tsd->status.inventorySize; i++)
if (inventory2[i].nameid == inventory[n].nameid &&
inventory2[i].card[0] == inventory[n].card[0] && inventory2[i].card[1] == inventory[n].card[1] &&
inventory2[i].card[2] == inventory[n].card[2] && inventory2[i].card[3] == inventory[n].card[3]) {
@@ -295,9 +298,9 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
}
}
- if (i == MAX_INVENTORY) {// look for an empty slot.
- for(i = 0; i < MAX_INVENTORY && inventory2[i].nameid; i++);
- if (i == MAX_INVENTORY)
+ if (i == tsd->status.inventorySize) {// look for an empty slot.
+ for (i = 0; i < tsd->status.inventorySize && inventory2[i].nameid; i++);
+ if (i == tsd->status.inventorySize)
return 0;
memcpy(&inventory2[i], &inventory[n], sizeof(struct item));
inventory2[i].amount = amount;
@@ -308,15 +311,15 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
if (!amount)
continue;
n = tsd->deal.item[trade_i].index;
- if (n < 0 || n >= MAX_INVENTORY)
+ if (n < 0 || n >= tsd->status.inventorySize)
return 0;
if (amount > inventory2[n].amount)
return 0;
// search if it's possible to add item (for full inventory)
data = itemdb->search(inventory2[n].nameid);
- i = MAX_INVENTORY;
+ i = sd->status.inventorySize;
if (itemdb->isstackable2(data)) {
- for(i = 0; i < MAX_INVENTORY; i++)
+ for(i = 0; i < sd->status.inventorySize; i++)
if (inventory[i].nameid == inventory2[n].nameid &&
inventory[i].card[0] == inventory2[n].card[0] && inventory[i].card[1] == inventory2[n].card[1] &&
inventory[i].card[2] == inventory2[n].card[2] && inventory[i].card[3] == inventory2[n].card[3]) {
@@ -327,9 +330,9 @@ static int trade_check(struct map_session_data *sd, struct map_session_data *tsd
break;
}
}
- if (i == MAX_INVENTORY) {
- for(i = 0; i < MAX_INVENTORY && inventory[i].nameid; i++);
- if (i == MAX_INVENTORY)
+ if (i == sd->status.inventorySize) {
+ for(i = 0; i < sd->status.inventorySize && inventory[i].nameid; i++);
+ if (i == sd->status.inventorySize)
return 0;
memcpy(&inventory[i], &inventory2[n], sizeof(struct item));
inventory[i].amount = amount;
@@ -369,7 +372,7 @@ static void trade_tradeadditem(struct map_session_data *sd, short index, short a
index -= 2; // 0 is for zeny, 1 is unknown. Gravity, go figure...
//Item checks...
- if( index < 0 || index >= MAX_INVENTORY )
+ if (index < 0 || index >= sd->status.inventorySize)
return;
if( amount < 0 || amount > sd->status.inventory[index].amount )
return;
diff --git a/src/map/unit.c b/src/map/unit.c
index 9174bdccd..d7d95c57b 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -459,10 +459,10 @@ static int unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data)
}
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);
}
@@ -544,6 +544,8 @@ static int unit_walktoxy(struct block_list *bl, short x, short y, int flag)
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 ) {
@@ -661,7 +663,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 +675,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);
@@ -918,7 +920,7 @@ static int unit_blown(struct block_list *bl, int dx, int dy, int count, int flag
//Warps a unit/ud to a given map/position.
//In the case of players, pc->setpos is used.
//it respects the no warp flags, so it is safe to call this without doing nowarpto/nowarp checks.
-static int unit_warp(struct block_list *bl, short m, short x, short y, clr_type type)
+static int unit_warp(struct block_list *bl, short m, short x, short y, enum clr_type type)
{
struct unit_data *ud;
nullpo_ret(bl);
@@ -957,7 +959,7 @@ static int unit_warp(struct block_list *bl, short m, short x, short y, clr_type
return 2;
}
- } else if (map->getcell(m, bl, x, y, CELL_CHKNOREACH)) {
+ } else if (bl->type != BL_NPC && map->getcell(m, bl, x, y, CELL_CHKNOREACH)) {
//Invalid target cell
ShowWarning("unit_warp: Specified non-walkable target cell: %d (%s) at [%d,%d]\n", m, map->list[m].name, x,y);
@@ -1090,6 +1092,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
))
@@ -1327,6 +1330,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,13 +1418,6 @@ 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
@@ -1836,7 +1838,7 @@ static int unit_set_target(struct unit_data *ud, int target_id)
struct block_list* target;
if (ud->target && (target = map->id2bl(ud->target)) != NULL && (ux = unit->bl2ud(target)) != NULL && ux->target_count > 0)
--ux->target_count;
- if (target_id && (target = map->id2bl(target_id)) != NULL && (ux = unit->bl2ud(target)) != NULL)
+ if (target_id && (target = map->id2bl(target_id)) != NULL && (ux = unit->bl2ud(target)) != NULL && ux->target_count < UCHAR_MAX)
++ux->target_count;
}
@@ -1930,8 +1932,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
@@ -2419,7 +2423,7 @@ static int unit_changeviewsize(struct block_list *bl, short size)
* Otherwise it is assumed bl is being warped.
* On-Kill specific stuff is not performed here, look at status->damage for that.
*------------------------------------------*/
-static int unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func)
+static int unit_remove_map(struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func)
{
struct unit_data *ud = unit->bl2ud(bl);
struct status_change *sc = status->get_sc(bl);
@@ -2665,7 +2669,7 @@ static int unit_remove_map(struct block_list *bl, clr_type clrtype, const char *
return 1;
}
-static void unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype)
+static void unit_remove_map_pc(struct map_session_data *sd, enum clr_type clrtype)
{
nullpo_retv(sd);
unit->remove_map(&sd->bl,clrtype,ALC_MARK);
@@ -2697,7 +2701,7 @@ static void unit_free_pc(struct map_session_data *sd)
* Function to free all related resources to the bl
* if unit is on map, it is removed using the clrtype specified
*------------------------------------------*/
-static int unit_free(struct block_list *bl, clr_type clrtype)
+static int unit_free(struct block_list *bl, enum clr_type clrtype)
{
struct unit_data *ud = unit->bl2ud( bl );
nullpo_ret(bl);
@@ -2764,6 +2768,7 @@ static int unit_free(struct block_list *bl, clr_type clrtype)
aFree(sd->instance);
sd->instance = NULL;
}
+ VECTOR_CLEAR(sd->channels);
VECTOR_CLEAR(sd->script_queues);
VECTOR_CLEAR(sd->achievement); // Achievement [Smokexyz/Hercules]
VECTOR_CLEAR(sd->storage.item);
diff --git a/src/map/unit.h b/src/map/unit.h
index 0c1c2405c..3209351e3 100644
--- a/src/map/unit.h
+++ b/src/map/unit.h
@@ -44,6 +44,7 @@ enum unit_stopwalking_flag {
struct unit_data {
struct block_list *bl;
+ char title[NAME_LENGTH];
struct walkpath_data walkpath;
struct skill_timerskill *skilltimerskill[MAX_SKILLTIMERSKILL];
struct skill_unit_group *skillunit[MAX_SKILLUNITGROUP];
@@ -61,6 +62,7 @@ struct unit_data {
int chaserange;
bool stepaction; //Action should be executed on step [Playtester]
int steptimer; //Timer that triggers the action [Playtester]
+ int groupId; // id of client side group (works for npc and may be other) [4144]
uint16 stepskill_id,stepskill_lv; //Remembers skill that should be casted on step [Playtester]
int64 attackabletime;
int64 canact_tick;
@@ -116,7 +118,7 @@ struct unit_interface {
int (*setdir) (struct block_list *bl, unsigned char dir);
uint8 (*getdir) (struct block_list *bl);
int (*blown) (struct block_list *bl, int dx, int dy, int count, int flag);
- int (*warp) (struct block_list *bl, short m, short x, short y, clr_type type);
+ int (*warp) (struct block_list *bl, short m, short x, short y, enum clr_type type);
int (*stop_walking) (struct block_list *bl, int type);
int (*skilluse_id) (struct block_list *src, int target_id, uint16 skill_id, uint16 skill_lv);
int (*step_timer) (int tid, int64 tick, int id, intptr_t data);
@@ -142,10 +144,10 @@ struct unit_interface {
int (*counttargeted) (struct block_list *bl);
int (*fixdamage) (struct block_list *src, struct block_list *target, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
int (*changeviewsize) (struct block_list *bl, short size);
- int (*remove_map) (struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func);
- void (*remove_map_pc) (struct map_session_data *sd, clr_type clrtype);
+ int (*remove_map) (struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func);
+ void (*remove_map_pc) (struct map_session_data *sd, enum clr_type clrtype);
void (*free_pc) (struct map_session_data *sd);
- int (*free) (struct block_list *bl, clr_type clrtype);
+ int (*free) (struct block_list *bl, enum clr_type clrtype);
};
#ifdef HERCULES_CORE
diff --git a/src/plugins/HPMHooking.c b/src/plugins/HPMHooking.c
index b477cb5c3..8e7ed4823 100644
--- a/src/plugins/HPMHooking.c
+++ b/src/plugins/HPMHooking.c
@@ -25,6 +25,7 @@
#include "common/memmgr.h"
#include "common/mmo.h"
#include "common/socket.h"
+#include "common/packets.h"
PRAGMA_GCC5(GCC diagnostic push)
PRAGMA_GCC5(GCC diagnostic ignored "-Wdiscarded-qualifiers")
@@ -40,6 +41,8 @@ PRAGMA_GCC5(GCC diagnostic ignored "-Wdiscarded-qualifiers")
#include "login/lclif.p.h"
#include "login/login.h"
#include "login/loginlog.h"
+#include "login/packets_ac_struct.h"
+#include "login/packets_ca_struct.h"
#elif defined (HPMHOOKING_CHAR)
#define HPM_SERVER_TYPE SERVER_TYPE_CHAR
#define HPM_CORE_INCLUDE "HPMHooking/HPMHooking_char.HPMHooksCore.inc"
@@ -103,10 +106,13 @@ PRAGMA_GCC5(GCC diagnostic ignored "-Wdiscarded-qualifiers")
#include "map/pet.h"
#include "map/quest.h"
#include "map/rodex.h"
+#include "map/refine.h"
+#include "map/refine.p.h"
#include "map/script.h"
#include "map/skill.h"
#include "map/status.h"
#include "map/storage.h"
+#include "map/stylist.h"
#include "map/trade.h"
#include "map/unit.h"
#include "common/grfio.h"
diff --git a/src/plugins/HPMHooking.h b/src/plugins/HPMHooking.h
index 44970863c..f94dccac4 100644
--- a/src/plugins/HPMHooking.h
+++ b/src/plugins/HPMHooking.h
@@ -50,11 +50,21 @@ HPExport struct HPMHooking_interface HPMHooking_s;
HPMi->hooking->AddHook(HOOK_TYPE_PRE, #ifname "->" #funcname, (hook), HPMi->pid) \
)
+#define addHookPrePriv(ifname, funcname, hook) ( \
+ (void)((HPMHOOK_pre_PRIV__ ## ifname ## _ ## funcname)0 == (hook)), \
+ HPMi->hooking->AddHook(HOOK_TYPE_PRE, #ifname "->p->" #funcname, (hook), HPMi->pid) \
+ )
+
#define addHookPost(ifname, funcname, hook) ( \
(void)((HPMHOOK_post_ ## ifname ## _ ## funcname)0 == (hook)), \
HPMi->hooking->AddHook(HOOK_TYPE_POST, #ifname "->" #funcname, (hook), HPMi->pid) \
)
+#define addHookPostPriv(ifname, funcname, hook) ( \
+ (void)((HPMHOOK_post_PRIV__ ## ifname ## _ ## funcname)0 == (hook)), \
+ HPMi->hooking->AddHook(HOOK_TYPE_POST, #ifname "->p->" #funcname, (hook), HPMi->pid) \
+ )
+
/* need better names ;/ */
/* will not run the original function after pre-hook processing is complete (other hooks will run) */
#define hookStop() (HPMi->hooking->HookStop(__func__,HPMi->pid))
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index f80dc9003..b2c3e80ac 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -176,8 +176,12 @@ typedef void (*HPMHOOK_pre_achievement_init_titles) (struct map_session_data **s
typedef void (*HPMHOOK_post_achievement_init_titles) (struct map_session_data *sd);
typedef bool (*HPMHOOK_pre_achievement_check_title) (struct map_session_data **sd, int *title_id);
typedef bool (*HPMHOOK_post_achievement_check_title) (bool retVal___, struct map_session_data *sd, int title_id);
-typedef void (*HPMHOOK_pre_achievement_get_rewards) (struct map_session_data **sd, const struct achievement_data **ad);
-typedef void (*HPMHOOK_post_achievement_get_rewards) (struct map_session_data *sd, const struct achievement_data *ad);
+typedef bool (*HPMHOOK_pre_achievement_get_rewards) (struct map_session_data **sd, const struct achievement_data **ad);
+typedef bool (*HPMHOOK_post_achievement_get_rewards) (bool retVal___, struct map_session_data *sd, const struct achievement_data *ad);
+typedef void (*HPMHOOK_pre_achievement_get_rewards_buffs) (struct map_session_data **sd, const struct achievement_data **ad);
+typedef void (*HPMHOOK_post_achievement_get_rewards_buffs) (struct map_session_data *sd, const struct achievement_data *ad);
+typedef void (*HPMHOOK_pre_achievement_get_rewards_items) (struct map_session_data **sd, const struct achievement_data **ad);
+typedef void (*HPMHOOK_post_achievement_get_rewards_items) (struct map_session_data *sd, const struct achievement_data *ad);
#endif // MAP_ACHIEVEMENT_H
#ifdef MAP_ATCOMMAND_H /* atcommand */
typedef void (*HPMHOOK_pre_atcommand_init) (bool *minimal);
@@ -278,6 +282,8 @@ typedef void (*HPMHOOK_pre_battle_drain) (struct map_session_data **sd, struct b
typedef void (*HPMHOOK_post_battle_drain) (struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss);
typedef void (*HPMHOOK_pre_battle_reflect_damage) (struct block_list **target, struct block_list **src, struct Damage **wd, uint16 *skill_id);
typedef void (*HPMHOOK_post_battle_reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd, uint16 skill_id);
+typedef void (*HPMHOOK_pre_battle_reflect_trap) (struct block_list **target, struct block_list **src, struct Damage **md, uint16 *skill_id);
+typedef void (*HPMHOOK_post_battle_reflect_trap) (struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id);
typedef int (*HPMHOOK_pre_battle_attr_ratio) (int *atk_elem, int *def_type, int *def_lv);
typedef int (*HPMHOOK_post_battle_attr_ratio) (int retVal___, int atk_elem, int def_type, int def_lv);
typedef int64 (*HPMHOOK_pre_battle_attr_fix) (struct block_list **src, struct block_list **target, int64 *damage, int *atk_elem, int *def_type, int *def_lv);
@@ -532,8 +538,8 @@ typedef int (*HPMHOOK_pre_chr_memitemdata_to_sql) (const struct item *items[], i
typedef int (*HPMHOOK_post_chr_memitemdata_to_sql) (int retVal___, const struct item items[], int id, enum inventory_table_type table);
typedef int (*HPMHOOK_pre_chr_mmo_gender) (const struct char_session_data **sd, const struct mmo_charstatus **p, char *sex);
typedef int (*HPMHOOK_post_chr_mmo_gender) (int retVal___, const struct char_session_data *sd, const struct mmo_charstatus *p, char sex);
-typedef int (*HPMHOOK_pre_chr_mmo_chars_fromsql) (struct char_session_data **sd, uint8 **buf);
-typedef int (*HPMHOOK_post_chr_mmo_chars_fromsql) (int retVal___, struct char_session_data *sd, uint8 *buf);
+typedef int (*HPMHOOK_pre_chr_mmo_chars_fromsql) (struct char_session_data **sd, uint8 **buf, int **count);
+typedef int (*HPMHOOK_post_chr_mmo_chars_fromsql) (int retVal___, struct char_session_data *sd, uint8 *buf, int *count);
typedef int (*HPMHOOK_pre_chr_mmo_char_fromsql) (int *char_id, struct mmo_charstatus **p, bool *load_everything);
typedef int (*HPMHOOK_post_chr_mmo_char_fromsql) (int retVal___, int char_id, struct mmo_charstatus *p, bool load_everything);
typedef int (*HPMHOOK_pre_chr_mmo_char_sql_init) (void);
@@ -546,16 +552,18 @@ typedef bool (*HPMHOOK_pre_chr_name_exists) (const char **name, const char **esc
typedef bool (*HPMHOOK_post_chr_name_exists) (bool retVal___, const char *name, const char *esc_name);
typedef int (*HPMHOOK_pre_chr_check_char_name) (const char **name, const char **esc_name);
typedef int (*HPMHOOK_post_chr_check_char_name) (int retVal___, const char *name, const char *esc_name);
-typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, short *starting_job, uint8 *sex);
-typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex);
+typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, int *starting_job, uint8 *sex);
+typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex);
typedef int (*HPMHOOK_pre_chr_divorce_char_sql) (int *partner_id1, int *partner_id2);
typedef int (*HPMHOOK_post_chr_divorce_char_sql) (int retVal___, int partner_id1, int partner_id2);
typedef int (*HPMHOOK_pre_chr_count_users) (void);
typedef int (*HPMHOOK_post_chr_count_users) (int retVal___);
typedef int (*HPMHOOK_pre_chr_mmo_char_tobuf) (uint8 **buffer, struct mmo_charstatus **p);
typedef int (*HPMHOOK_post_chr_mmo_char_tobuf) (int retVal___, uint8 *buffer, struct mmo_charstatus *p);
-typedef void (*HPMHOOK_pre_chr_mmo_char_send099d) (int *fd, struct char_session_data **sd);
-typedef void (*HPMHOOK_post_chr_mmo_char_send099d) (int fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_send_HC_ACK_CHARINFO_PER_PAGE) (int *fd, struct char_session_data **sd);
+typedef void (*HPMHOOK_post_chr_send_HC_ACK_CHARINFO_PER_PAGE) (int fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail) (int *fd, struct char_session_data **sd);
+typedef void (*HPMHOOK_post_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail) (int fd, struct char_session_data *sd);
typedef void (*HPMHOOK_pre_chr_mmo_char_send_ban_list) (int *fd, struct char_session_data **sd);
typedef void (*HPMHOOK_post_chr_mmo_char_send_ban_list) (int fd, struct char_session_data *sd);
typedef void (*HPMHOOK_pre_chr_mmo_char_send_slots_info) (int *fd, struct char_session_data **sd);
@@ -1154,12 +1162,12 @@ typedef void (*HPMHOOK_pre_clif_package_announce) (struct map_session_data **sd,
typedef void (*HPMHOOK_post_clif_package_announce) (struct map_session_data *sd, int nameid, int containerid);
typedef void (*HPMHOOK_pre_clif_item_drop_announce) (struct map_session_data **sd, int *nameid, char **monsterName);
typedef void (*HPMHOOK_post_clif_item_drop_announce) (struct map_session_data *sd, int nameid, char *monsterName);
-typedef void (*HPMHOOK_pre_clif_clearunit_single) (int *id, clr_type *type, int *fd);
-typedef void (*HPMHOOK_post_clif_clearunit_single) (int id, clr_type type, int fd);
-typedef void (*HPMHOOK_pre_clif_clearunit_area) (struct block_list **bl, clr_type *type);
-typedef void (*HPMHOOK_post_clif_clearunit_area) (struct block_list *bl, clr_type type);
-typedef void (*HPMHOOK_pre_clif_clearunit_delayed) (struct block_list **bl, clr_type *type, int64 *tick);
-typedef void (*HPMHOOK_post_clif_clearunit_delayed) (struct block_list *bl, clr_type type, int64 tick);
+typedef void (*HPMHOOK_pre_clif_clearunit_single) (int *id, enum clr_type *type, int *fd);
+typedef void (*HPMHOOK_post_clif_clearunit_single) (int id, enum clr_type type, int fd);
+typedef void (*HPMHOOK_pre_clif_clearunit_area) (struct block_list **bl, enum clr_type *type);
+typedef void (*HPMHOOK_post_clif_clearunit_area) (struct block_list *bl, enum clr_type type);
+typedef void (*HPMHOOK_pre_clif_clearunit_delayed) (struct block_list **bl, enum clr_type *type, int64 *tick);
+typedef void (*HPMHOOK_post_clif_clearunit_delayed) (struct block_list *bl, enum clr_type type, int64 tick);
typedef void (*HPMHOOK_pre_clif_walkok) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_walkok) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_move) (struct unit_data **ud);
@@ -1268,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);
@@ -1288,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);
@@ -1316,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);
@@ -1332,6 +1348,18 @@ typedef void (*HPMHOOK_pre_clif_cartList) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_cartList) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_cartItems) (struct map_session_data **sd, enum inventory_type *type);
typedef void (*HPMHOOK_post_clif_cartItems) (struct map_session_data *sd, enum inventory_type type);
+typedef void (*HPMHOOK_pre_clif_inventoryExpansionInfo) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_inventoryExpansionInfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_inventoryExpandAck) (struct map_session_data **sd, enum expand_inventory *result, int *itemId);
+typedef void (*HPMHOOK_post_clif_inventoryExpandAck) (struct map_session_data *sd, enum expand_inventory result, int itemId);
+typedef void (*HPMHOOK_pre_clif_inventoryExpandResult) (struct map_session_data **sd, enum expand_inventory_result *result);
+typedef void (*HPMHOOK_post_clif_inventoryExpandResult) (struct map_session_data *sd, enum expand_inventory_result result);
+typedef void (*HPMHOOK_pre_clif_pInventoryExpansion) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pInventoryExpansion) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pInventoryExpansionConfirmed) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pInventoryExpansionConfirmed) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pInventoryExpansionRejected) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pInventoryExpansionRejected) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_favorite_item) (struct map_session_data **sd, unsigned short *index);
typedef void (*HPMHOOK_post_clif_favorite_item) (struct map_session_data *sd, unsigned short index);
typedef void (*HPMHOOK_pre_clif_clearcart) (int *fd);
@@ -1358,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);
@@ -1474,8 +1526,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);
@@ -1510,8 +1562,14 @@ 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);
+typedef void (*HPMHOOK_post_clif_removeSpecialEffect_single) (struct block_list *bl, int effectId, struct block_list *targetBl);
typedef void (*HPMHOOK_pre_clif_millenniumshield) (struct block_list **bl, short *shields);
typedef void (*HPMHOOK_post_clif_millenniumshield) (struct block_list *bl, short shields);
typedef void (*HPMHOOK_pre_clif_spiritcharm) (struct map_session_data **sd);
@@ -1542,6 +1600,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);
@@ -1562,6 +1622,8 @@ typedef void (*HPMHOOK_pre_clif_messagecolor_self) (int *fd, uint32 *color, cons
typedef void (*HPMHOOK_post_clif_messagecolor_self) (int fd, uint32 color, const char *msg);
typedef void (*HPMHOOK_pre_clif_messagecolor) (struct block_list **bl, uint32 *color, const char **msg);
typedef void (*HPMHOOK_post_clif_messagecolor) (struct block_list *bl, uint32 color, const char *msg);
+typedef void (*HPMHOOK_pre_clif_serviceMessageColor) (struct map_session_data **sd, uint32 *color, const char **msg);
+typedef void (*HPMHOOK_post_clif_serviceMessageColor) (struct map_session_data *sd, uint32 color, const char *msg);
typedef void (*HPMHOOK_pre_clif_disp_overhead) (struct block_list **bl, const char **mes, enum send_target *target, struct block_list **target_bl);
typedef void (*HPMHOOK_post_clif_disp_overhead) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl);
typedef void (*HPMHOOK_pre_clif_notify_playerchat) (struct block_list **bl, const char **mes);
@@ -1592,8 +1654,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);
@@ -1654,6 +1716,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);
@@ -1696,6 +1760,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);
@@ -1986,18 +2054,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, unsigned char *result, short *stage, short *prizeIdx, int *bonusItemID);
-typedef void (*HPMHOOK_post_clif_roulette_generate_ack) (struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID);
+typedef void (*HPMHOOK_pre_clif_roulette_generate_ack) (struct map_session_data **sd, enum GENERATE_ROULETTE_ACK *result, short *stage, short *prizeIdx, int *bonusItemID);
+typedef void (*HPMHOOK_post_clif_roulette_generate_ack) (struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID);
+typedef void (*HPMHOOK_pre_clif_roulette_close) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_roulette_close) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_openmergeitem) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_openmergeitem) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_cancelmergeitem) (int *fd, struct map_session_data **sd);
@@ -2006,6 +2076,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);
@@ -2030,8 +2102,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);
@@ -2116,8 +2190,14 @@ typedef void (*HPMHOOK_pre_clif_pStatusUp) (int *fd, struct map_session_data **s
typedef void (*HPMHOOK_post_clif_pStatusUp) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pSkillUp) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pSkillUp) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_useSkillToIdReal) (int *fd, struct map_session_data **sd, int *skill_id, int *skill_lv, int *target_id);
+typedef void (*HPMHOOK_post_clif_useSkillToIdReal) (int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id);
typedef void (*HPMHOOK_pre_clif_pUseSkillToId) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pUseSkillToId) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStartUseSkillToId) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pStartUseSkillToId) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStopUseSkillToId) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pStopUseSkillToId) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pUseSkillToId_homun) (struct homun_data **hd, struct map_session_data **sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
typedef void (*HPMHOOK_post_clif_pUseSkillToId_homun) (struct homun_data *hd, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id);
typedef void (*HPMHOOK_pre_clif_pUseSkillToId_mercenary) (struct mercenary_data **md, struct map_session_data **sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
@@ -2430,8 +2510,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);
@@ -2444,6 +2528,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);
@@ -2482,8 +2570,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);
@@ -2530,8 +2620,8 @@ typedef void (*HPMHOOK_pre_clif_pRodexOpenMailbox) (int *fd, struct map_session_
typedef void (*HPMHOOK_post_clif_pRodexOpenMailbox) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pRodexCheckName) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pRodexCheckName) (int fd, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_rodex_checkname_result) (struct map_session_data **sd, int *char_id, short *class_, int *base_level, const char **name);
-typedef void (*HPMHOOK_post_clif_rodex_checkname_result) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+typedef void (*HPMHOOK_pre_clif_rodex_checkname_result) (struct map_session_data **sd, int *char_id, int *class_, int *base_level, const char **name);
+typedef void (*HPMHOOK_post_clif_rodex_checkname_result) (struct map_session_data *sd, int char_id, int class_, int base_level, const char *name);
typedef void (*HPMHOOK_pre_clif_pRodexDeleteMail) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pRodexDeleteMail) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_rodex_delete_mail) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
@@ -2588,24 +2678,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);
@@ -2616,6 +2694,68 @@ typedef void (*HPMHOOK_pre_clif_party_dead_notification) (struct map_session_dat
typedef void (*HPMHOOK_post_clif_party_dead_notification) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pMemorialDungeonCommand) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pMemorialDungeonCommand) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_camera_showWindow) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_camera_showWindow) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_camera_change) (struct map_session_data **sd, float *range, float *rotation, float *latitude, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_camera_change) (struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target);
+typedef void (*HPMHOOK_pre_clif_pCameraInfo) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pCameraInfo) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_item_preview) (struct map_session_data **sd, int *n);
+typedef void (*HPMHOOK_post_clif_item_preview) (struct map_session_data *sd, int n);
+typedef bool (*HPMHOOK_pre_clif_enchant_equipment) (struct map_session_data **sd, enum equip_pos *pos, int *cardSlot, int *cardId);
+typedef bool (*HPMHOOK_post_clif_enchant_equipment) (bool retVal___, struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId);
+typedef void (*HPMHOOK_pre_clif_pReqRemainTime) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pReqRemainTime) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_npc_barter_open) (struct map_session_data **sd, struct npc_data **nd);
+typedef void (*HPMHOOK_post_clif_npc_barter_open) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_clif_pNPCBarterClosed) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pNPCBarterClosed) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNPCBarterPurchase) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pNPCBarterPurchase) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pClientVersion) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pClientVersion) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPing) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pPing) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_ping) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_ping) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_pingTimer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_clif_pingTimer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef int (*HPMHOOK_pre_clif_pingTimerSub) (struct map_session_data **sd, va_list ap);
+typedef int (*HPMHOOK_post_clif_pingTimerSub) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef void (*HPMHOOK_pre_clif_pResetCooldown) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pResetCooldown) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_loadConfirm) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_loadConfirm) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_send_selforarea) (int *fd, struct block_list **bl, const void **buf, int *len);
+typedef void (*HPMHOOK_post_clif_send_selforarea) (int fd, struct block_list *bl, const void *buf, int len);
+typedef void (*HPMHOOK_pre_clif_OpenRefineryUI) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_OpenRefineryUI) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAddItemRefineryUI) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pAddItemRefineryUI) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_AddItemRefineryUIAck) (struct map_session_data **sd, int *item_index, struct s_refine_requirement **req);
+typedef void (*HPMHOOK_post_clif_AddItemRefineryUIAck) (struct map_session_data *sd, int item_index, struct s_refine_requirement *req);
+typedef void (*HPMHOOK_pre_clif_pRefineryUIClose) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRefineryUIClose) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRefineryUIRefine) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRefineryUIRefine) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_announce_refine_status) (struct map_session_data **sd, int *item_id, int *refine_level, bool *success, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_announce_refine_status) (struct map_session_data *sd, int item_id, int refine_level, bool success, enum send_target target);
+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);
@@ -2818,8 +2958,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);
@@ -2880,8 +3020,8 @@ typedef int (*HPMHOOK_pre_guild_check_alliance) (int *guild_id1, int *guild_id2,
typedef int (*HPMHOOK_post_guild_check_alliance) (int retVal___, int guild_id1, int guild_id2, int flag);
typedef int (*HPMHOOK_pre_guild_send_memberinfoshort) (struct map_session_data **sd, int *online);
typedef int (*HPMHOOK_post_guild_send_memberinfoshort) (int retVal___, struct map_session_data *sd, int online);
-typedef int (*HPMHOOK_pre_guild_recv_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class, uint32 *last_login);
-typedef int (*HPMHOOK_post_guild_recv_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login);
+typedef int (*HPMHOOK_pre_guild_recv_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class, uint32 *last_login);
+typedef int (*HPMHOOK_post_guild_recv_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login);
typedef int (*HPMHOOK_pre_guild_change_memberposition) (int *guild_id, int *account_id, int *char_id, short *idx);
typedef int (*HPMHOOK_post_guild_change_memberposition) (int retVal___, int guild_id, int account_id, int char_id, short idx);
typedef int (*HPMHOOK_pre_guild_memberposition_changed) (struct guild **g, int *idx, int *pos);
@@ -2900,8 +3040,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);
@@ -2946,8 +3084,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);
@@ -3026,8 +3168,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);
@@ -3040,14 +3182,16 @@ typedef void (*HPMHOOK_pre_homun_skillup) (struct homun_data **hd, uint16 *skill
typedef void (*HPMHOOK_post_homun_skillup) (struct homun_data *hd, uint16 skill_id);
typedef bool (*HPMHOOK_pre_homun_levelup) (struct homun_data **hd);
typedef bool (*HPMHOOK_post_homun_levelup) (bool retVal___, struct homun_data *hd);
-typedef int (*HPMHOOK_pre_homun_change_class) (struct homun_data **hd, short *class_);
-typedef int (*HPMHOOK_post_homun_change_class) (int retVal___, struct homun_data *hd, short class_);
+typedef int (*HPMHOOK_pre_homun_change_class) (struct homun_data **hd, int *class_);
+typedef int (*HPMHOOK_post_homun_change_class) (int retVal___, struct homun_data *hd, int class_);
typedef bool (*HPMHOOK_pre_homun_evolve) (struct homun_data **hd);
typedef bool (*HPMHOOK_post_homun_evolve) (bool retVal___, struct homun_data *hd);
typedef bool (*HPMHOOK_pre_homun_mutate) (struct homun_data **hd, int *homun_id);
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);
@@ -3070,8 +3214,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);
@@ -3254,8 +3398,8 @@ typedef bool (*HPMHOOK_pre_inter_guild_add_member) (int *guild_id, const struct
typedef bool (*HPMHOOK_post_inter_guild_add_member) (bool retVal___, int guild_id, const struct guild_member *member, int map_fd);
typedef bool (*HPMHOOK_pre_inter_guild_leave) (int *guild_id, int *account_id, int *char_id, int *flag, const char **mes, int *map_fd);
typedef bool (*HPMHOOK_post_inter_guild_leave) (bool retVal___, int guild_id, int account_id, int char_id, int flag, const char *mes, int map_fd);
-typedef bool (*HPMHOOK_pre_inter_guild_update_member_info_short) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
-typedef bool (*HPMHOOK_post_inter_guild_update_member_info_short) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+typedef bool (*HPMHOOK_pre_inter_guild_update_member_info_short) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
+typedef bool (*HPMHOOK_post_inter_guild_update_member_info_short) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
typedef bool (*HPMHOOK_pre_inter_guild_update_member_info) (int *guild_id, int *account_id, int *char_id, int *type, const char **data, int *len);
typedef bool (*HPMHOOK_post_inter_guild_update_member_info) (bool retVal___, int guild_id, int account_id, int char_id, int type, const char *data, int len);
typedef bool (*HPMHOOK_pre_inter_guild_disband) (int *guild_id);
@@ -3318,10 +3462,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);
@@ -3338,12 +3478,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);
@@ -3448,8 +3582,8 @@ typedef int (*HPMHOOK_pre_inter_pet_delete_) (int *pet_id);
typedef int (*HPMHOOK_post_inter_pet_delete_) (int retVal___, int pet_id);
typedef int (*HPMHOOK_pre_inter_pet_parse_frommap) (int *fd);
typedef int (*HPMHOOK_post_inter_pet_parse_frommap) (int retVal___, int fd);
-typedef struct s_pet* (*HPMHOOK_pre_inter_pet_create) (int *account_id, int *char_id, short *pet_class, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
-typedef struct s_pet* (*HPMHOOK_post_inter_pet_create) (struct s_pet* retVal___, int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
+typedef struct s_pet* (*HPMHOOK_pre_inter_pet_create) (int *account_id, int *char_id, int *pet_class, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
+typedef struct s_pet* (*HPMHOOK_post_inter_pet_create) (struct s_pet* retVal___, int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
typedef struct s_pet* (*HPMHOOK_pre_inter_pet_load) (int *account_id, int *char_id, int *pet_id);
typedef struct s_pet* (*HPMHOOK_post_inter_pet_load) (struct s_pet* retVal___, int account_id, int char_id, int pet_id);
#endif // CHAR_INT_PET_H
@@ -3478,12 +3612,16 @@ typedef int (*HPMHOOK_pre_inter_rodex_fromsql) (int *char_id, int *account_id, i
typedef int (*HPMHOOK_post_inter_rodex_fromsql) (int retVal___, int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails);
typedef bool (*HPMHOOK_pre_inter_rodex_hasnew) (int *char_id, int *account_id);
typedef bool (*HPMHOOK_post_inter_rodex_hasnew) (bool retVal___, int char_id, int account_id);
-typedef bool (*HPMHOOK_pre_inter_rodex_checkname) (const char **name, int **target_char_id, short **target_class, int **target_level);
-typedef bool (*HPMHOOK_post_inter_rodex_checkname) (bool retVal___, const char *name, int *target_char_id, short *target_class, int *target_level);
+typedef bool (*HPMHOOK_pre_inter_rodex_checkname) (const char **name, int **target_char_id, int **target_class, int **target_level);
+typedef bool (*HPMHOOK_post_inter_rodex_checkname) (bool retVal___, const char *name, int *target_char_id, int *target_class, int *target_level);
typedef int64 (*HPMHOOK_pre_inter_rodex_savemessage) (struct rodex_message **msg);
typedef int64 (*HPMHOOK_post_inter_rodex_savemessage) (int64 retVal___, struct rodex_message *msg);
-typedef bool (*HPMHOOK_pre_inter_rodex_updatemail) (int64 *mail_id, int8 *flag);
-typedef bool (*HPMHOOK_post_inter_rodex_updatemail) (bool retVal___, int64 mail_id, int8 flag);
+typedef bool (*HPMHOOK_pre_inter_rodex_updatemail) (int *fd, int *account_id, int *char_id, int64 *mail_id, uint8 *opentype, int8 *flag);
+typedef bool (*HPMHOOK_post_inter_rodex_updatemail) (bool retVal___, int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag);
+typedef int64 (*HPMHOOK_pre_inter_rodex_getzeny) (int64 *mail_id);
+typedef int64 (*HPMHOOK_post_inter_rodex_getzeny) (int64 retVal___, int64 mail_id);
+typedef int (*HPMHOOK_pre_inter_rodex_getitems) (int64 *mail_id, struct rodex_item **items);
+typedef int (*HPMHOOK_post_inter_rodex_getitems) (int retVal___, int64 mail_id, struct rodex_item *items);
#endif // CHAR_INT_RODEX_H
#ifdef CHAR_INT_STORAGE_H /* inter_storage */
typedef int (*HPMHOOK_pre_inter_storage_tosql) (int *account_id, const struct storage_data **p);
@@ -3510,18 +3648,8 @@ typedef bool (*HPMHOOK_post_inter_storage_retrieve_bound_items) (bool retVal___,
#ifdef MAP_INTIF_H /* intif */
typedef int (*HPMHOOK_pre_intif_parse) (int *fd);
typedef int (*HPMHOOK_post_intif_parse) (int retVal___, int fd);
-typedef int (*HPMHOOK_pre_intif_create_pet) (int *account_id, int *char_id, short *pet_type, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
-typedef int (*HPMHOOK_post_intif_create_pet) (int retVal___, int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
-typedef int (*HPMHOOK_pre_intif_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_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_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);
@@ -3548,8 +3676,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);
@@ -3560,12 +3686,10 @@ typedef int (*HPMHOOK_pre_intif_guild_addmember) (int *guild_id, struct guild_me
typedef int (*HPMHOOK_post_intif_guild_addmember) (int retVal___, int guild_id, struct guild_member *m);
typedef int (*HPMHOOK_pre_intif_guild_leave) (int *guild_id, int *account_id, int *char_id, int *flag, const char **mes);
typedef int (*HPMHOOK_post_intif_guild_leave) (int retVal___, int guild_id, int account_id, int char_id, int flag, const char *mes);
-typedef int (*HPMHOOK_pre_intif_guild_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
-typedef int (*HPMHOOK_post_intif_guild_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+typedef int (*HPMHOOK_pre_intif_guild_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
+typedef int (*HPMHOOK_post_intif_guild_memberinfoshort) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
typedef int (*HPMHOOK_pre_intif_guild_break) (int *guild_id);
typedef int (*HPMHOOK_post_intif_guild_break) (int retVal___, int guild_id);
-typedef int (*HPMHOOK_pre_intif_guild_message) (int *guild_id, int *account_id, const char **mes, int *len);
-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);
@@ -3650,12 +3774,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);
@@ -3668,14 +3796,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);
@@ -3704,8 +3824,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);
@@ -3718,8 +3836,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);
@@ -3894,8 +4010,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);
@@ -3960,10 +4076,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);
@@ -3998,6 +4114,14 @@ typedef bool (*HPMHOOK_pre_itemdb_lookup_const) (const struct config_setting_t *
typedef bool (*HPMHOOK_post_itemdb_lookup_const) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
typedef bool (*HPMHOOK_pre_itemdb_lookup_const_mask) (const struct config_setting_t **it, const char **name, int **value);
typedef bool (*HPMHOOK_post_itemdb_lookup_const_mask) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
+typedef int (*HPMHOOK_pre_itemdb_addname_sub) (union DBKey *key, struct DBData **data, va_list ap);
+typedef int (*HPMHOOK_post_itemdb_addname_sub) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
+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);
@@ -4056,12 +4180,20 @@ typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) (
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN_OTP) (int *fd, struct login_session_data **sd);
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN_OTP) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_ACK_MOBILE_OTP) (int *fd, struct login_session_data **sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_ACK_MOBILE_OTP) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_OTP_CODE) (int *fd, struct login_session_data **sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_OTP_CODE) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_REQ_HASH) (int *fd, struct login_session_data **sd);
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_REQ_HASH) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_CHARSERVERCONNECT) (int *fd, struct login_session_data **sd);
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);
@@ -4242,8 +4374,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);
@@ -4338,6 +4470,8 @@ typedef bool (*HPMHOOK_pre_login_client_login) (int *fd, struct login_session_da
typedef bool (*HPMHOOK_post_login_client_login) (bool retVal___, int fd, struct login_session_data *sd);
typedef bool (*HPMHOOK_pre_login_client_login_otp) (int *fd, struct login_session_data **sd);
typedef bool (*HPMHOOK_post_login_client_login_otp) (bool retVal___, int fd, struct login_session_data *sd);
+typedef void (*HPMHOOK_pre_login_client_login_mobile_otp_request) (int *fd, struct login_session_data **sd);
+typedef void (*HPMHOOK_post_login_client_login_mobile_otp_request) (int fd, struct login_session_data *sd);
typedef void (*HPMHOOK_pre_login_char_server_connection_status) (int *fd, struct login_session_data **sd, uint8 *status);
typedef void (*HPMHOOK_post_login_char_server_connection_status) (int fd, struct login_session_data *sd, uint8 status);
typedef void (*HPMHOOK_pre_login_parse_request_connection) (int *fd, struct login_session_data **sd, const char **ip, uint32 *ipl);
@@ -4442,6 +4576,8 @@ typedef void (*HPMHOOK_pre_map_zone_init) (void);
typedef void (*HPMHOOK_post_map_zone_init) (void);
typedef void (*HPMHOOK_pre_map_zone_remove) (int *m);
typedef void (*HPMHOOK_post_map_zone_remove) (int m);
+typedef void (*HPMHOOK_pre_map_zone_remove_all) (int *m);
+typedef void (*HPMHOOK_post_map_zone_remove_all) (int m);
typedef void (*HPMHOOK_pre_map_zone_apply) (int *m, struct map_zone_data **zone, const char **start, const char **buffer, const char **filepath);
typedef void (*HPMHOOK_post_map_zone_apply) (int m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath);
typedef void (*HPMHOOK_pre_map_zone_change) (int *m, struct map_zone_data **zone, const char **start, const char **buffer, const char **filepath);
@@ -4576,8 +4712,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);
@@ -4700,8 +4836,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);
@@ -4792,8 +4928,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);
@@ -4820,12 +4954,10 @@ typedef int (*HPMHOOK_pre_mapif_parse_GuildAddMember) (int *fd, int *guild_id, c
typedef int (*HPMHOOK_post_mapif_parse_GuildAddMember) (int retVal___, int fd, int guild_id, const struct guild_member *m);
typedef int (*HPMHOOK_pre_mapif_parse_GuildLeave) (int *fd, int *guild_id, int *account_id, int *char_id, int *flag, const char **mes);
typedef int (*HPMHOOK_post_mapif_parse_GuildLeave) (int retVal___, int fd, int guild_id, int account_id, int char_id, int flag, const char *mes);
-typedef int (*HPMHOOK_pre_mapif_parse_GuildChangeMemberInfoShort) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
-typedef int (*HPMHOOK_post_mapif_parse_GuildChangeMemberInfoShort) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildChangeMemberInfoShort) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
+typedef int (*HPMHOOK_post_mapif_parse_GuildChangeMemberInfoShort) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int class);
typedef int (*HPMHOOK_pre_mapif_parse_BreakGuild) (int *fd, int *guild_id);
typedef int (*HPMHOOK_post_mapif_parse_BreakGuild) (int retVal___, int fd, int guild_id);
-typedef int (*HPMHOOK_pre_mapif_parse_GuildMessage) (int *fd, int *guild_id, int *account_id, const char **mes, int *len);
-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);
@@ -4920,8 +5052,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);
@@ -4936,8 +5066,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);
@@ -4986,8 +5114,12 @@ typedef void (*HPMHOOK_pre_mapif_rodex_send) (int *fd, int *sender_id, int *rece
typedef void (*HPMHOOK_post_mapif_rodex_send) (int fd, int sender_id, int receiver_id, int receiver_accountid, bool result);
typedef void (*HPMHOOK_pre_mapif_parse_rodex_checkname) (int *fd);
typedef void (*HPMHOOK_post_mapif_parse_rodex_checkname) (int fd);
-typedef void (*HPMHOOK_pre_mapif_rodex_checkname) (int *fd, int *reqchar_id, int *target_char_id, short *target_class, int *target_level, char **name);
-typedef void (*HPMHOOK_post_mapif_rodex_checkname) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name);
+typedef void (*HPMHOOK_pre_mapif_rodex_checkname) (int *fd, int *reqchar_id, int *target_char_id, int *target_class, int *target_level, char **name);
+typedef void (*HPMHOOK_post_mapif_rodex_checkname) (int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name);
+typedef void (*HPMHOOK_pre_mapif_rodex_getzenyack) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int64 *zeny);
+typedef void (*HPMHOOK_post_mapif_rodex_getzenyack) (int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny);
+typedef void (*HPMHOOK_pre_mapif_rodex_getitemsack) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int *count, const struct rodex_item **items);
+typedef void (*HPMHOOK_post_mapif_rodex_getitemsack) (int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items);
typedef int (*HPMHOOK_pre_mapif_load_guild_storage) (int *fd, int *account_id, int *guild_id, char *flag);
typedef int (*HPMHOOK_post_mapif_load_guild_storage) (int retVal___, int fd, int account_id, int guild_id, char flag);
typedef int (*HPMHOOK_pre_mapif_save_guild_storage_ack) (int *fd, int *account_id, int *guild_id, int *fail);
@@ -5010,26 +5142,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);
@@ -5044,6 +5160,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);
@@ -5172,6 +5292,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);
@@ -5244,6 +5366,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);
@@ -5264,8 +5388,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);
@@ -5330,6 +5456,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);
@@ -5350,12 +5484,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);
@@ -5380,6 +5518,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);
@@ -5554,8 +5694,8 @@ typedef int (*HPMHOOK_pre_npc_parseview) (const char **w4, const char **start, c
typedef int (*HPMHOOK_post_npc_parseview) (int retVal___, const char *w4, const char *start, const char *buffer, const char *filepath);
typedef bool (*HPMHOOK_pre_npc_viewisid) (const char **viewid);
typedef bool (*HPMHOOK_post_npc_viewisid) (bool retVal___, const char *viewid);
-typedef struct npc_data* (*HPMHOOK_pre_npc_create_npc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int16 *class_);
-typedef struct npc_data* (*HPMHOOK_post_npc_create_npc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_);
+typedef struct npc_data* (*HPMHOOK_pre_npc_create_npc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int *class_);
+typedef struct npc_data* (*HPMHOOK_post_npc_create_npc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_);
typedef struct npc_data* (*HPMHOOK_pre_npc_add_warp) (char **name, short *from_mapid, short *from_x, short *from_y, short *xs, short *ys, unsigned short *to_mapindex, short *to_x, short *to_y);
typedef struct npc_data* (*HPMHOOK_post_npc_add_warp) (struct npc_data* retVal___, char *name, short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y);
typedef const char* (*HPMHOOK_pre_npc_parse_warp) (const char **w1, const char **w2, const char **w3, const char **w4, const char **start, const char **buffer, const char **filepath, int **retval);
@@ -5594,8 +5734,8 @@ typedef void (*HPMHOOK_pre_npc_movenpc) (struct npc_data **nd, int16 *x, int16 *
typedef void (*HPMHOOK_post_npc_movenpc) (struct npc_data *nd, int16 x, int16 y);
typedef void (*HPMHOOK_pre_npc_setdisplayname) (struct npc_data **nd, const char **newname);
typedef void (*HPMHOOK_post_npc_setdisplayname) (struct npc_data *nd, const char *newname);
-typedef void (*HPMHOOK_pre_npc_setclass) (struct npc_data **nd, short *class_);
-typedef void (*HPMHOOK_post_npc_setclass) (struct npc_data *nd, short class_);
+typedef void (*HPMHOOK_pre_npc_setclass) (struct npc_data **nd, int *class_);
+typedef void (*HPMHOOK_post_npc_setclass) (struct npc_data *nd, int class_);
typedef int (*HPMHOOK_pre_npc_do_atcmd_event) (struct map_session_data **sd, const char **command, const char **message, const char **eventname);
typedef int (*HPMHOOK_post_npc_do_atcmd_event) (int retVal___, struct map_session_data *sd, const char *command, const char *message, const char *eventname);
typedef const char* (*HPMHOOK_pre_npc_parse_function) (const char **w1, const char **w2, const char **w3, const char **w4, const char **start, const char **buffer, const char **filepath, int **retval);
@@ -5634,22 +5774,34 @@ 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 bool (*HPMHOOK_pre_npc_trader_open) (struct map_session_data **sd, struct npc_data **nd);
typedef bool (*HPMHOOK_post_npc_trader_open) (bool retVal___, struct map_session_data *sd, struct npc_data *nd);
typedef void (*HPMHOOK_pre_npc_market_fromsql) (void);
typedef void (*HPMHOOK_post_npc_market_fromsql) (void);
-typedef void (*HPMHOOK_pre_npc_market_tosql) (struct npc_data **nd, unsigned short *index);
-typedef void (*HPMHOOK_post_npc_market_tosql) (struct npc_data *nd, unsigned short index);
-typedef void (*HPMHOOK_pre_npc_market_delfromsql) (struct npc_data **nd, unsigned short *index);
-typedef void (*HPMHOOK_post_npc_market_delfromsql) (struct npc_data *nd, unsigned short index);
-typedef void (*HPMHOOK_pre_npc_market_delfromsql_sub) (const char **npcname, unsigned short *index);
-typedef void (*HPMHOOK_post_npc_market_delfromsql_sub) (const char *npcname, unsigned short index);
+typedef void (*HPMHOOK_pre_npc_market_tosql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_market_tosql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_market_delfromsql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_market_delfromsql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_market_delfromsql_sub) (const char **npcname, int *index);
+typedef void (*HPMHOOK_post_npc_market_delfromsql_sub) (const char *npcname, int index);
+typedef void (*HPMHOOK_pre_npc_barter_fromsql) (void);
+typedef void (*HPMHOOK_post_npc_barter_fromsql) (void);
+typedef void (*HPMHOOK_pre_npc_barter_tosql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_barter_tosql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_barter_delfromsql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_barter_delfromsql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_barter_delfromsql_sub) (const char **npcname, int *itemId, int *itemId2, int *amount2);
+typedef void (*HPMHOOK_post_npc_barter_delfromsql_sub) (const char *npcname, int itemId, int itemId2, int amount2);
typedef bool (*HPMHOOK_pre_npc_db_checkid) (const int *id);
typedef bool (*HPMHOOK_post_npc_db_checkid) (bool retVal___, const int id);
typedef void (*HPMHOOK_pre_npc_refresh) (struct npc_data **nd);
typedef void (*HPMHOOK_post_npc_refresh) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_questinfo_clear) (struct npc_data **nd);
+typedef void (*HPMHOOK_post_npc_questinfo_clear) (struct npc_data *nd);
typedef int (*HPMHOOK_pre_npc_secure_timeout_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_npc_secure_timeout_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
#endif // MAP_NPC_H
@@ -5657,6 +5809,16 @@ typedef int (*HPMHOOK_post_npc_secure_timeout_timer) (int retVal___, int tid, in
typedef void (*HPMHOOK_pre_nullpo_assert_report) (const char **file, int *line, const char **func, const char **targetname, const char **title);
typedef void (*HPMHOOK_post_nullpo_assert_report) (const char *file, int line, const char *func, const char *targetname, const char *title);
#endif // COMMON_NULLPO_H
+#ifdef COMMON_PACKETS_H /* packets */
+typedef void (*HPMHOOK_pre_packets_init) (void);
+typedef void (*HPMHOOK_post_packets_init) (void);
+typedef void (*HPMHOOK_pre_packets_final) (void);
+typedef void (*HPMHOOK_post_packets_final) (void);
+typedef void (*HPMHOOK_pre_packets_addLens) (void);
+typedef void (*HPMHOOK_post_packets_addLens) (void);
+typedef void (*HPMHOOK_pre_packets_addLen) (int *id, int *len);
+typedef void (*HPMHOOK_post_packets_addLen) (int id, int len);
+#endif // COMMON_PACKETS_H
#ifdef MAP_PARTY_H /* party */
typedef void (*HPMHOOK_pre_party_init) (bool *minimal);
typedef void (*HPMHOOK_post_party_init) (bool minimal);
@@ -5712,8 +5874,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);
@@ -5820,8 +5980,8 @@ typedef int (*HPMHOOK_pre_pc_setrestartvalue) (struct map_session_data **sd, int
typedef int (*HPMHOOK_post_pc_setrestartvalue) (int retVal___, struct map_session_data *sd, int type);
typedef int (*HPMHOOK_pre_pc_makesavestatus) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_makesavestatus) (int retVal___, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_pc_respawn) (struct map_session_data **sd, clr_type *clrtype);
-typedef void (*HPMHOOK_post_pc_respawn) (struct map_session_data *sd, clr_type clrtype);
+typedef void (*HPMHOOK_pre_pc_respawn) (struct map_session_data **sd, enum clr_type *clrtype);
+typedef void (*HPMHOOK_post_pc_respawn) (struct map_session_data *sd, enum clr_type clrtype);
typedef int (*HPMHOOK_pre_pc_setnewpc) (struct map_session_data **sd, int *account_id, int *char_id, int *login_id1, unsigned int *client_tick, int *sex, int *fd);
typedef int (*HPMHOOK_post_pc_setnewpc) (int retVal___, struct map_session_data *sd, int account_id, int char_id, int login_id1, unsigned int client_tick, int sex, int fd);
typedef bool (*HPMHOOK_pre_pc_authok) (struct map_session_data **sd, int *login_id2, time_t *expiration_time, int *group_id, const struct mmo_charstatus **st, bool *changing_mapservers);
@@ -5856,12 +6016,12 @@ typedef int (*HPMHOOK_pre_pc_calc_skilltree_normalize_job) (struct map_session_d
typedef int (*HPMHOOK_post_pc_calc_skilltree_normalize_job) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_clean_skilltree) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_clean_skilltree) (int retVal___, struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_pc_setpos) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype);
-typedef int (*HPMHOOK_post_pc_setpos) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype);
+typedef int (*HPMHOOK_pre_pc_setpos) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, enum clr_type *clrtype);
+typedef int (*HPMHOOK_post_pc_setpos) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype);
typedef int (*HPMHOOK_pre_pc_setsavepoint) (struct map_session_data **sd, short *map_index, int *x, int *y);
typedef int (*HPMHOOK_post_pc_setsavepoint) (int retVal___, struct map_session_data *sd, short map_index, int x, int y);
-typedef int (*HPMHOOK_pre_pc_randomwarp) (struct map_session_data **sd, clr_type *type);
-typedef int (*HPMHOOK_post_pc_randomwarp) (int retVal___, struct map_session_data *sd, clr_type type);
+typedef int (*HPMHOOK_pre_pc_randomwarp) (struct map_session_data **sd, enum clr_type *type);
+typedef int (*HPMHOOK_post_pc_randomwarp) (int retVal___, struct map_session_data *sd, enum clr_type type);
typedef int (*HPMHOOK_pre_pc_memo) (struct map_session_data **sd, int *pos);
typedef int (*HPMHOOK_post_pc_memo) (int retVal___, struct map_session_data *sd, int pos);
typedef int (*HPMHOOK_pre_pc_checkadditem) (struct map_session_data **sd, int *nameid, int *amount);
@@ -5872,8 +6032,8 @@ typedef int (*HPMHOOK_pre_pc_search_inventory) (struct map_session_data **sd, in
typedef int (*HPMHOOK_post_pc_search_inventory) (int retVal___, struct map_session_data *sd, int item_id);
typedef int (*HPMHOOK_pre_pc_payzeny) (struct map_session_data **sd, int *zeny, enum e_log_pick_type *type, struct map_session_data **tsd);
typedef int (*HPMHOOK_post_pc_payzeny) (int retVal___, struct map_session_data *sd, int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
-typedef int (*HPMHOOK_pre_pc_additem) (struct map_session_data **sd, struct item **item_data, int *amount, e_log_pick_type *log_type);
-typedef int (*HPMHOOK_post_pc_additem) (int retVal___, struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type);
+typedef int (*HPMHOOK_pre_pc_additem) (struct map_session_data **sd, const struct item **item_data, int *amount, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_post_pc_additem) (int retVal___, struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type);
typedef int (*HPMHOOK_pre_pc_getzeny) (struct map_session_data **sd, int *zeny, enum e_log_pick_type *type, struct map_session_data **tsd);
typedef int (*HPMHOOK_post_pc_getzeny) (int retVal___, struct map_session_data *sd, int zeny, enum e_log_pick_type type, struct map_session_data *tsd);
typedef int (*HPMHOOK_pre_pc_delitem) (struct map_session_data **sd, int *n, int *amount, int *type, short *reason, e_log_pick_type *log_type);
@@ -5904,8 +6064,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);
@@ -6092,10 +6252,10 @@ typedef void (*HPMHOOK_pre_pc_setstand) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_pc_setstand) (struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_candrop) (struct map_session_data **sd, struct item **item);
typedef int (*HPMHOOK_post_pc_candrop) (int retVal___, struct map_session_data *sd, struct item *item);
-typedef int (*HPMHOOK_pre_pc_jobid2mapid) (int16 *class);
-typedef int (*HPMHOOK_post_pc_jobid2mapid) (int retVal___, int16 class);
-typedef int (*HPMHOOK_pre_pc_mapid2jobid) (unsigned short *class_, int *sex);
-typedef int (*HPMHOOK_post_pc_mapid2jobid) (int retVal___, unsigned short class_, int sex);
+typedef int (*HPMHOOK_pre_pc_jobid2mapid) (int *class);
+typedef int (*HPMHOOK_post_pc_jobid2mapid) (int retVal___, int class);
+typedef int (*HPMHOOK_pre_pc_mapid2jobid) (unsigned int *class_, int *sex);
+typedef int (*HPMHOOK_post_pc_mapid2jobid) (int retVal___, unsigned int class_, int sex);
typedef const char* (*HPMHOOK_pre_pc_job_name) (int *class);
typedef const char* (*HPMHOOK_post_pc_job_name) (const char* retVal___, int class);
typedef void (*HPMHOOK_pre_pc_setinvincibletimer) (struct map_session_data **sd, int *val);
@@ -6178,8 +6338,8 @@ typedef int (*HPMHOOK_pre_pc_bonus_addeff) (struct s_addeffect **effect, int *ma
typedef int (*HPMHOOK_post_pc_bonus_addeff) (int retVal___, struct s_addeffect *effect, int max, enum sc_type id, int16 rate, int16 arrow_rate, uint8 flag, uint16 duration);
typedef int (*HPMHOOK_pre_pc_bonus_addeff_onskill) (struct s_addeffectonskill **effect, int *max, enum sc_type *id, short *rate, short *skill_id, unsigned char *target);
typedef int (*HPMHOOK_post_pc_bonus_addeff_onskill) (int retVal___, struct s_addeffectonskill *effect, int max, enum sc_type id, short rate, short skill_id, unsigned char target);
-typedef int (*HPMHOOK_pre_pc_bonus_item_drop) (struct s_add_drop **drop, const short *max, short *id, short *group, int *race, int *rate);
-typedef int (*HPMHOOK_post_pc_bonus_item_drop) (int retVal___, struct s_add_drop *drop, const short max, short id, short group, int race, int rate);
+typedef int (*HPMHOOK_pre_pc_bonus_item_drop) (struct s_add_drop **drop, const short *max, int *id, bool *is_group, int *race, int *rate);
+typedef int (*HPMHOOK_post_pc_bonus_item_drop) (int retVal___, struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate);
typedef void (*HPMHOOK_pre_pc_calcexp) (struct map_session_data **sd, uint64 **base_exp, uint64 **job_exp, struct block_list **src);
typedef void (*HPMHOOK_post_pc_calcexp) (struct map_session_data *sd, uint64 *base_exp, uint64 *job_exp, struct block_list *src);
typedef int (*HPMHOOK_pre_pc_respawn_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
@@ -6264,8 +6424,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);
@@ -6274,6 +6440,10 @@ typedef bool (*HPMHOOK_pre_pc_isDeathPenaltyJob) (uint16 *job);
typedef bool (*HPMHOOK_post_pc_isDeathPenaltyJob) (bool retVal___, uint16 job);
typedef bool (*HPMHOOK_pre_pc_has_second_costume) (struct map_session_data **sd);
typedef bool (*HPMHOOK_post_pc_has_second_costume) (bool retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_pc_expandInventory) (struct map_session_data **sd, int *adjustSize);
+typedef bool (*HPMHOOK_post_pc_expandInventory) (bool retVal___, struct map_session_data *sd, int adjustSize);
+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);
@@ -6334,8 +6504,8 @@ typedef int (*HPMHOOK_pre_pet_catch_process1) (struct map_session_data **sd, int
typedef int (*HPMHOOK_post_pet_catch_process1) (int retVal___, struct map_session_data *sd, int target_class);
typedef int (*HPMHOOK_pre_pet_catch_process2) (struct map_session_data **sd, int *target_id);
typedef int (*HPMHOOK_post_pet_catch_process2) (int retVal___, struct map_session_data *sd, int target_id);
-typedef bool (*HPMHOOK_pre_pet_get_egg) (int *account_id, short *pet_class, int *pet_id);
-typedef bool (*HPMHOOK_post_pet_get_egg) (bool retVal___, int account_id, short pet_class, int pet_id);
+typedef bool (*HPMHOOK_pre_pet_get_egg) (int *account_id, int *pet_class, int *pet_id);
+typedef bool (*HPMHOOK_post_pet_get_egg) (bool retVal___, int account_id, int pet_class, int pet_id);
typedef int (*HPMHOOK_pre_pet_unequipitem) (struct map_session_data **sd, struct pet_data **pd);
typedef int (*HPMHOOK_post_pet_unequipitem) (int retVal___, struct map_session_data *sd, struct pet_data *pd);
typedef int (*HPMHOOK_pre_pet_food) (struct map_session_data **sd, struct pet_data **pd);
@@ -6468,9 +6638,43 @@ typedef bool (*HPMHOOK_pre_quest_questinfo_validate_homunculus_type) (struct map
typedef bool (*HPMHOOK_post_quest_questinfo_validate_homunculus_type) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
typedef bool (*HPMHOOK_pre_quest_questinfo_validate_quests) (struct map_session_data **sd, struct questinfo **qi);
typedef bool (*HPMHOOK_post_quest_questinfo_validate_quests) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
-typedef void (*HPMHOOK_pre_quest_questinfo_vector_clear) (int *m);
-typedef void (*HPMHOOK_post_quest_questinfo_vector_clear) (int m);
+typedef bool (*HPMHOOK_pre_quest_questinfo_validate_mercenary_class) (struct map_session_data **sd, struct questinfo **qi);
+typedef bool (*HPMHOOK_post_quest_questinfo_validate_mercenary_class) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
#endif // MAP_QUEST_H
+#ifdef MAP_REFINE_H /* refine */
+typedef int (*HPMHOOK_pre_refine_init) (bool *minimal);
+typedef int (*HPMHOOK_post_refine_init) (int retVal___, bool minimal);
+typedef void (*HPMHOOK_pre_refine_final) (void);
+typedef void (*HPMHOOK_post_refine_final) (void);
+typedef int (*HPMHOOK_pre_refine_get_refine_chance) (enum refine_type *wlv, int *refine_level, enum refine_chance_type *type);
+typedef int (*HPMHOOK_post_refine_get_refine_chance) (int retVal___, enum refine_type wlv, int refine_level, enum refine_chance_type type);
+typedef int (*HPMHOOK_pre_refine_get_bonus) (enum refine_type *equipment_type, int *refine_level);
+typedef int (*HPMHOOK_post_refine_get_bonus) (int retVal___, enum refine_type equipment_type, int refine_level);
+typedef int (*HPMHOOK_pre_refine_get_randombonus_max) (enum refine_type *equipment_type, int *refine_level);
+typedef int (*HPMHOOK_post_refine_get_randombonus_max) (int retVal___, enum refine_type equipment_type, int refine_level);
+typedef void (*HPMHOOK_pre_refine_refinery_add_item) (struct map_session_data **sd, int *item_index);
+typedef void (*HPMHOOK_post_refine_refinery_add_item) (struct map_session_data *sd, int item_index);
+typedef void (*HPMHOOK_pre_refine_refinery_refine_request) (struct map_session_data **sd, int *item_index, int *material_id, bool *use_blacksmith_blessing);
+typedef void (*HPMHOOK_post_refine_refinery_refine_request) (struct map_session_data *sd, int item_index, int material_id, bool use_blacksmith_blessing);
+#endif // MAP_REFINE_H
+#ifdef MAP_REFINE_P_H /* PRIV__refine */
+typedef int (*HPMHOOK_pre_PRIV__refine_readdb_refine_libconfig_sub) (struct config_setting_t **r, const char **name, const char **source);
+typedef int (*HPMHOOK_post_PRIV__refine_readdb_refine_libconfig_sub) (int retVal___, struct config_setting_t *r, const char *name, const char *source);
+typedef int (*HPMHOOK_pre_PRIV__refine_readdb_refine_libconfig) (const char **filename);
+typedef int (*HPMHOOK_post_PRIV__refine_readdb_refine_libconfig) (int retVal___, const char *filename);
+typedef bool (*HPMHOOK_pre_PRIV__refine_announce_behavior_string2enum) (const char **str, unsigned int **result);
+typedef bool (*HPMHOOK_post_PRIV__refine_announce_behavior_string2enum) (bool retVal___, const char *str, unsigned int *result);
+typedef bool (*HPMHOOK_pre_PRIV__refine_failure_behavior_string2enum) (const char **str, enum refine_ui_failure_behavior **result);
+typedef bool (*HPMHOOK_post_PRIV__refine_failure_behavior_string2enum) (bool retVal___, const char *str, enum refine_ui_failure_behavior *result);
+typedef bool (*HPMHOOK_pre_PRIV__refine_readdb_refinery_ui_settings_items) (const struct config_setting_t **elem, struct s_refine_requirement **req, const char **name, const char **source);
+typedef bool (*HPMHOOK_post_PRIV__refine_readdb_refinery_ui_settings_items) (bool retVal___, const struct config_setting_t *elem, struct s_refine_requirement *req, const char *name, const char *source);
+typedef bool (*HPMHOOK_pre_PRIV__refine_readdb_refinery_ui_settings_sub) (const struct config_setting_t **elem, int *type, const char **name, const char **source);
+typedef bool (*HPMHOOK_post_PRIV__refine_readdb_refinery_ui_settings_sub) (bool retVal___, const struct config_setting_t *elem, int type, const char *name, const char *source);
+typedef int (*HPMHOOK_pre_PRIV__refine_readdb_refinery_ui_settings) (const struct config_setting_t **r, int *type, const char **name, const char **source);
+typedef int (*HPMHOOK_post_PRIV__refine_readdb_refinery_ui_settings) (int retVal___, const struct config_setting_t *r, int type, const char *name, const char *source);
+typedef bool (*HPMHOOK_pre_PRIV__refine_is_refinable) (struct map_session_data **sd, int *item_index);
+typedef bool (*HPMHOOK_post_PRIV__refine_is_refinable) (bool retVal___, struct map_session_data *sd, int item_index);
+#endif // MAP_REFINE_P_H
#ifdef COMMON_RANDOM_H /* rnd */
typedef void (*HPMHOOK_pre_rnd_init) (void);
typedef void (*HPMHOOK_post_rnd_init) (void);
@@ -6506,8 +6710,8 @@ typedef void (*HPMHOOK_pre_rodex_add_item) (struct map_session_data **sd, int16
typedef void (*HPMHOOK_post_rodex_add_item) (struct map_session_data *sd, int16 idx, int16 amount);
typedef void (*HPMHOOK_pre_rodex_remove_item) (struct map_session_data **sd, int16 *idx, int16 *amount);
typedef void (*HPMHOOK_post_rodex_remove_item) (struct map_session_data *sd, int16 idx, int16 amount);
-typedef void (*HPMHOOK_pre_rodex_check_player) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, short **class);
-typedef void (*HPMHOOK_post_rodex_check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+typedef void (*HPMHOOK_pre_rodex_check_player) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, int **class);
+typedef void (*HPMHOOK_post_rodex_check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class);
typedef int (*HPMHOOK_pre_rodex_send_mail) (struct map_session_data **sd, const char **receiver_name, const char **body, const char **title, int64 *zeny);
typedef int (*HPMHOOK_post_rodex_send_mail) (int retVal___, struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny);
typedef void (*HPMHOOK_pre_rodex_send_mail_result) (struct map_session_data **ssd, struct map_session_data **rsd, bool *result);
@@ -6524,6 +6728,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);
@@ -6874,8 +7082,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);
@@ -6884,8 +7094,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);
@@ -6894,6 +7104,12 @@ 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);
#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);
@@ -6914,8 +7130,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);
@@ -7186,6 +7402,8 @@ typedef int (*HPMHOOK_pre_skill_cell_overlap) (struct block_list **bl, va_list a
typedef int (*HPMHOOK_post_skill_cell_overlap) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_timerskill) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_skill_timerskill) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef void (*HPMHOOK_pre_skill_trap_do_splash) (struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int *bl_flag, int64 *tick);
+typedef void (*HPMHOOK_post_skill_trap_do_splash) (struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick);
typedef int (*HPMHOOK_pre_skill_trap_splash) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_skill_trap_splash) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_check_condition_mercenary) (struct block_list **bl, int *skill_id, int *lv, int *type);
@@ -7432,12 +7650,16 @@ typedef int (*HPMHOOK_pre_sockt_realloc_fifo) (int *fd, unsigned int *rfifo_size
typedef int (*HPMHOOK_post_sockt_realloc_fifo) (int retVal___, int fd, unsigned int rfifo_size, unsigned int wfifo_size);
typedef int (*HPMHOOK_pre_sockt_realloc_writefifo) (int *fd, size_t *addition);
typedef int (*HPMHOOK_post_sockt_realloc_writefifo) (int retVal___, int fd, size_t addition);
-typedef int (*HPMHOOK_pre_sockt_wfifoset) (int *fd, size_t *len);
-typedef int (*HPMHOOK_post_sockt_wfifoset) (int retVal___, int fd, size_t len);
+typedef int (*HPMHOOK_pre_sockt_wfifoset) (int *fd, size_t *len, bool *validate);
+typedef int (*HPMHOOK_post_sockt_wfifoset) (int retVal___, int fd, size_t len, bool validate);
+typedef void (*HPMHOOK_pre_sockt_wfifohead) (int *fd, size_t *len);
+typedef void (*HPMHOOK_post_sockt_wfifohead) (int fd, size_t len);
typedef int (*HPMHOOK_pre_sockt_rfifoskip) (int *fd, size_t *len);
typedef int (*HPMHOOK_post_sockt_rfifoskip) (int retVal___, int fd, size_t len);
typedef void (*HPMHOOK_pre_sockt_close) (int *fd);
typedef void (*HPMHOOK_post_sockt_close) (int fd);
+typedef void (*HPMHOOK_pre_sockt_validateWfifo) (int *fd, size_t *len);
+typedef void (*HPMHOOK_post_sockt_validateWfifo) (int fd, size_t len);
typedef bool (*HPMHOOK_pre_sockt_session_is_valid) (int *fd);
typedef bool (*HPMHOOK_post_sockt_session_is_valid) (bool retVal___, int fd);
typedef bool (*HPMHOOK_pre_sockt_session_is_active) (int *fd);
@@ -7446,6 +7668,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);
@@ -7544,30 +7768,30 @@ 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);
typedef int (*HPMHOOK_post_status_charge) (int retVal___, struct block_list *bl, int64 hp, int64 sp);
typedef int (*HPMHOOK_pre_status_percent_change) (struct block_list **src, struct block_list **target, signed char *hp_rate, signed char *sp_rate, int *flag);
typedef int (*HPMHOOK_post_status_percent_change) (int retVal___, struct block_list *src, struct block_list *target, signed char hp_rate, signed char sp_rate, int flag);
-typedef int (*HPMHOOK_pre_status_set_hp) (struct block_list **bl, unsigned int *hp, int *flag);
-typedef int (*HPMHOOK_post_status_set_hp) (int retVal___, struct block_list *bl, unsigned int hp, int flag);
-typedef int (*HPMHOOK_pre_status_set_sp) (struct block_list **bl, unsigned int *sp, int *flag);
-typedef int (*HPMHOOK_post_status_set_sp) (int retVal___, struct block_list *bl, unsigned int sp, int flag);
-typedef int (*HPMHOOK_pre_status_heal) (struct block_list **bl, int64 *hp, int64 *sp, int *flag);
-typedef int (*HPMHOOK_post_status_heal) (int retVal___, struct block_list *bl, int64 hp, int64 sp, int flag);
+typedef int (*HPMHOOK_pre_status_set_hp) (struct block_list **bl, unsigned int *hp, enum status_heal_flag *flag);
+typedef int (*HPMHOOK_post_status_set_hp) (int retVal___, struct block_list *bl, unsigned int hp, enum status_heal_flag flag);
+typedef int (*HPMHOOK_pre_status_set_sp) (struct block_list **bl, unsigned int *sp, enum status_heal_flag *flag);
+typedef int (*HPMHOOK_post_status_set_sp) (int retVal___, struct block_list *bl, unsigned int sp, enum status_heal_flag flag);
+typedef int (*HPMHOOK_pre_status_heal) (struct block_list **bl, int64 *hp, int64 *sp, enum status_heal_flag *flag);
+typedef int (*HPMHOOK_post_status_heal) (int retVal___, struct block_list *bl, int64 hp, int64 sp, enum status_heal_flag flag);
typedef int (*HPMHOOK_pre_status_revive) (struct block_list **bl, unsigned char *per_hp, unsigned char *per_sp);
typedef int (*HPMHOOK_post_status_revive) (int retVal___, struct block_list *bl, unsigned char per_hp, unsigned char per_sp);
typedef int (*HPMHOOK_pre_status_fixed_revive) (struct block_list **bl, unsigned int *per_hp, unsigned int *per_sp);
@@ -7616,6 +7840,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);
@@ -7632,8 +7858,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);
@@ -7682,10 +7908,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);
@@ -7704,12 +7930,16 @@ typedef void (*HPMHOOK_pre_status_initDummyData) (void);
typedef void (*HPMHOOK_post_status_initDummyData) (void);
typedef int (*HPMHOOK_pre_status_base_amotion_pc) (struct map_session_data **sd, struct status_data **st);
typedef int (*HPMHOOK_post_status_base_amotion_pc) (int retVal___, struct map_session_data *sd, struct status_data *st);
-typedef unsigned short (*HPMHOOK_pre_status_base_atk) (const struct block_list **bl, const struct status_data **st);
-typedef unsigned short (*HPMHOOK_post_status_base_atk) (unsigned short retVal___, const struct block_list *bl, const struct status_data *st);
+typedef int (*HPMHOOK_pre_status_base_atk) (const struct block_list **bl, const struct status_data **st);
+typedef int (*HPMHOOK_post_status_base_atk) (int retVal___, const struct block_list *bl, const struct status_data *st);
typedef unsigned int (*HPMHOOK_pre_status_get_base_maxhp) (const struct map_session_data **sd, const struct status_data **st);
typedef unsigned int (*HPMHOOK_post_status_get_base_maxhp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
typedef unsigned int (*HPMHOOK_pre_status_get_base_maxsp) (const struct map_session_data **sd, const struct status_data **st);
typedef unsigned int (*HPMHOOK_post_status_get_base_maxsp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_pre_status_get_restart_hp) (const struct map_session_data **sd, const struct status_data **st);
+typedef unsigned int (*HPMHOOK_post_status_get_restart_hp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_pre_status_get_restart_sp) (const struct map_session_data **sd, const struct status_data **st);
+typedef unsigned int (*HPMHOOK_post_status_get_restart_sp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
typedef int (*HPMHOOK_pre_status_calc_npc_) (struct npc_data **nd, enum e_status_calc_opt *opt);
typedef int (*HPMHOOK_post_status_calc_npc_) (int retVal___, struct npc_data *nd, enum e_status_calc_opt opt);
typedef unsigned short (*HPMHOOK_pre_status_calc_str) (struct block_list **bl, struct status_change **sc, int *str);
@@ -7724,18 +7954,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);
@@ -7756,8 +7986,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);
@@ -7772,24 +8002,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);
@@ -7873,6 +8105,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);
@@ -8038,8 +8290,8 @@ typedef uint8 (*HPMHOOK_pre_unit_getdir) (struct block_list **bl);
typedef uint8 (*HPMHOOK_post_unit_getdir) (uint8 retVal___, struct block_list *bl);
typedef int (*HPMHOOK_pre_unit_blown) (struct block_list **bl, int *dx, int *dy, int *count, int *flag);
typedef int (*HPMHOOK_post_unit_blown) (int retVal___, struct block_list *bl, int dx, int dy, int count, int flag);
-typedef int (*HPMHOOK_pre_unit_warp) (struct block_list **bl, short *m, short *x, short *y, clr_type *type);
-typedef int (*HPMHOOK_post_unit_warp) (int retVal___, struct block_list *bl, short m, short x, short y, clr_type type);
+typedef int (*HPMHOOK_pre_unit_warp) (struct block_list **bl, short *m, short *x, short *y, enum clr_type *type);
+typedef int (*HPMHOOK_post_unit_warp) (int retVal___, struct block_list *bl, short m, short x, short y, enum clr_type type);
typedef int (*HPMHOOK_pre_unit_stop_walking) (struct block_list **bl, int *type);
typedef int (*HPMHOOK_post_unit_stop_walking) (int retVal___, struct block_list *bl, int type);
typedef int (*HPMHOOK_pre_unit_skilluse_id) (struct block_list **src, int *target_id, uint16 *skill_id, uint16 *skill_lv);
@@ -8090,14 +8342,14 @@ typedef int (*HPMHOOK_pre_unit_fixdamage) (struct block_list **src, struct block
typedef int (*HPMHOOK_post_unit_fixdamage) (int retVal___, struct block_list *src, struct block_list *target, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
typedef int (*HPMHOOK_pre_unit_changeviewsize) (struct block_list **bl, short *size);
typedef int (*HPMHOOK_post_unit_changeviewsize) (int retVal___, struct block_list *bl, short size);
-typedef int (*HPMHOOK_pre_unit_remove_map) (struct block_list **bl, clr_type *clrtype, const char **file, int *line, const char **func);
-typedef int (*HPMHOOK_post_unit_remove_map) (int retVal___, struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func);
-typedef void (*HPMHOOK_pre_unit_remove_map_pc) (struct map_session_data **sd, clr_type *clrtype);
-typedef void (*HPMHOOK_post_unit_remove_map_pc) (struct map_session_data *sd, clr_type clrtype);
+typedef int (*HPMHOOK_pre_unit_remove_map) (struct block_list **bl, enum clr_type *clrtype, const char **file, int *line, const char **func);
+typedef int (*HPMHOOK_post_unit_remove_map) (int retVal___, struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func);
+typedef void (*HPMHOOK_pre_unit_remove_map_pc) (struct map_session_data **sd, enum clr_type *clrtype);
+typedef void (*HPMHOOK_post_unit_remove_map_pc) (struct map_session_data *sd, enum clr_type clrtype);
typedef void (*HPMHOOK_pre_unit_free_pc) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_unit_free_pc) (struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_unit_free) (struct block_list **bl, clr_type *clrtype);
-typedef int (*HPMHOOK_post_unit_free) (int retVal___, struct block_list *bl, clr_type clrtype);
+typedef int (*HPMHOOK_pre_unit_free) (struct block_list **bl, enum clr_type *clrtype);
+typedef int (*HPMHOOK_post_unit_free) (int retVal___, struct block_list *bl, enum clr_type clrtype);
#endif // MAP_UNIT_H
#ifdef MAP_VENDING_H /* vending */
typedef void (*HPMHOOK_pre_vending_init) (bool *minimal);
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
index 2b0291453..570e20968 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -90,8 +90,10 @@ struct {
struct HPMHookPoint *HP_chr_count_users_post;
struct HPMHookPoint *HP_chr_mmo_char_tobuf_pre;
struct HPMHookPoint *HP_chr_mmo_char_tobuf_post;
- struct HPMHookPoint *HP_chr_mmo_char_send099d_pre;
- struct HPMHookPoint *HP_chr_mmo_char_send099d_post;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre;
+ struct HPMHookPoint *HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post;
struct HPMHookPoint *HP_chr_mmo_char_send_ban_list_pre;
struct HPMHookPoint *HP_chr_mmo_char_send_ban_list_post;
struct HPMHookPoint *HP_chr_mmo_char_send_slots_info_pre;
@@ -608,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;
@@ -628,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;
@@ -762,6 +754,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;
@@ -782,6 +778,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;
@@ -1026,8 +1026,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;
@@ -1058,8 +1056,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;
@@ -1154,8 +1150,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;
@@ -1170,8 +1164,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;
@@ -1222,6 +1214,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;
@@ -1244,26 +1240,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;
@@ -1276,6 +1256,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 +1306,14 @@ struct {
struct HPMHookPoint *HP_mutex_cond_broadcast_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
+ struct HPMHookPoint *HP_packets_init_pre;
+ struct HPMHookPoint *HP_packets_init_post;
+ struct HPMHookPoint *HP_packets_final_pre;
+ struct HPMHookPoint *HP_packets_final_post;
+ struct HPMHookPoint *HP_packets_addLens_pre;
+ struct HPMHookPoint *HP_packets_addLens_post;
+ struct HPMHookPoint *HP_packets_addLen_pre;
+ struct HPMHookPoint *HP_packets_addLen_post;
struct HPMHookPoint *HP_pincode_handle_pre;
struct HPMHookPoint *HP_pincode_handle_post;
struct HPMHookPoint *HP_pincode_decrypt_pre;
@@ -1396,10 +1388,14 @@ struct {
struct HPMHookPoint *HP_sockt_realloc_writefifo_post;
struct HPMHookPoint *HP_sockt_wfifoset_pre;
struct HPMHookPoint *HP_sockt_wfifoset_post;
+ struct HPMHookPoint *HP_sockt_wfifohead_pre;
+ struct HPMHookPoint *HP_sockt_wfifohead_post;
struct HPMHookPoint *HP_sockt_rfifoskip_pre;
struct HPMHookPoint *HP_sockt_rfifoskip_post;
struct HPMHookPoint *HP_sockt_close_pre;
struct HPMHookPoint *HP_sockt_close_post;
+ struct HPMHookPoint *HP_sockt_validateWfifo_pre;
+ struct HPMHookPoint *HP_sockt_validateWfifo_post;
struct HPMHookPoint *HP_sockt_session_is_valid_pre;
struct HPMHookPoint *HP_sockt_session_is_valid_post;
struct HPMHookPoint *HP_sockt_session_is_active_pre;
@@ -1408,6 +1404,8 @@ struct {
struct HPMHookPoint *HP_sockt_flush_post;
struct HPMHookPoint *HP_sockt_flush_fifos_pre;
struct HPMHookPoint *HP_sockt_flush_fifos_post;
+ struct HPMHookPoint *HP_sockt_connect_client_pre;
+ struct HPMHookPoint *HP_sockt_connect_client_post;
struct HPMHookPoint *HP_sockt_set_nonblocking_pre;
struct HPMHookPoint *HP_sockt_set_nonblocking_post;
struct HPMHookPoint *HP_sockt_set_defaultparse_pre;
@@ -1713,8 +1711,10 @@ struct {
int HP_chr_count_users_post;
int HP_chr_mmo_char_tobuf_pre;
int HP_chr_mmo_char_tobuf_post;
- int HP_chr_mmo_char_send099d_pre;
- int HP_chr_mmo_char_send099d_post;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre;
+ int HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post;
int HP_chr_mmo_char_send_ban_list_pre;
int HP_chr_mmo_char_send_ban_list_post;
int HP_chr_mmo_char_send_slots_info_pre;
@@ -2231,10 +2231,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;
@@ -2251,12 +2247,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;
@@ -2385,6 +2375,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;
@@ -2405,6 +2399,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;
@@ -2649,8 +2647,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;
@@ -2681,8 +2677,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;
@@ -2777,8 +2771,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;
@@ -2793,8 +2785,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;
@@ -2845,6 +2835,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;
@@ -2867,26 +2861,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;
@@ -2899,6 +2877,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;
@@ -2945,6 +2927,14 @@ struct {
int HP_mutex_cond_broadcast_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
+ int HP_packets_init_pre;
+ int HP_packets_init_post;
+ int HP_packets_final_pre;
+ int HP_packets_final_post;
+ int HP_packets_addLens_pre;
+ int HP_packets_addLens_post;
+ int HP_packets_addLen_pre;
+ int HP_packets_addLen_post;
int HP_pincode_handle_pre;
int HP_pincode_handle_post;
int HP_pincode_decrypt_pre;
@@ -3019,10 +3009,14 @@ struct {
int HP_sockt_realloc_writefifo_post;
int HP_sockt_wfifoset_pre;
int HP_sockt_wfifoset_post;
+ int HP_sockt_wfifohead_pre;
+ int HP_sockt_wfifohead_post;
int HP_sockt_rfifoskip_pre;
int HP_sockt_rfifoskip_post;
int HP_sockt_close_pre;
int HP_sockt_close_post;
+ int HP_sockt_validateWfifo_pre;
+ int HP_sockt_validateWfifo_post;
int HP_sockt_session_is_valid_pre;
int HP_sockt_session_is_valid_post;
int HP_sockt_session_is_active_pre;
@@ -3031,6 +3025,8 @@ struct {
int HP_sockt_flush_post;
int HP_sockt_flush_fifos_pre;
int HP_sockt_flush_fifos_post;
+ int HP_sockt_connect_client_pre;
+ int HP_sockt_connect_client_post;
int HP_sockt_set_nonblocking_pre;
int HP_sockt_set_nonblocking_post;
int HP_sockt_set_defaultparse_pre;
@@ -3301,6 +3297,7 @@ struct {
struct md5_interface md5;
struct mutex_interface mutex;
struct nullpo_interface nullpo;
+ struct packets_interface packets;
struct pincode_interface pincode;
struct rnd_interface rnd;
struct showmsg_interface showmsg;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
index cb6ae1bb8..48f24fcab 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -60,7 +60,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(chr->divorce_char_sql, HP_chr_divorce_char_sql) },
{ HP_POP(chr->count_users, HP_chr_count_users) },
{ HP_POP(chr->mmo_char_tobuf, HP_chr_mmo_char_tobuf) },
- { HP_POP(chr->mmo_char_send099d, HP_chr_mmo_char_send099d) },
+ { HP_POP(chr->send_HC_ACK_CHARINFO_PER_PAGE, HP_chr_send_HC_ACK_CHARINFO_PER_PAGE) },
+ { HP_POP(chr->send_HC_ACK_CHARINFO_PER_PAGE_tail, HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail) },
{ HP_POP(chr->mmo_char_send_ban_list, HP_chr_mmo_char_send_ban_list) },
{ HP_POP(chr->mmo_char_send_slots_info, HP_chr_mmo_char_send_slots_info) },
{ HP_POP(chr->mmo_char_send_characters, HP_chr_mmo_char_send_characters) },
@@ -332,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) },
@@ -342,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) },
@@ -415,6 +411,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) },
@@ -427,6 +425,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) },
@@ -551,7 +551,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) },
@@ -567,7 +566,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) },
@@ -615,7 +613,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) },
@@ -623,7 +620,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) },
@@ -649,6 +645,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) },
@@ -660,16 +658,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) },
@@ -677,6 +667,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 +695,11 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mutex->cond_broadcast, HP_mutex_cond_broadcast) },
/* nullpo_interface */
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
+/* packets_interface */
+ { HP_POP(packets->init, HP_packets_init) },
+ { HP_POP(packets->final, HP_packets_final) },
+ { HP_POP(packets->addLens, HP_packets_addLens) },
+ { HP_POP(packets->addLen, HP_packets_addLen) },
/* pincode_interface */
{ HP_POP(pincode->handle, HP_pincode_handle) },
{ HP_POP(pincode->decrypt, HP_pincode_decrypt) },
@@ -744,12 +741,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(sockt->realloc_fifo, HP_sockt_realloc_fifo) },
{ HP_POP(sockt->realloc_writefifo, HP_sockt_realloc_writefifo) },
{ HP_POP(sockt->wfifoset, HP_sockt_wfifoset) },
+ { HP_POP(sockt->wfifohead, HP_sockt_wfifohead) },
{ HP_POP(sockt->rfifoskip, HP_sockt_rfifoskip) },
{ HP_POP(sockt->close, HP_sockt_close) },
+ { HP_POP(sockt->validateWfifo, HP_sockt_validateWfifo) },
{ HP_POP(sockt->session_is_valid, HP_sockt_session_is_valid) },
{ HP_POP(sockt->session_is_active, HP_sockt_session_is_active) },
{ HP_POP(sockt->flush, HP_sockt_flush) },
{ HP_POP(sockt->flush_fifos, HP_sockt_flush_fifos) },
+ { HP_POP(sockt->connect_client, HP_sockt_connect_client) },
{ HP_POP(sockt->set_nonblocking, HP_sockt_set_nonblocking) },
{ HP_POP(sockt->set_defaultparse, HP_sockt_set_defaultparse) },
{ HP_POP(sockt->host2ip, HP_sockt_host2ip) },
diff --git a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
index 767c7d24e..49fe48aac 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -609,15 +609,15 @@ int HP_chr_mmo_gender(const struct char_session_data *sd, const struct mmo_chars
}
return retVal___;
}
-int HP_chr_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf) {
+int HP_chr_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf, int *count) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_chr_mmo_chars_fromsql_pre > 0) {
- int (*preHookFunc) (struct char_session_data **sd, uint8 **buf);
+ int (*preHookFunc) (struct char_session_data **sd, uint8 **buf, int **count);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_chars_fromsql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_chr_mmo_chars_fromsql_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &buf);
+ retVal___ = preHookFunc(&sd, &buf, &count);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -625,13 +625,13 @@ int HP_chr_mmo_chars_fromsql(struct char_session_data *sd, uint8 *buf) {
}
}
{
- retVal___ = HPMHooks.source.chr.mmo_chars_fromsql(sd, buf);
+ retVal___ = HPMHooks.source.chr.mmo_chars_fromsql(sd, buf, count);
}
if (HPMHooks.count.HP_chr_mmo_chars_fromsql_post > 0) {
- int (*postHookFunc) (int retVal___, struct char_session_data *sd, uint8 *buf);
+ int (*postHookFunc) (int retVal___, struct char_session_data *sd, uint8 *buf, int *count);
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_chars_fromsql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_chr_mmo_chars_fromsql_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, buf);
+ retVal___ = postHookFunc(retVal___, sd, buf, count);
}
}
return retVal___;
@@ -798,11 +798,11 @@ int HP_chr_check_char_name(const char *name, const char *esc_name) {
}
return retVal___;
}
-int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex) {
+int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_chr_make_new_char_sql_pre > 0) {
- int (*preHookFunc) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, short *starting_job, uint8 *sex);
+ int (*preHookFunc) (struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, int *starting_job, uint8 *sex);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_make_new_char_sql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_chr_make_new_char_sql_pre[hIndex].func;
@@ -817,7 +817,7 @@ int HP_chr_make_new_char_sql(struct char_session_data *sd, const char *name_, in
retVal___ = HPMHooks.source.chr.make_new_char_sql(sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, starting_job, sex);
}
if (HPMHooks.count.HP_chr_make_new_char_sql_post > 0) {
- int (*postHookFunc) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short starting_job, uint8 sex);
+ int (*postHookFunc) (int retVal___, struct char_session_data *sd, const char *name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, int starting_job, uint8 sex);
for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_make_new_char_sql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_chr_make_new_char_sql_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, name_, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, starting_job, sex);
@@ -906,13 +906,13 @@ int HP_chr_mmo_char_tobuf(uint8 *buffer, struct mmo_charstatus *p) {
}
return retVal___;
}
-void HP_chr_mmo_char_send099d(int fd, struct char_session_data *sd) {
+void HP_chr_send_HC_ACK_CHARINFO_PER_PAGE(int fd, struct char_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_chr_mmo_char_send099d_pre > 0) {
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre > 0) {
void (*preHookFunc) (int *fd, struct char_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_char_send099d_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_chr_mmo_char_send099d_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -921,12 +921,38 @@ void HP_chr_mmo_char_send099d(int fd, struct char_session_data *sd) {
}
}
{
- HPMHooks.source.chr.mmo_char_send099d(fd, sd);
+ HPMHooks.source.chr.send_HC_ACK_CHARINFO_PER_PAGE(fd, sd);
}
- if (HPMHooks.count.HP_chr_mmo_char_send099d_post > 0) {
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post > 0) {
void (*postHookFunc) (int fd, struct char_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_mmo_char_send099d_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_chr_mmo_char_send099d_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail(int fd, struct char_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct char_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.chr.send_HC_ACK_CHARINFO_PER_PAGE_tail(fd, sd);
+ }
+ if (HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post > 0) {
+ void (*postHookFunc) (int fd, struct char_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_chr_send_HC_ACK_CHARINFO_PER_PAGE_tail_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -7005,11 +7031,11 @@ bool HP_inter_guild_leave(int guild_id, int account_id, int char_id, int flag, c
}
return retVal___;
}
-bool HP_inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int16 class) {
+bool HP_inter_guild_update_member_info_short(int guild_id, int account_id, int char_id, int online, int lv, int class) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_guild_update_member_info_short_pre > 0) {
- bool (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
+ bool (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_guild_update_member_info_short_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_guild_update_member_info_short_pre[hIndex].func;
@@ -7024,7 +7050,7 @@ bool HP_inter_guild_update_member_info_short(int guild_id, int account_id, int c
retVal___ = HPMHooks.source.inter_guild.update_member_info_short(guild_id, account_id, char_id, online, lv, class);
}
if (HPMHooks.count.HP_inter_guild_update_member_info_short_post > 0) {
- bool (*postHookFunc) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ bool (*postHookFunc) (bool retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_guild_update_member_info_short_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_guild_update_member_info_short_post[hIndex].func;
retVal___ = postHookFunc(retVal___, guild_id, account_id, char_id, online, lv, class);
@@ -7825,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;
@@ -8098,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;
@@ -9472,11 +9358,11 @@ int HP_inter_pet_parse_frommap(int fd) {
}
return retVal___;
}
-struct s_pet* HP_inter_pet_create(int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name) {
+struct s_pet* HP_inter_pet_create(int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name) {
int hIndex = 0;
struct s_pet* retVal___ = NULL;
if (HPMHooks.count.HP_inter_pet_create_pre > 0) {
- struct s_pet* (*preHookFunc) (int *account_id, int *char_id, short *pet_class, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
+ struct s_pet* (*preHookFunc) (int *account_id, int *char_id, int *pet_class, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char **pet_name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_pet_create_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_pet_create_pre[hIndex].func;
@@ -9491,7 +9377,7 @@ struct s_pet* HP_inter_pet_create(int account_id, int char_id, short pet_class,
retVal___ = HPMHooks.source.inter_pet.create(account_id, char_id, pet_class, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
}
if (HPMHooks.count.HP_inter_pet_create_post > 0) {
- struct s_pet* (*postHookFunc) (struct s_pet* retVal___, int account_id, int char_id, short pet_class, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
+ struct s_pet* (*postHookFunc) (struct s_pet* retVal___, int account_id, int char_id, int pet_class, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, const char *pet_name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_pet_create_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_pet_create_post[hIndex].func;
retVal___ = postHookFunc(retVal___, account_id, char_id, pet_class, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
@@ -9824,11 +9710,11 @@ bool HP_inter_rodex_hasnew(int char_id, int account_id) {
}
return retVal___;
}
-bool HP_inter_rodex_checkname(const char *name, int *target_char_id, short *target_class, int *target_level) {
+bool HP_inter_rodex_checkname(const char *name, int *target_char_id, int *target_class, int *target_level) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_rodex_checkname_pre > 0) {
- bool (*preHookFunc) (const char **name, int **target_char_id, short **target_class, int **target_level);
+ bool (*preHookFunc) (const char **name, int **target_char_id, int **target_class, int **target_level);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_checkname_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_rodex_checkname_pre[hIndex].func;
@@ -9843,7 +9729,7 @@ bool HP_inter_rodex_checkname(const char *name, int *target_char_id, short *targ
retVal___ = HPMHooks.source.inter_rodex.checkname(name, target_char_id, target_class, target_level);
}
if (HPMHooks.count.HP_inter_rodex_checkname_post > 0) {
- bool (*postHookFunc) (bool retVal___, const char *name, int *target_char_id, short *target_class, int *target_level);
+ bool (*postHookFunc) (bool retVal___, const char *name, int *target_char_id, int *target_class, int *target_level);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_checkname_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_rodex_checkname_post[hIndex].func;
retVal___ = postHookFunc(retVal___, name, target_char_id, target_class, target_level);
@@ -9878,15 +9764,15 @@ int64 HP_inter_rodex_savemessage(struct rodex_message *msg) {
}
return retVal___;
}
-bool HP_inter_rodex_updatemail(int64 mail_id, int8 flag) {
+bool HP_inter_rodex_updatemail(int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_rodex_updatemail_pre > 0) {
- bool (*preHookFunc) (int64 *mail_id, int8 *flag);
+ bool (*preHookFunc) (int *fd, int *account_id, int *char_id, int64 *mail_id, uint8 *opentype, int8 *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_updatemail_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_rodex_updatemail_pre[hIndex].func;
- retVal___ = preHookFunc(&mail_id, &flag);
+ retVal___ = preHookFunc(&fd, &account_id, &char_id, &mail_id, &opentype, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -9894,13 +9780,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___;
@@ -10176,6 +10116,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;
@@ -13418,33 +13410,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;
@@ -13796,11 +13761,11 @@ int HP_mapif_parse_GuildLeave(int fd, int guild_id, int account_id, int char_id,
}
return retVal___;
}
-int HP_mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class) {
+int HP_mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_id, int char_id, int online, int lv, int class) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_pre > 0) {
- int (*preHookFunc) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
+ int (*preHookFunc) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mapif_parse_GuildChangeMemberInfoShort_pre[hIndex].func;
@@ -13815,7 +13780,7 @@ int HP_mapif_parse_GuildChangeMemberInfoShort(int fd, int guild_id, int account_
retVal___ = HPMHooks.source.mapif.parse_GuildChangeMemberInfoShort(fd, guild_id, account_id, char_id, online, lv, class);
}
if (HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*postHookFunc) (int retVal___, int fd, int guild_id, int account_id, int char_id, int online, int lv, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_GuildChangeMemberInfoShort_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mapif_parse_GuildChangeMemberInfoShort_post[hIndex].func;
retVal___ = postHookFunc(retVal___, fd, guild_id, account_id, char_id, online, lv, class);
@@ -13850,33 +13815,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;
@@ -15115,33 +15053,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;
@@ -15330,33 +15241,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;
@@ -15995,10 +15879,10 @@ void HP_mapif_parse_rodex_checkname(int fd) {
}
return;
}
-void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name) {
+void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name) {
int hIndex = 0;
if (HPMHooks.count.HP_mapif_rodex_checkname_pre > 0) {
- void (*preHookFunc) (int *fd, int *reqchar_id, int *target_char_id, short *target_class, int *target_level, char **name);
+ void (*preHookFunc) (int *fd, int *reqchar_id, int *target_char_id, int *target_class, int *target_level, char **name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_checkname_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mapif_rodex_checkname_pre[hIndex].func;
@@ -16013,7 +15897,7 @@ void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short
HPMHooks.source.mapif.rodex_checkname(fd, reqchar_id, target_char_id, target_class, target_level, name);
}
if (HPMHooks.count.HP_mapif_rodex_checkname_post > 0) {
- void (*postHookFunc) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, char *name);
+ void (*postHookFunc) (int fd, int reqchar_id, int target_char_id, int target_class, int target_level, char *name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_checkname_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mapif_rodex_checkname_post[hIndex].func;
postHookFunc(fd, reqchar_id, target_char_id, target_class, target_level, name);
@@ -16021,6 +15905,58 @@ void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short
}
return;
}
+void HP_mapif_rodex_getzenyack(int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_getzenyack_pre > 0) {
+ void (*preHookFunc) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int64 *zeny);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getzenyack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_getzenyack_pre[hIndex].func;
+ preHookFunc(&fd, &char_id, &mail_id, &opentype, &zeny);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_getzenyack(fd, char_id, mail_id, opentype, zeny);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_getzenyack_post > 0) {
+ void (*postHookFunc) (int fd, int char_id, int64 mail_id, uint8 opentype, int64 zeny);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getzenyack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_getzenyack_post[hIndex].func;
+ postHookFunc(fd, char_id, mail_id, opentype, zeny);
+ }
+ }
+ return;
+}
+void HP_mapif_rodex_getitemsack(int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_getitemsack_pre > 0) {
+ void (*preHookFunc) (int *fd, int *char_id, int64 *mail_id, uint8 *opentype, int *count, const struct rodex_item **items);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getitemsack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_getitemsack_pre[hIndex].func;
+ preHookFunc(&fd, &char_id, &mail_id, &opentype, &count, &items);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_getitemsack(fd, char_id, mail_id, opentype, count, items);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_getitemsack_post > 0) {
+ void (*postHookFunc) (int fd, int char_id, int64 mail_id, uint8 opentype, int count, const struct rodex_item *items);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_getitemsack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_getitemsack_post[hIndex].func;
+ postHookFunc(fd, char_id, mail_id, opentype, count, items);
+ }
+ }
+ return;
+}
int HP_mapif_load_guild_storage(int fd, int account_id, int guild_id, char flag) {
int hIndex = 0;
int retVal___ = 0;
@@ -16315,113 +16251,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;
@@ -16476,114 +16305,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;
@@ -16746,6 +16467,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 +17132,111 @@ void HP_nullpo_assert_report(const char *file, int line, const char *func, const
}
return;
}
+/* packets_interface */
+void HP_packets_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.init();
+ }
+ if (HPMHooks.count.HP_packets_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.final();
+ }
+ if (HPMHooks.count.HP_packets_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLens(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLens_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLens_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLens();
+ }
+ if (HPMHooks.count.HP_packets_addLens_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLens_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLen(int id, int len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLen_pre > 0) {
+ void (*preHookFunc) (int *id, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLen_pre[hIndex].func;
+ preHookFunc(&id, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLen(id, len);
+ }
+ if (HPMHooks.count.HP_packets_addLen_post > 0) {
+ void (*postHookFunc) (int id, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLen_post[hIndex].func;
+ postHookFunc(id, len);
+ }
+ }
+ return;
+}
/* pincode_interface */
void HP_pincode_handle(int fd, struct char_session_data *sd) {
int hIndex = 0;
@@ -18317,15 +18197,15 @@ int HP_sockt_realloc_writefifo(int fd, size_t addition) {
}
return retVal___;
}
-int HP_sockt_wfifoset(int fd, size_t len) {
+int HP_sockt_wfifoset(int fd, size_t len, bool validate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_sockt_wfifoset_pre > 0) {
- int (*preHookFunc) (int *fd, size_t *len);
+ int (*preHookFunc) (int *fd, size_t *len, bool *validate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_sockt_wfifoset_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &len);
+ retVal___ = preHookFunc(&fd, &len, &validate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -18333,17 +18213,43 @@ int HP_sockt_wfifoset(int fd, size_t len) {
}
}
{
- retVal___ = HPMHooks.source.sockt.wfifoset(fd, len);
+ retVal___ = HPMHooks.source.sockt.wfifoset(fd, len, validate);
}
if (HPMHooks.count.HP_sockt_wfifoset_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, size_t len);
+ int (*postHookFunc) (int retVal___, int fd, size_t len, bool validate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_sockt_wfifoset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, len);
+ retVal___ = postHookFunc(retVal___, fd, len, validate);
}
}
return retVal___;
}
+void HP_sockt_wfifohead(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_wfifohead_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_wfifohead_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.wfifohead(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_wfifohead_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_wfifohead_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
int HP_sockt_rfifoskip(int fd, size_t len) {
int hIndex = 0;
int retVal___ = 0;
@@ -18397,6 +18303,32 @@ void HP_sockt_close(int fd) {
}
return;
}
+void HP_sockt_validateWfifo(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_validateWfifo_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_validateWfifo_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.validateWfifo(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_validateWfifo_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_validateWfifo_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
bool HP_sockt_session_is_valid(int fd) {
int hIndex = 0;
bool retVal___ = false;
@@ -18503,6 +18435,33 @@ void HP_sockt_flush_fifos(void) {
}
return;
}
+int HP_sockt_connect_client(int listen_fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_sockt_connect_client_pre > 0) {
+ int (*preHookFunc) (int *listen_fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_connect_client_pre[hIndex].func;
+ retVal___ = preHookFunc(&listen_fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.sockt.connect_client(listen_fd);
+ }
+ if (HPMHooks.count.HP_sockt_connect_client_post > 0) {
+ int (*postHookFunc) (int retVal___, int listen_fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_connect_client_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, listen_fd);
+ }
+ }
+ return retVal___;
+}
void HP_sockt_set_nonblocking(int fd, unsigned long yes) {
int hIndex = 0;
if (HPMHooks.count.HP_sockt_set_nonblocking_pre > 0) {
diff --git a/src/plugins/HPMHooking/HPMHooking_char.sources.inc b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
index 0d69cd755..9e723d83b 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -54,6 +54,7 @@ HPMHooks.source.mapindex = *mapindex;
HPMHooks.source.md5 = *md5;
HPMHooks.source.mutex = *mutex;
HPMHooks.source.nullpo = *nullpo;
+HPMHooks.source.packets = *packets;
HPMHooks.source.pincode = *pincode;
HPMHooks.source.rnd = *rnd;
HPMHooks.source.showmsg = *showmsg;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
index 5300ca3a6..c81d42da8 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -204,10 +204,18 @@ struct {
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_SSO_LOGIN_REQ_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_LOGIN_OTP_pre;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_LOGIN_OTP_post;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_OTP_CODE_pre;
+ struct HPMHookPoint *HP_PRIV__lclif_parse_CA_OTP_CODE_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_REQ_HASH_pre;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_REQ_HASH_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
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;
@@ -436,6 +444,8 @@ struct {
struct HPMHookPoint *HP_login_client_login_post;
struct HPMHookPoint *HP_login_client_login_otp_pre;
struct HPMHookPoint *HP_login_client_login_otp_post;
+ struct HPMHookPoint *HP_login_client_login_mobile_otp_request_pre;
+ struct HPMHookPoint *HP_login_client_login_mobile_otp_request_post;
struct HPMHookPoint *HP_login_char_server_connection_status_pre;
struct HPMHookPoint *HP_login_char_server_connection_status_post;
struct HPMHookPoint *HP_login_parse_request_connection_pre;
@@ -512,6 +522,14 @@ struct {
struct HPMHookPoint *HP_mutex_cond_broadcast_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
+ struct HPMHookPoint *HP_packets_init_pre;
+ struct HPMHookPoint *HP_packets_init_post;
+ struct HPMHookPoint *HP_packets_final_pre;
+ struct HPMHookPoint *HP_packets_final_post;
+ struct HPMHookPoint *HP_packets_addLens_pre;
+ struct HPMHookPoint *HP_packets_addLens_post;
+ struct HPMHookPoint *HP_packets_addLen_pre;
+ struct HPMHookPoint *HP_packets_addLen_post;
struct HPMHookPoint *HP_rnd_init_pre;
struct HPMHookPoint *HP_rnd_init_post;
struct HPMHookPoint *HP_rnd_final_pre;
@@ -554,10 +572,14 @@ struct {
struct HPMHookPoint *HP_sockt_realloc_writefifo_post;
struct HPMHookPoint *HP_sockt_wfifoset_pre;
struct HPMHookPoint *HP_sockt_wfifoset_post;
+ struct HPMHookPoint *HP_sockt_wfifohead_pre;
+ struct HPMHookPoint *HP_sockt_wfifohead_post;
struct HPMHookPoint *HP_sockt_rfifoskip_pre;
struct HPMHookPoint *HP_sockt_rfifoskip_post;
struct HPMHookPoint *HP_sockt_close_pre;
struct HPMHookPoint *HP_sockt_close_post;
+ struct HPMHookPoint *HP_sockt_validateWfifo_pre;
+ struct HPMHookPoint *HP_sockt_validateWfifo_post;
struct HPMHookPoint *HP_sockt_session_is_valid_pre;
struct HPMHookPoint *HP_sockt_session_is_valid_post;
struct HPMHookPoint *HP_sockt_session_is_active_pre;
@@ -566,6 +588,8 @@ struct {
struct HPMHookPoint *HP_sockt_flush_post;
struct HPMHookPoint *HP_sockt_flush_fifos_pre;
struct HPMHookPoint *HP_sockt_flush_fifos_post;
+ struct HPMHookPoint *HP_sockt_connect_client_pre;
+ struct HPMHookPoint *HP_sockt_connect_client_post;
struct HPMHookPoint *HP_sockt_set_nonblocking_pre;
struct HPMHookPoint *HP_sockt_set_nonblocking_post;
struct HPMHookPoint *HP_sockt_set_defaultparse_pre;
@@ -985,10 +1009,18 @@ struct {
int HP_PRIV__lclif_parse_CA_SSO_LOGIN_REQ_post;
int HP_PRIV__lclif_parse_CA_LOGIN_OTP_pre;
int HP_PRIV__lclif_parse_CA_LOGIN_OTP_post;
+ int HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre;
+ int HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post;
+ int HP_PRIV__lclif_parse_CA_OTP_CODE_pre;
+ int HP_PRIV__lclif_parse_CA_OTP_CODE_post;
int HP_PRIV__lclif_parse_CA_REQ_HASH_pre;
int HP_PRIV__lclif_parse_CA_REQ_HASH_post;
int HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
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;
@@ -1217,6 +1249,8 @@ struct {
int HP_login_client_login_post;
int HP_login_client_login_otp_pre;
int HP_login_client_login_otp_post;
+ int HP_login_client_login_mobile_otp_request_pre;
+ int HP_login_client_login_mobile_otp_request_post;
int HP_login_char_server_connection_status_pre;
int HP_login_char_server_connection_status_post;
int HP_login_parse_request_connection_pre;
@@ -1293,6 +1327,14 @@ struct {
int HP_mutex_cond_broadcast_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
+ int HP_packets_init_pre;
+ int HP_packets_init_post;
+ int HP_packets_final_pre;
+ int HP_packets_final_post;
+ int HP_packets_addLens_pre;
+ int HP_packets_addLens_post;
+ int HP_packets_addLen_pre;
+ int HP_packets_addLen_post;
int HP_rnd_init_pre;
int HP_rnd_init_post;
int HP_rnd_final_pre;
@@ -1335,10 +1377,14 @@ struct {
int HP_sockt_realloc_writefifo_post;
int HP_sockt_wfifoset_pre;
int HP_sockt_wfifoset_post;
+ int HP_sockt_wfifohead_pre;
+ int HP_sockt_wfifohead_post;
int HP_sockt_rfifoskip_pre;
int HP_sockt_rfifoskip_post;
int HP_sockt_close_pre;
int HP_sockt_close_post;
+ int HP_sockt_validateWfifo_pre;
+ int HP_sockt_validateWfifo_post;
int HP_sockt_session_is_valid_pre;
int HP_sockt_session_is_valid_post;
int HP_sockt_session_is_active_pre;
@@ -1347,6 +1393,8 @@ struct {
int HP_sockt_flush_post;
int HP_sockt_flush_fifos_pre;
int HP_sockt_flush_fifos_post;
+ int HP_sockt_connect_client_pre;
+ int HP_sockt_connect_client_post;
int HP_sockt_set_nonblocking_pre;
int HP_sockt_set_nonblocking_post;
int HP_sockt_set_defaultparse_pre;
@@ -1605,6 +1653,7 @@ struct {
struct md5_interface md5;
struct mutex_interface mutex;
struct nullpo_interface nullpo;
+ struct packets_interface packets;
struct rnd_interface rnd;
struct showmsg_interface showmsg;
struct socket_interface sockt;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
index 6eb2e8121..790c8a3a5 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -126,9 +126,13 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(lclif->p->parse_CA_LOGIN_HAN, HP_PRIV__lclif_parse_CA_LOGIN_HAN) },
{ HP_POP(lclif->p->parse_CA_SSO_LOGIN_REQ, HP_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) },
{ HP_POP(lclif->p->parse_CA_LOGIN_OTP, HP_PRIV__lclif_parse_CA_LOGIN_OTP) },
+ { HP_POP(lclif->p->parse_CA_ACK_MOBILE_OTP, HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP) },
+ { HP_POP(lclif->p->parse_CA_OTP_CODE, HP_PRIV__lclif_parse_CA_OTP_CODE) },
{ HP_POP(lclif->p->parse_CA_REQ_HASH, HP_PRIV__lclif_parse_CA_REQ_HASH) },
{ HP_POP(lclif->p->parse_CA_CHARSERVERCONNECT, HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT) },
/* libconfig_interface */
+ { 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) },
@@ -244,6 +248,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(login->auth_failed, HP_login_auth_failed) },
{ HP_POP(login->client_login, HP_login_client_login) },
{ HP_POP(login->client_login_otp, HP_login_client_login_otp) },
+ { HP_POP(login->client_login_mobile_otp_request, HP_login_client_login_mobile_otp_request) },
{ HP_POP(login->char_server_connection_status, HP_login_char_server_connection_status) },
{ HP_POP(login->parse_request_connection, HP_login_parse_request_connection) },
{ HP_POP(login->config_set_defaults, HP_login_config_set_defaults) },
@@ -286,6 +291,11 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mutex->cond_broadcast, HP_mutex_cond_broadcast) },
/* nullpo_interface */
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
+/* packets_interface */
+ { HP_POP(packets->init, HP_packets_init) },
+ { HP_POP(packets->final, HP_packets_final) },
+ { HP_POP(packets->addLens, HP_packets_addLens) },
+ { HP_POP(packets->addLen, HP_packets_addLen) },
/* rnd_interface */
{ HP_POP(rnd->init, HP_rnd_init) },
{ HP_POP(rnd->final, HP_rnd_final) },
@@ -310,12 +320,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(sockt->realloc_fifo, HP_sockt_realloc_fifo) },
{ HP_POP(sockt->realloc_writefifo, HP_sockt_realloc_writefifo) },
{ HP_POP(sockt->wfifoset, HP_sockt_wfifoset) },
+ { HP_POP(sockt->wfifohead, HP_sockt_wfifohead) },
{ HP_POP(sockt->rfifoskip, HP_sockt_rfifoskip) },
{ HP_POP(sockt->close, HP_sockt_close) },
+ { HP_POP(sockt->validateWfifo, HP_sockt_validateWfifo) },
{ HP_POP(sockt->session_is_valid, HP_sockt_session_is_valid) },
{ HP_POP(sockt->session_is_active, HP_sockt_session_is_active) },
{ HP_POP(sockt->flush, HP_sockt_flush) },
{ HP_POP(sockt->flush_fifos, HP_sockt_flush_fifos) },
+ { HP_POP(sockt->connect_client, HP_sockt_connect_client) },
{ HP_POP(sockt->set_nonblocking, HP_sockt_set_nonblocking) },
{ HP_POP(sockt->set_defaultparse, HP_sockt_set_defaultparse) },
{ HP_POP(sockt->host2ip, HP_sockt_host2ip) },
diff --git a/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
index e432da70d..7eab86a08 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.Hooks.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -2409,6 +2409,60 @@ enum parsefunc_rcode HP_PRIV__lclif_parse_CA_LOGIN_OTP(int fd, struct login_sess
}
return retVal___;
}
+enum parsefunc_rcode HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP(int fd, struct login_session_data *sd) {
+ int hIndex = 0;
+ enum parsefunc_rcode retVal___ = PACKET_UNKNOWN;
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre > 0) {
+ enum parsefunc_rcode (*preHookFunc) (int *fd, struct login_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__lclif.parse_CA_ACK_MOBILE_OTP(fd, sd);
+ }
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post > 0) {
+ enum parsefunc_rcode (*postHookFunc) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_ACK_MOBILE_OTP_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd, sd);
+ }
+ }
+ return retVal___;
+}
+enum parsefunc_rcode HP_PRIV__lclif_parse_CA_OTP_CODE(int fd, struct login_session_data *sd) {
+ int hIndex = 0;
+ enum parsefunc_rcode retVal___ = PACKET_UNKNOWN;
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_pre > 0) {
+ enum parsefunc_rcode (*preHookFunc) (int *fd, struct login_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_OTP_CODE_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.PRIV__lclif.parse_CA_OTP_CODE(fd, sd);
+ }
+ if (HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_post > 0) {
+ enum parsefunc_rcode (*postHookFunc) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_PRIV__lclif_parse_CA_OTP_CODE_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_PRIV__lclif_parse_CA_OTP_CODE_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd, sd);
+ }
+ }
+ return retVal___;
+}
enum parsefunc_rcode HP_PRIV__lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd) {
int hIndex = 0;
enum parsefunc_rcode retVal___ = PACKET_UNKNOWN;
@@ -2464,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;
@@ -5521,6 +5627,32 @@ bool HP_login_client_login_otp(int fd, struct login_session_data *sd) {
}
return retVal___;
}
+void HP_login_client_login_mobile_otp_request(int fd, struct login_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_login_client_login_mobile_otp_request_pre > 0) {
+ void (*preHookFunc) (int *fd, struct login_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_login_client_login_mobile_otp_request_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_login_client_login_mobile_otp_request_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.login.client_login_mobile_otp_request(fd, sd);
+ }
+ if (HPMHooks.count.HP_login_client_login_mobile_otp_request_post > 0) {
+ void (*postHookFunc) (int fd, struct login_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_login_client_login_mobile_otp_request_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_login_client_login_mobile_otp_request_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
void HP_login_char_server_connection_status(int fd, struct login_session_data *sd, uint8 status) {
int hIndex = 0;
if (HPMHooks.count.HP_login_char_server_connection_status_pre > 0) {
@@ -6532,6 +6664,111 @@ void HP_nullpo_assert_report(const char *file, int line, const char *func, const
}
return;
}
+/* packets_interface */
+void HP_packets_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.init();
+ }
+ if (HPMHooks.count.HP_packets_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.final();
+ }
+ if (HPMHooks.count.HP_packets_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLens(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLens_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLens_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLens();
+ }
+ if (HPMHooks.count.HP_packets_addLens_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLens_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLen(int id, int len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLen_pre > 0) {
+ void (*preHookFunc) (int *id, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLen_pre[hIndex].func;
+ preHookFunc(&id, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLen(id, len);
+ }
+ if (HPMHooks.count.HP_packets_addLen_post > 0) {
+ void (*postHookFunc) (int id, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLen_post[hIndex].func;
+ postHookFunc(id, len);
+ }
+ }
+ return;
+}
/* rnd_interface */
void HP_rnd_init(void) {
int hIndex = 0;
@@ -7072,15 +7309,15 @@ int HP_sockt_realloc_writefifo(int fd, size_t addition) {
}
return retVal___;
}
-int HP_sockt_wfifoset(int fd, size_t len) {
+int HP_sockt_wfifoset(int fd, size_t len, bool validate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_sockt_wfifoset_pre > 0) {
- int (*preHookFunc) (int *fd, size_t *len);
+ int (*preHookFunc) (int *fd, size_t *len, bool *validate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_sockt_wfifoset_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &len);
+ retVal___ = preHookFunc(&fd, &len, &validate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -7088,17 +7325,43 @@ int HP_sockt_wfifoset(int fd, size_t len) {
}
}
{
- retVal___ = HPMHooks.source.sockt.wfifoset(fd, len);
+ retVal___ = HPMHooks.source.sockt.wfifoset(fd, len, validate);
}
if (HPMHooks.count.HP_sockt_wfifoset_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, size_t len);
+ int (*postHookFunc) (int retVal___, int fd, size_t len, bool validate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_sockt_wfifoset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, len);
+ retVal___ = postHookFunc(retVal___, fd, len, validate);
}
}
return retVal___;
}
+void HP_sockt_wfifohead(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_wfifohead_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_wfifohead_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.wfifohead(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_wfifohead_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_wfifohead_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
int HP_sockt_rfifoskip(int fd, size_t len) {
int hIndex = 0;
int retVal___ = 0;
@@ -7152,6 +7415,32 @@ void HP_sockt_close(int fd) {
}
return;
}
+void HP_sockt_validateWfifo(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_validateWfifo_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_validateWfifo_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.validateWfifo(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_validateWfifo_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_validateWfifo_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
bool HP_sockt_session_is_valid(int fd) {
int hIndex = 0;
bool retVal___ = false;
@@ -7258,6 +7547,33 @@ void HP_sockt_flush_fifos(void) {
}
return;
}
+int HP_sockt_connect_client(int listen_fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_sockt_connect_client_pre > 0) {
+ int (*preHookFunc) (int *listen_fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_connect_client_pre[hIndex].func;
+ retVal___ = preHookFunc(&listen_fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.sockt.connect_client(listen_fd);
+ }
+ if (HPMHooks.count.HP_sockt_connect_client_post > 0) {
+ int (*postHookFunc) (int retVal___, int listen_fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_connect_client_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_connect_client_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, listen_fd);
+ }
+ }
+ return retVal___;
+}
void HP_sockt_set_nonblocking(int fd, unsigned long yes) {
int hIndex = 0;
if (HPMHooks.count.HP_sockt_set_nonblocking_pre > 0) {
diff --git a/src/plugins/HPMHooking/HPMHooking_login.sources.inc b/src/plugins/HPMHooking/HPMHooking_login.sources.inc
index 78c506043..576796779 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.sources.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -42,6 +42,7 @@ HPMHooks.source.loginlog = *loginlog;
HPMHooks.source.md5 = *md5;
HPMHooks.source.mutex = *mutex;
HPMHooks.source.nullpo = *nullpo;
+HPMHooks.source.packets = *packets;
HPMHooks.source.rnd = *rnd;
HPMHooks.source.showmsg = *showmsg;
HPMHooks.source.sockt = *sockt;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 8762975e1..16de79ecb 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -136,6 +136,10 @@ struct {
struct HPMHookPoint *HP_achievement_check_title_post;
struct HPMHookPoint *HP_achievement_get_rewards_pre;
struct HPMHookPoint *HP_achievement_get_rewards_post;
+ struct HPMHookPoint *HP_achievement_get_rewards_buffs_pre;
+ struct HPMHookPoint *HP_achievement_get_rewards_buffs_post;
+ struct HPMHookPoint *HP_achievement_get_rewards_items_pre;
+ struct HPMHookPoint *HP_achievement_get_rewards_items_post;
struct HPMHookPoint *HP_atcommand_init_pre;
struct HPMHookPoint *HP_atcommand_init_post;
struct HPMHookPoint *HP_atcommand_final_pre;
@@ -232,6 +236,8 @@ struct {
struct HPMHookPoint *HP_battle_drain_post;
struct HPMHookPoint *HP_battle_reflect_damage_pre;
struct HPMHookPoint *HP_battle_reflect_damage_post;
+ struct HPMHookPoint *HP_battle_reflect_trap_pre;
+ struct HPMHookPoint *HP_battle_reflect_trap_post;
struct HPMHookPoint *HP_battle_attr_ratio_pre;
struct HPMHookPoint *HP_battle_attr_ratio_post;
struct HPMHookPoint *HP_battle_attr_fix_pre;
@@ -880,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;
@@ -910,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;
@@ -924,6 +938,18 @@ struct {
struct HPMHookPoint *HP_clif_cartList_post;
struct HPMHookPoint *HP_clif_cartItems_pre;
struct HPMHookPoint *HP_clif_cartItems_post;
+ struct HPMHookPoint *HP_clif_inventoryExpansionInfo_pre;
+ struct HPMHookPoint *HP_clif_inventoryExpansionInfo_post;
+ struct HPMHookPoint *HP_clif_inventoryExpandAck_pre;
+ struct HPMHookPoint *HP_clif_inventoryExpandAck_post;
+ struct HPMHookPoint *HP_clif_inventoryExpandResult_pre;
+ struct HPMHookPoint *HP_clif_inventoryExpandResult_post;
+ struct HPMHookPoint *HP_clif_pInventoryExpansion_pre;
+ struct HPMHookPoint *HP_clif_pInventoryExpansion_post;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionConfirmed_pre;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionConfirmed_post;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionRejected_pre;
+ struct HPMHookPoint *HP_clif_pInventoryExpansionRejected_post;
struct HPMHookPoint *HP_clif_favorite_item_pre;
struct HPMHookPoint *HP_clif_favorite_item_post;
struct HPMHookPoint *HP_clif_clearcart_pre;
@@ -950,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;
@@ -1104,6 +1154,12 @@ 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;
+ struct HPMHookPoint *HP_clif_removeSpecialEffect_single_post;
struct HPMHookPoint *HP_clif_millenniumshield_pre;
struct HPMHookPoint *HP_clif_millenniumshield_post;
struct HPMHookPoint *HP_clif_spiritcharm_pre;
@@ -1134,6 +1190,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;
@@ -1154,6 +1212,8 @@ struct {
struct HPMHookPoint *HP_clif_messagecolor_self_post;
struct HPMHookPoint *HP_clif_messagecolor_pre;
struct HPMHookPoint *HP_clif_messagecolor_post;
+ struct HPMHookPoint *HP_clif_serviceMessageColor_pre;
+ struct HPMHookPoint *HP_clif_serviceMessageColor_post;
struct HPMHookPoint *HP_clif_disp_overhead_pre;
struct HPMHookPoint *HP_clif_disp_overhead_post;
struct HPMHookPoint *HP_clif_notify_playerchat_pre;
@@ -1246,6 +1306,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;
@@ -1288,6 +1350,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;
@@ -1590,6 +1656,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;
@@ -1598,6 +1666,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;
@@ -1622,8 +1692,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;
@@ -1708,8 +1780,14 @@ struct {
struct HPMHookPoint *HP_clif_pStatusUp_post;
struct HPMHookPoint *HP_clif_pSkillUp_pre;
struct HPMHookPoint *HP_clif_pSkillUp_post;
+ struct HPMHookPoint *HP_clif_useSkillToIdReal_pre;
+ struct HPMHookPoint *HP_clif_useSkillToIdReal_post;
struct HPMHookPoint *HP_clif_pUseSkillToId_pre;
struct HPMHookPoint *HP_clif_pUseSkillToId_post;
+ struct HPMHookPoint *HP_clif_pStartUseSkillToId_pre;
+ struct HPMHookPoint *HP_clif_pStartUseSkillToId_post;
+ struct HPMHookPoint *HP_clif_pStopUseSkillToId_pre;
+ struct HPMHookPoint *HP_clif_pStopUseSkillToId_post;
struct HPMHookPoint *HP_clif_pUseSkillToId_homun_pre;
struct HPMHookPoint *HP_clif_pUseSkillToId_homun_post;
struct HPMHookPoint *HP_clif_pUseSkillToId_mercenary_pre;
@@ -2022,8 +2100,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;
@@ -2036,6 +2118,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;
@@ -2074,8 +2160,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;
@@ -2180,24 +2268,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;
@@ -2208,6 +2284,68 @@ struct {
struct HPMHookPoint *HP_clif_party_dead_notification_post;
struct HPMHookPoint *HP_clif_pMemorialDungeonCommand_pre;
struct HPMHookPoint *HP_clif_pMemorialDungeonCommand_post;
+ struct HPMHookPoint *HP_clif_camera_showWindow_pre;
+ struct HPMHookPoint *HP_clif_camera_showWindow_post;
+ struct HPMHookPoint *HP_clif_camera_change_pre;
+ struct HPMHookPoint *HP_clif_camera_change_post;
+ struct HPMHookPoint *HP_clif_pCameraInfo_pre;
+ struct HPMHookPoint *HP_clif_pCameraInfo_post;
+ struct HPMHookPoint *HP_clif_item_preview_pre;
+ struct HPMHookPoint *HP_clif_item_preview_post;
+ struct HPMHookPoint *HP_clif_enchant_equipment_pre;
+ struct HPMHookPoint *HP_clif_enchant_equipment_post;
+ struct HPMHookPoint *HP_clif_pReqRemainTime_pre;
+ struct HPMHookPoint *HP_clif_pReqRemainTime_post;
+ struct HPMHookPoint *HP_clif_npc_barter_open_pre;
+ struct HPMHookPoint *HP_clif_npc_barter_open_post;
+ struct HPMHookPoint *HP_clif_pNPCBarterClosed_pre;
+ struct HPMHookPoint *HP_clif_pNPCBarterClosed_post;
+ struct HPMHookPoint *HP_clif_pNPCBarterPurchase_pre;
+ struct HPMHookPoint *HP_clif_pNPCBarterPurchase_post;
+ struct HPMHookPoint *HP_clif_pClientVersion_pre;
+ struct HPMHookPoint *HP_clif_pClientVersion_post;
+ struct HPMHookPoint *HP_clif_pPing_pre;
+ struct HPMHookPoint *HP_clif_pPing_post;
+ struct HPMHookPoint *HP_clif_ping_pre;
+ struct HPMHookPoint *HP_clif_ping_post;
+ struct HPMHookPoint *HP_clif_pingTimer_pre;
+ struct HPMHookPoint *HP_clif_pingTimer_post;
+ struct HPMHookPoint *HP_clif_pingTimerSub_pre;
+ struct HPMHookPoint *HP_clif_pingTimerSub_post;
+ struct HPMHookPoint *HP_clif_pResetCooldown_pre;
+ struct HPMHookPoint *HP_clif_pResetCooldown_post;
+ struct HPMHookPoint *HP_clif_loadConfirm_pre;
+ struct HPMHookPoint *HP_clif_loadConfirm_post;
+ struct HPMHookPoint *HP_clif_send_selforarea_pre;
+ struct HPMHookPoint *HP_clif_send_selforarea_post;
+ struct HPMHookPoint *HP_clif_OpenRefineryUI_pre;
+ struct HPMHookPoint *HP_clif_OpenRefineryUI_post;
+ struct HPMHookPoint *HP_clif_pAddItemRefineryUI_pre;
+ struct HPMHookPoint *HP_clif_pAddItemRefineryUI_post;
+ struct HPMHookPoint *HP_clif_AddItemRefineryUIAck_pre;
+ struct HPMHookPoint *HP_clif_AddItemRefineryUIAck_post;
+ struct HPMHookPoint *HP_clif_pRefineryUIClose_pre;
+ struct HPMHookPoint *HP_clif_pRefineryUIClose_post;
+ struct HPMHookPoint *HP_clif_pRefineryUIRefine_pre;
+ struct HPMHookPoint *HP_clif_pRefineryUIRefine_post;
+ struct HPMHookPoint *HP_clif_announce_refine_status_pre;
+ struct HPMHookPoint *HP_clif_announce_refine_status_post;
+ struct HPMHookPoint *HP_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;
@@ -2466,8 +2604,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;
@@ -2512,8 +2648,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;
@@ -2610,6 +2750,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;
@@ -2708,16 +2850,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;
@@ -2744,8 +2876,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;
@@ -2760,8 +2890,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;
@@ -2852,6 +2980,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;
@@ -2864,14 +2996,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;
@@ -2900,8 +3024,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;
@@ -2914,8 +3036,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;
@@ -3132,10 +3252,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;
@@ -3170,6 +3290,18 @@ struct {
struct HPMHookPoint *HP_itemdb_lookup_const_post;
struct HPMHookPoint *HP_itemdb_lookup_const_mask_pre;
struct HPMHookPoint *HP_itemdb_lookup_const_mask_post;
+ struct HPMHookPoint *HP_itemdb_addname_sub_pre;
+ struct HPMHookPoint *HP_itemdb_addname_sub_post;
+ struct HPMHookPoint *HP_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;
@@ -3372,6 +3504,8 @@ struct {
struct HPMHookPoint *HP_map_zone_init_post;
struct HPMHookPoint *HP_map_zone_remove_pre;
struct HPMHookPoint *HP_map_zone_remove_post;
+ struct HPMHookPoint *HP_map_zone_remove_all_pre;
+ struct HPMHookPoint *HP_map_zone_remove_all_post;
struct HPMHookPoint *HP_map_zone_apply_pre;
struct HPMHookPoint *HP_map_zone_apply_post;
struct HPMHookPoint *HP_map_zone_change_pre;
@@ -3638,6 +3772,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;
@@ -3756,6 +3894,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;
@@ -3828,6 +3968,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;
@@ -3848,6 +3990,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;
@@ -3914,6 +4058,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;
@@ -3934,12 +4086,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;
@@ -3964,6 +4120,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;
@@ -4214,6 +4372,8 @@ struct {
struct HPMHookPoint *HP_npc_trader_update_post;
struct HPMHookPoint *HP_npc_market_buylist_pre;
struct HPMHookPoint *HP_npc_market_buylist_post;
+ struct HPMHookPoint *HP_npc_barter_buylist_pre;
+ struct HPMHookPoint *HP_npc_barter_buylist_post;
struct HPMHookPoint *HP_npc_trader_open_pre;
struct HPMHookPoint *HP_npc_trader_open_post;
struct HPMHookPoint *HP_npc_market_fromsql_pre;
@@ -4224,14 +4384,32 @@ struct {
struct HPMHookPoint *HP_npc_market_delfromsql_post;
struct HPMHookPoint *HP_npc_market_delfromsql_sub_pre;
struct HPMHookPoint *HP_npc_market_delfromsql_sub_post;
+ struct HPMHookPoint *HP_npc_barter_fromsql_pre;
+ struct HPMHookPoint *HP_npc_barter_fromsql_post;
+ struct HPMHookPoint *HP_npc_barter_tosql_pre;
+ struct HPMHookPoint *HP_npc_barter_tosql_post;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_pre;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_post;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_sub_pre;
+ struct HPMHookPoint *HP_npc_barter_delfromsql_sub_post;
struct HPMHookPoint *HP_npc_db_checkid_pre;
struct HPMHookPoint *HP_npc_db_checkid_post;
struct HPMHookPoint *HP_npc_refresh_pre;
struct HPMHookPoint *HP_npc_refresh_post;
+ struct HPMHookPoint *HP_npc_questinfo_clear_pre;
+ struct HPMHookPoint *HP_npc_questinfo_clear_post;
struct HPMHookPoint *HP_npc_secure_timeout_timer_pre;
struct HPMHookPoint *HP_npc_secure_timeout_timer_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
+ struct HPMHookPoint *HP_packets_init_pre;
+ struct HPMHookPoint *HP_packets_init_post;
+ struct HPMHookPoint *HP_packets_final_pre;
+ struct HPMHookPoint *HP_packets_final_post;
+ struct HPMHookPoint *HP_packets_addLens_pre;
+ struct HPMHookPoint *HP_packets_addLens_post;
+ struct HPMHookPoint *HP_packets_addLen_pre;
+ struct HPMHookPoint *HP_packets_addLen_post;
struct HPMHookPoint *HP_party_init_pre;
struct HPMHookPoint *HP_party_init_post;
struct HPMHookPoint *HP_party_final_pre;
@@ -4286,8 +4464,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;
@@ -4832,8 +5008,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;
@@ -4842,6 +5024,10 @@ struct {
struct HPMHookPoint *HP_pc_isDeathPenaltyJob_post;
struct HPMHookPoint *HP_pc_has_second_costume_pre;
struct HPMHookPoint *HP_pc_has_second_costume_post;
+ struct HPMHookPoint *HP_pc_expandInventory_pre;
+ struct HPMHookPoint *HP_pc_expandInventory_post;
+ struct HPMHookPoint *HP_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;
@@ -4996,8 +5182,38 @@ struct {
struct HPMHookPoint *HP_quest_questinfo_validate_homunculus_type_post;
struct HPMHookPoint *HP_quest_questinfo_validate_quests_pre;
struct HPMHookPoint *HP_quest_questinfo_validate_quests_post;
- struct HPMHookPoint *HP_quest_questinfo_vector_clear_pre;
- struct HPMHookPoint *HP_quest_questinfo_vector_clear_post;
+ struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_pre;
+ struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_post;
+ struct HPMHookPoint *HP_refine_init_pre;
+ struct HPMHookPoint *HP_refine_init_post;
+ struct HPMHookPoint *HP_refine_final_pre;
+ struct HPMHookPoint *HP_refine_final_post;
+ struct HPMHookPoint *HP_refine_get_refine_chance_pre;
+ struct HPMHookPoint *HP_refine_get_refine_chance_post;
+ struct HPMHookPoint *HP_refine_get_bonus_pre;
+ struct HPMHookPoint *HP_refine_get_bonus_post;
+ struct HPMHookPoint *HP_refine_get_randombonus_max_pre;
+ struct HPMHookPoint *HP_refine_get_randombonus_max_post;
+ struct HPMHookPoint *HP_refine_refinery_add_item_pre;
+ struct HPMHookPoint *HP_refine_refinery_add_item_post;
+ struct HPMHookPoint *HP_refine_refinery_refine_request_pre;
+ struct HPMHookPoint *HP_refine_refinery_refine_request_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_sub_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_sub_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refine_libconfig_post;
+ struct HPMHookPoint *HP_PRIV__refine_announce_behavior_string2enum_pre;
+ struct HPMHookPoint *HP_PRIV__refine_announce_behavior_string2enum_post;
+ struct HPMHookPoint *HP_PRIV__refine_failure_behavior_string2enum_pre;
+ struct HPMHookPoint *HP_PRIV__refine_failure_behavior_string2enum_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_items_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_items_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_sub_post;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_pre;
+ struct HPMHookPoint *HP_PRIV__refine_readdb_refinery_ui_settings_post;
+ struct HPMHookPoint *HP_PRIV__refine_is_refinable_pre;
+ struct HPMHookPoint *HP_PRIV__refine_is_refinable_post;
struct HPMHookPoint *HP_rnd_init_pre;
struct HPMHookPoint *HP_rnd_init_post;
struct HPMHookPoint *HP_rnd_final_pre;
@@ -5048,6 +5264,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;
@@ -5396,6 +5616,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;
@@ -5406,8 +5628,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;
@@ -5416,6 +5638,12 @@ 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_searchstore_open_pre;
struct HPMHookPoint *HP_searchstore_open_post;
struct HPMHookPoint *HP_searchstore_query_pre;
@@ -5702,6 +5930,8 @@ struct {
struct HPMHookPoint *HP_skill_cell_overlap_post;
struct HPMHookPoint *HP_skill_timerskill_pre;
struct HPMHookPoint *HP_skill_timerskill_post;
+ struct HPMHookPoint *HP_skill_trap_do_splash_pre;
+ struct HPMHookPoint *HP_skill_trap_do_splash_post;
struct HPMHookPoint *HP_skill_trap_splash_pre;
struct HPMHookPoint *HP_skill_trap_splash_post;
struct HPMHookPoint *HP_skill_check_condition_mercenary_pre;
@@ -5948,10 +6178,14 @@ struct {
struct HPMHookPoint *HP_sockt_realloc_writefifo_post;
struct HPMHookPoint *HP_sockt_wfifoset_pre;
struct HPMHookPoint *HP_sockt_wfifoset_post;
+ struct HPMHookPoint *HP_sockt_wfifohead_pre;
+ struct HPMHookPoint *HP_sockt_wfifohead_post;
struct HPMHookPoint *HP_sockt_rfifoskip_pre;
struct HPMHookPoint *HP_sockt_rfifoskip_post;
struct HPMHookPoint *HP_sockt_close_pre;
struct HPMHookPoint *HP_sockt_close_post;
+ struct HPMHookPoint *HP_sockt_validateWfifo_pre;
+ struct HPMHookPoint *HP_sockt_validateWfifo_post;
struct HPMHookPoint *HP_sockt_session_is_valid_pre;
struct HPMHookPoint *HP_sockt_session_is_valid_post;
struct HPMHookPoint *HP_sockt_session_is_active_pre;
@@ -5960,6 +6194,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;
@@ -6054,18 +6290,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;
@@ -6126,6 +6362,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;
@@ -6220,6 +6458,10 @@ struct {
struct HPMHookPoint *HP_status_get_base_maxhp_post;
struct HPMHookPoint *HP_status_get_base_maxsp_pre;
struct HPMHookPoint *HP_status_get_base_maxsp_post;
+ struct HPMHookPoint *HP_status_get_restart_hp_pre;
+ struct HPMHookPoint *HP_status_get_restart_hp_post;
+ struct HPMHookPoint *HP_status_get_restart_sp_pre;
+ struct HPMHookPoint *HP_status_get_restart_sp_post;
struct HPMHookPoint *HP_status_calc_npc__pre;
struct HPMHookPoint *HP_status_calc_npc__post;
struct HPMHookPoint *HP_status_calc_str_pre;
@@ -6282,12 +6524,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;
@@ -6376,6 +6620,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;
@@ -6719,6 +6981,10 @@ struct {
int HP_achievement_check_title_post;
int HP_achievement_get_rewards_pre;
int HP_achievement_get_rewards_post;
+ int HP_achievement_get_rewards_buffs_pre;
+ int HP_achievement_get_rewards_buffs_post;
+ int HP_achievement_get_rewards_items_pre;
+ int HP_achievement_get_rewards_items_post;
int HP_atcommand_init_pre;
int HP_atcommand_init_post;
int HP_atcommand_final_pre;
@@ -6815,6 +7081,8 @@ struct {
int HP_battle_drain_post;
int HP_battle_reflect_damage_pre;
int HP_battle_reflect_damage_post;
+ int HP_battle_reflect_trap_pre;
+ int HP_battle_reflect_trap_post;
int HP_battle_attr_ratio_pre;
int HP_battle_attr_ratio_post;
int HP_battle_attr_fix_pre;
@@ -7463,12 +7731,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;
@@ -7493,6 +7767,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;
@@ -7507,6 +7783,18 @@ struct {
int HP_clif_cartList_post;
int HP_clif_cartItems_pre;
int HP_clif_cartItems_post;
+ int HP_clif_inventoryExpansionInfo_pre;
+ int HP_clif_inventoryExpansionInfo_post;
+ int HP_clif_inventoryExpandAck_pre;
+ int HP_clif_inventoryExpandAck_post;
+ int HP_clif_inventoryExpandResult_pre;
+ int HP_clif_inventoryExpandResult_post;
+ int HP_clif_pInventoryExpansion_pre;
+ int HP_clif_pInventoryExpansion_post;
+ int HP_clif_pInventoryExpansionConfirmed_pre;
+ int HP_clif_pInventoryExpansionConfirmed_post;
+ int HP_clif_pInventoryExpansionRejected_pre;
+ int HP_clif_pInventoryExpansionRejected_post;
int HP_clif_favorite_item_pre;
int HP_clif_favorite_item_post;
int HP_clif_clearcart_pre;
@@ -7533,8 +7821,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;
@@ -7687,6 +7999,12 @@ 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;
+ int HP_clif_removeSpecialEffect_single_post;
int HP_clif_millenniumshield_pre;
int HP_clif_millenniumshield_post;
int HP_clif_spiritcharm_pre;
@@ -7717,6 +8035,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;
@@ -7737,6 +8057,8 @@ struct {
int HP_clif_messagecolor_self_post;
int HP_clif_messagecolor_pre;
int HP_clif_messagecolor_post;
+ int HP_clif_serviceMessageColor_pre;
+ int HP_clif_serviceMessageColor_post;
int HP_clif_disp_overhead_pre;
int HP_clif_disp_overhead_post;
int HP_clif_notify_playerchat_pre;
@@ -7829,6 +8151,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;
@@ -7871,6 +8195,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;
@@ -8173,6 +8501,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;
@@ -8181,6 +8511,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;
@@ -8205,8 +8537,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;
@@ -8291,8 +8625,14 @@ struct {
int HP_clif_pStatusUp_post;
int HP_clif_pSkillUp_pre;
int HP_clif_pSkillUp_post;
+ int HP_clif_useSkillToIdReal_pre;
+ int HP_clif_useSkillToIdReal_post;
int HP_clif_pUseSkillToId_pre;
int HP_clif_pUseSkillToId_post;
+ int HP_clif_pStartUseSkillToId_pre;
+ int HP_clif_pStartUseSkillToId_post;
+ int HP_clif_pStopUseSkillToId_pre;
+ int HP_clif_pStopUseSkillToId_post;
int HP_clif_pUseSkillToId_homun_pre;
int HP_clif_pUseSkillToId_homun_post;
int HP_clif_pUseSkillToId_mercenary_pre;
@@ -8605,8 +8945,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;
@@ -8619,6 +8963,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;
@@ -8657,8 +9005,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;
@@ -8763,24 +9113,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;
@@ -8791,6 +9129,68 @@ struct {
int HP_clif_party_dead_notification_post;
int HP_clif_pMemorialDungeonCommand_pre;
int HP_clif_pMemorialDungeonCommand_post;
+ int HP_clif_camera_showWindow_pre;
+ int HP_clif_camera_showWindow_post;
+ int HP_clif_camera_change_pre;
+ int HP_clif_camera_change_post;
+ int HP_clif_pCameraInfo_pre;
+ int HP_clif_pCameraInfo_post;
+ int HP_clif_item_preview_pre;
+ int HP_clif_item_preview_post;
+ int HP_clif_enchant_equipment_pre;
+ int HP_clif_enchant_equipment_post;
+ int HP_clif_pReqRemainTime_pre;
+ int HP_clif_pReqRemainTime_post;
+ int HP_clif_npc_barter_open_pre;
+ int HP_clif_npc_barter_open_post;
+ int HP_clif_pNPCBarterClosed_pre;
+ int HP_clif_pNPCBarterClosed_post;
+ int HP_clif_pNPCBarterPurchase_pre;
+ int HP_clif_pNPCBarterPurchase_post;
+ int HP_clif_pClientVersion_pre;
+ int HP_clif_pClientVersion_post;
+ int HP_clif_pPing_pre;
+ int HP_clif_pPing_post;
+ int HP_clif_ping_pre;
+ int HP_clif_ping_post;
+ int HP_clif_pingTimer_pre;
+ int HP_clif_pingTimer_post;
+ int HP_clif_pingTimerSub_pre;
+ int HP_clif_pingTimerSub_post;
+ int HP_clif_pResetCooldown_pre;
+ int HP_clif_pResetCooldown_post;
+ int HP_clif_loadConfirm_pre;
+ int HP_clif_loadConfirm_post;
+ int HP_clif_send_selforarea_pre;
+ int HP_clif_send_selforarea_post;
+ int HP_clif_OpenRefineryUI_pre;
+ int HP_clif_OpenRefineryUI_post;
+ int HP_clif_pAddItemRefineryUI_pre;
+ int HP_clif_pAddItemRefineryUI_post;
+ int HP_clif_AddItemRefineryUIAck_pre;
+ int HP_clif_AddItemRefineryUIAck_post;
+ int HP_clif_pRefineryUIClose_pre;
+ int HP_clif_pRefineryUIClose_post;
+ int HP_clif_pRefineryUIRefine_pre;
+ int HP_clif_pRefineryUIRefine_post;
+ int HP_clif_announce_refine_status_pre;
+ int HP_clif_announce_refine_status_post;
+ int HP_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;
@@ -9049,8 +9449,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;
@@ -9095,8 +9493,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;
@@ -9193,6 +9595,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;
@@ -9291,16 +9695,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;
@@ -9327,8 +9721,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;
@@ -9343,8 +9735,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;
@@ -9435,6 +9825,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;
@@ -9447,14 +9841,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;
@@ -9483,8 +9869,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;
@@ -9497,8 +9881,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;
@@ -9715,10 +10097,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;
@@ -9753,6 +10135,18 @@ struct {
int HP_itemdb_lookup_const_post;
int HP_itemdb_lookup_const_mask_pre;
int HP_itemdb_lookup_const_mask_post;
+ int HP_itemdb_addname_sub_pre;
+ int HP_itemdb_addname_sub_post;
+ int HP_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;
@@ -9955,6 +10349,8 @@ struct {
int HP_map_zone_init_post;
int HP_map_zone_remove_pre;
int HP_map_zone_remove_post;
+ int HP_map_zone_remove_all_pre;
+ int HP_map_zone_remove_all_post;
int HP_map_zone_apply_pre;
int HP_map_zone_apply_post;
int HP_map_zone_change_pre;
@@ -10221,6 +10617,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;
@@ -10339,6 +10739,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;
@@ -10411,6 +10813,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;
@@ -10431,6 +10835,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;
@@ -10497,6 +10903,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;
@@ -10517,12 +10931,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;
@@ -10547,6 +10965,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;
@@ -10797,6 +11217,8 @@ struct {
int HP_npc_trader_update_post;
int HP_npc_market_buylist_pre;
int HP_npc_market_buylist_post;
+ int HP_npc_barter_buylist_pre;
+ int HP_npc_barter_buylist_post;
int HP_npc_trader_open_pre;
int HP_npc_trader_open_post;
int HP_npc_market_fromsql_pre;
@@ -10807,14 +11229,32 @@ struct {
int HP_npc_market_delfromsql_post;
int HP_npc_market_delfromsql_sub_pre;
int HP_npc_market_delfromsql_sub_post;
+ int HP_npc_barter_fromsql_pre;
+ int HP_npc_barter_fromsql_post;
+ int HP_npc_barter_tosql_pre;
+ int HP_npc_barter_tosql_post;
+ int HP_npc_barter_delfromsql_pre;
+ int HP_npc_barter_delfromsql_post;
+ int HP_npc_barter_delfromsql_sub_pre;
+ int HP_npc_barter_delfromsql_sub_post;
int HP_npc_db_checkid_pre;
int HP_npc_db_checkid_post;
int HP_npc_refresh_pre;
int HP_npc_refresh_post;
+ int HP_npc_questinfo_clear_pre;
+ int HP_npc_questinfo_clear_post;
int HP_npc_secure_timeout_timer_pre;
int HP_npc_secure_timeout_timer_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
+ int HP_packets_init_pre;
+ int HP_packets_init_post;
+ int HP_packets_final_pre;
+ int HP_packets_final_post;
+ int HP_packets_addLens_pre;
+ int HP_packets_addLens_post;
+ int HP_packets_addLen_pre;
+ int HP_packets_addLen_post;
int HP_party_init_pre;
int HP_party_init_post;
int HP_party_final_pre;
@@ -10869,8 +11309,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;
@@ -11415,8 +11853,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;
@@ -11425,6 +11869,10 @@ struct {
int HP_pc_isDeathPenaltyJob_post;
int HP_pc_has_second_costume_pre;
int HP_pc_has_second_costume_post;
+ int HP_pc_expandInventory_pre;
+ int HP_pc_expandInventory_post;
+ int HP_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;
@@ -11579,8 +12027,38 @@ struct {
int HP_quest_questinfo_validate_homunculus_type_post;
int HP_quest_questinfo_validate_quests_pre;
int HP_quest_questinfo_validate_quests_post;
- int HP_quest_questinfo_vector_clear_pre;
- int HP_quest_questinfo_vector_clear_post;
+ int HP_quest_questinfo_validate_mercenary_class_pre;
+ int HP_quest_questinfo_validate_mercenary_class_post;
+ int HP_refine_init_pre;
+ int HP_refine_init_post;
+ int HP_refine_final_pre;
+ int HP_refine_final_post;
+ int HP_refine_get_refine_chance_pre;
+ int HP_refine_get_refine_chance_post;
+ int HP_refine_get_bonus_pre;
+ int HP_refine_get_bonus_post;
+ int HP_refine_get_randombonus_max_pre;
+ int HP_refine_get_randombonus_max_post;
+ int HP_refine_refinery_add_item_pre;
+ int HP_refine_refinery_add_item_post;
+ int HP_refine_refinery_refine_request_pre;
+ int HP_refine_refinery_refine_request_post;
+ int HP_PRIV__refine_readdb_refine_libconfig_sub_pre;
+ int HP_PRIV__refine_readdb_refine_libconfig_sub_post;
+ int HP_PRIV__refine_readdb_refine_libconfig_pre;
+ int HP_PRIV__refine_readdb_refine_libconfig_post;
+ int HP_PRIV__refine_announce_behavior_string2enum_pre;
+ int HP_PRIV__refine_announce_behavior_string2enum_post;
+ int HP_PRIV__refine_failure_behavior_string2enum_pre;
+ int HP_PRIV__refine_failure_behavior_string2enum_post;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_items_pre;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_items_post;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_sub_pre;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_sub_post;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_pre;
+ int HP_PRIV__refine_readdb_refinery_ui_settings_post;
+ int HP_PRIV__refine_is_refinable_pre;
+ int HP_PRIV__refine_is_refinable_post;
int HP_rnd_init_pre;
int HP_rnd_init_post;
int HP_rnd_final_pre;
@@ -11631,6 +12109,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;
@@ -11979,6 +12461,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;
@@ -11989,8 +12473,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;
@@ -11999,6 +12483,12 @@ 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_searchstore_open_pre;
int HP_searchstore_open_post;
int HP_searchstore_query_pre;
@@ -12285,6 +12775,8 @@ struct {
int HP_skill_cell_overlap_post;
int HP_skill_timerskill_pre;
int HP_skill_timerskill_post;
+ int HP_skill_trap_do_splash_pre;
+ int HP_skill_trap_do_splash_post;
int HP_skill_trap_splash_pre;
int HP_skill_trap_splash_post;
int HP_skill_check_condition_mercenary_pre;
@@ -12531,10 +13023,14 @@ struct {
int HP_sockt_realloc_writefifo_post;
int HP_sockt_wfifoset_pre;
int HP_sockt_wfifoset_post;
+ int HP_sockt_wfifohead_pre;
+ int HP_sockt_wfifohead_post;
int HP_sockt_rfifoskip_pre;
int HP_sockt_rfifoskip_post;
int HP_sockt_close_pre;
int HP_sockt_close_post;
+ int HP_sockt_validateWfifo_pre;
+ int HP_sockt_validateWfifo_post;
int HP_sockt_session_is_valid_pre;
int HP_sockt_session_is_valid_post;
int HP_sockt_session_is_active_pre;
@@ -12543,6 +13039,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;
@@ -12637,18 +13135,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;
@@ -12709,6 +13207,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;
@@ -12803,6 +13303,10 @@ struct {
int HP_status_get_base_maxhp_post;
int HP_status_get_base_maxsp_pre;
int HP_status_get_base_maxsp_post;
+ int HP_status_get_restart_hp_pre;
+ int HP_status_get_restart_hp_post;
+ int HP_status_get_restart_sp_pre;
+ int HP_status_get_restart_sp_post;
int HP_status_calc_npc__pre;
int HP_status_calc_npc__post;
int HP_status_calc_str_pre;
@@ -12865,12 +13369,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;
@@ -12959,6 +13465,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;
@@ -13232,6 +13756,7 @@ struct {
struct npc_chat_interface npc_chat;
struct npc_interface npc;
struct nullpo_interface nullpo;
+ struct packets_interface packets;
struct party_interface party;
struct path_interface path;
struct pc_groups_interface pcg;
@@ -13239,6 +13764,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;
@@ -13251,6 +13778,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 2f3f1840f..7b81bac49 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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,6 +83,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(achievement->init_titles, HP_achievement_init_titles) },
{ HP_POP(achievement->check_title, HP_achievement_check_title) },
{ HP_POP(achievement->get_rewards, HP_achievement_get_rewards) },
+ { HP_POP(achievement->get_rewards_buffs, HP_achievement_get_rewards_buffs) },
+ { HP_POP(achievement->get_rewards_items, HP_achievement_get_rewards_items) },
/* atcommand_interface */
{ HP_POP(atcommand->init, HP_atcommand_init) },
{ HP_POP(atcommand->final, HP_atcommand_final) },
@@ -133,6 +135,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(battle->delay_damage, HP_battle_delay_damage) },
{ HP_POP(battle->drain, HP_battle_drain) },
{ HP_POP(battle->reflect_damage, HP_battle_reflect_damage) },
+ { HP_POP(battle->reflect_trap, HP_battle_reflect_trap) },
{ HP_POP(battle->attr_ratio, HP_battle_attr_ratio) },
{ HP_POP(battle->attr_fix, HP_battle_attr_fix) },
{ HP_POP(battle->calc_cardfix, HP_battle_calc_cardfix) },
@@ -464,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) },
@@ -479,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) },
@@ -486,6 +493,12 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->equipItems, HP_clif_equipItems) },
{ HP_POP(clif->cartList, HP_clif_cartList) },
{ HP_POP(clif->cartItems, HP_clif_cartItems) },
+ { HP_POP(clif->inventoryExpansionInfo, HP_clif_inventoryExpansionInfo) },
+ { HP_POP(clif->inventoryExpandAck, HP_clif_inventoryExpandAck) },
+ { HP_POP(clif->inventoryExpandResult, HP_clif_inventoryExpandResult) },
+ { HP_POP(clif->pInventoryExpansion, HP_clif_pInventoryExpansion) },
+ { HP_POP(clif->pInventoryExpansionConfirmed, HP_clif_pInventoryExpansionConfirmed) },
+ { HP_POP(clif->pInventoryExpansionRejected, HP_clif_pInventoryExpansionRejected) },
{ HP_POP(clif->favorite_item, HP_clif_favorite_item) },
{ HP_POP(clif->clearcart, HP_clif_clearcart) },
{ HP_POP(clif->item_identify_list, HP_clif_item_identify_list) },
@@ -499,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) },
@@ -576,6 +601,9 @@ 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) },
{ HP_POP(clif->spiritcharm, HP_clif_spiritcharm) },
{ HP_POP(clif->charm_single, HP_clif_charm_single) },
@@ -591,6 +619,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) },
@@ -601,6 +630,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->broadcast2, HP_clif_broadcast2) },
{ HP_POP(clif->messagecolor_self, HP_clif_messagecolor_self) },
{ HP_POP(clif->messagecolor, HP_clif_messagecolor) },
+ { HP_POP(clif->serviceMessageColor, HP_clif_serviceMessageColor) },
{ HP_POP(clif->disp_overhead, HP_clif_disp_overhead) },
{ HP_POP(clif->notify_playerchat, HP_clif_notify_playerchat) },
{ HP_POP(clif->msgtable, HP_clif_msgtable) },
@@ -647,6 +677,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) },
@@ -668,6 +699,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) },
@@ -819,10 +852,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) },
@@ -835,7 +870,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) },
@@ -878,7 +914,10 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->pChangeCart, HP_clif_pChangeCart) },
{ HP_POP(clif->pStatusUp, HP_clif_pStatusUp) },
{ HP_POP(clif->pSkillUp, HP_clif_pSkillUp) },
+ { HP_POP(clif->useSkillToIdReal, HP_clif_useSkillToIdReal) },
{ HP_POP(clif->pUseSkillToId, HP_clif_pUseSkillToId) },
+ { HP_POP(clif->pStartUseSkillToId, HP_clif_pStartUseSkillToId) },
+ { HP_POP(clif->pStopUseSkillToId, HP_clif_pStopUseSkillToId) },
{ HP_POP(clif->pUseSkillToId_homun, HP_clif_pUseSkillToId_homun) },
{ HP_POP(clif->pUseSkillToId_mercenary, HP_clif_pUseSkillToId_mercenary) },
{ HP_POP(clif->pUseSkillToPos, HP_clif_pUseSkillToPos) },
@@ -1035,13 +1074,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) },
@@ -1061,7 +1104,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) },
@@ -1114,20 +1158,45 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->ui_action, HP_clif_ui_action) },
{ HP_POP(clif->pPrivateAirshipRequest, HP_clif_pPrivateAirshipRequest) },
{ HP_POP(clif->PrivateAirshipResponse, HP_clif_PrivateAirshipResponse) },
- { HP_POP(clif->stylist_vector_init, HP_clif_stylist_vector_init) },
- { HP_POP(clif->stylist_vector_clear, HP_clif_stylist_vector_clear) },
- { HP_POP(clif->stylist_read_db_libconfig, HP_clif_stylist_read_db_libconfig) },
- { HP_POP(clif->stylist_read_db_libconfig_sub, HP_clif_stylist_read_db_libconfig_sub) },
- { HP_POP(clif->style_change_validate_requirements, HP_clif_style_change_validate_requirements) },
- { HP_POP(clif->stylist_send_rodexitem, HP_clif_stylist_send_rodexitem) },
{ HP_POP(clif->pReqStyleChange, HP_clif_pReqStyleChange) },
{ HP_POP(clif->pReqStyleChange2, HP_clif_pReqStyleChange2) },
- { HP_POP(clif->cz_req_style_change_sub, HP_clif_cz_req_style_change_sub) },
+ { HP_POP(clif->pStyleClose, HP_clif_pStyleClose) },
{ HP_POP(clif->style_change_response, HP_clif_style_change_response) },
{ HP_POP(clif->pPetEvolution, HP_clif_pPetEvolution) },
{ HP_POP(clif->petEvolutionResult, HP_clif_petEvolutionResult) },
{ HP_POP(clif->party_dead_notification, HP_clif_party_dead_notification) },
{ HP_POP(clif->pMemorialDungeonCommand, HP_clif_pMemorialDungeonCommand) },
+ { HP_POP(clif->camera_showWindow, HP_clif_camera_showWindow) },
+ { HP_POP(clif->camera_change, HP_clif_camera_change) },
+ { HP_POP(clif->pCameraInfo, HP_clif_pCameraInfo) },
+ { HP_POP(clif->item_preview, HP_clif_item_preview) },
+ { HP_POP(clif->enchant_equipment, HP_clif_enchant_equipment) },
+ { HP_POP(clif->pReqRemainTime, HP_clif_pReqRemainTime) },
+ { HP_POP(clif->npc_barter_open, HP_clif_npc_barter_open) },
+ { HP_POP(clif->pNPCBarterClosed, HP_clif_pNPCBarterClosed) },
+ { HP_POP(clif->pNPCBarterPurchase, HP_clif_pNPCBarterPurchase) },
+ { HP_POP(clif->pClientVersion, HP_clif_pClientVersion) },
+ { HP_POP(clif->pPing, HP_clif_pPing) },
+ { HP_POP(clif->ping, HP_clif_ping) },
+ { HP_POP(clif->pingTimer, HP_clif_pingTimer) },
+ { HP_POP(clif->pingTimerSub, HP_clif_pingTimerSub) },
+ { HP_POP(clif->pResetCooldown, HP_clif_pResetCooldown) },
+ { HP_POP(clif->loadConfirm, HP_clif_loadConfirm) },
+ { HP_POP(clif->send_selforarea, HP_clif_send_selforarea) },
+ { HP_POP(clif->OpenRefineryUI, HP_clif_OpenRefineryUI) },
+ { HP_POP(clif->pAddItemRefineryUI, HP_clif_pAddItemRefineryUI) },
+ { HP_POP(clif->AddItemRefineryUIAck, HP_clif_AddItemRefineryUIAck) },
+ { HP_POP(clif->pRefineryUIClose, HP_clif_pRefineryUIClose) },
+ { HP_POP(clif->pRefineryUIRefine, HP_clif_pRefineryUIRefine) },
+ { HP_POP(clif->announce_refine_status, HP_clif_announce_refine_status) },
+ { 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) },
@@ -1266,7 +1335,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) },
@@ -1289,7 +1357,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) },
@@ -1340,6 +1410,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) },
@@ -1391,11 +1462,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) },
@@ -1409,7 +1475,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) },
@@ -1417,7 +1482,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) },
@@ -1463,16 +1527,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) },
@@ -1487,14 +1549,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) },
@@ -1605,8 +1665,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) },
@@ -1624,7 +1684,13 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(itemdb->is_item_usable, HP_itemdb_is_item_usable) },
{ HP_POP(itemdb->lookup_const, HP_itemdb_lookup_const) },
{ HP_POP(itemdb->lookup_const_mask, HP_itemdb_lookup_const_mask) },
+ { HP_POP(itemdb->addname_sub, HP_itemdb_addname_sub) },
+ { 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) },
@@ -1729,6 +1795,7 @@ struct HookingPointData HookingPoints[] = {
/* map_interface */
{ HP_POP(map->zone_init, HP_map_zone_init) },
{ HP_POP(map->zone_remove, HP_map_zone_remove) },
+ { HP_POP(map->zone_remove_all, HP_map_zone_remove_all) },
{ HP_POP(map->zone_apply, HP_map_zone_apply) },
{ HP_POP(map->zone_change, HP_map_zone_change) },
{ HP_POP(map->zone_change2, HP_map_zone_change2) },
@@ -1863,6 +1930,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) },
@@ -1927,6 +1996,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) },
@@ -1963,6 +2033,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) },
@@ -1973,6 +2044,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) },
@@ -2006,6 +2078,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) },
@@ -2016,9 +2092,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) },
@@ -2031,6 +2109,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) },
@@ -2159,16 +2238,27 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(npc->trader_pay, HP_npc_trader_pay) },
{ HP_POP(npc->trader_update, HP_npc_trader_update) },
{ HP_POP(npc->market_buylist, HP_npc_market_buylist) },
+ { HP_POP(npc->barter_buylist, HP_npc_barter_buylist) },
{ HP_POP(npc->trader_open, HP_npc_trader_open) },
{ HP_POP(npc->market_fromsql, HP_npc_market_fromsql) },
{ HP_POP(npc->market_tosql, HP_npc_market_tosql) },
{ HP_POP(npc->market_delfromsql, HP_npc_market_delfromsql) },
{ HP_POP(npc->market_delfromsql_sub, HP_npc_market_delfromsql_sub) },
+ { HP_POP(npc->barter_fromsql, HP_npc_barter_fromsql) },
+ { HP_POP(npc->barter_tosql, HP_npc_barter_tosql) },
+ { HP_POP(npc->barter_delfromsql, HP_npc_barter_delfromsql) },
+ { HP_POP(npc->barter_delfromsql_sub, HP_npc_barter_delfromsql_sub) },
{ HP_POP(npc->db_checkid, HP_npc_db_checkid) },
{ HP_POP(npc->refresh, HP_npc_refresh) },
+ { HP_POP(npc->questinfo_clear, HP_npc_questinfo_clear) },
{ HP_POP(npc->secure_timeout_timer, HP_npc_secure_timeout_timer) },
/* nullpo_interface */
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
+/* packets_interface */
+ { HP_POP(packets->init, HP_packets_init) },
+ { HP_POP(packets->final, HP_packets_final) },
+ { HP_POP(packets->addLens, HP_packets_addLens) },
+ { HP_POP(packets->addLen, HP_packets_addLen) },
/* party_interface */
{ HP_POP(party->init, HP_party_init) },
{ HP_POP(party->final, HP_party_final) },
@@ -2197,7 +2287,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) },
@@ -2473,11 +2562,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) },
@@ -2558,7 +2652,24 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(quest->questinfo_validate_homunculus_level, HP_quest_questinfo_validate_homunculus_level) },
{ HP_POP(quest->questinfo_validate_homunculus_type, HP_quest_questinfo_validate_homunculus_type) },
{ HP_POP(quest->questinfo_validate_quests, HP_quest_questinfo_validate_quests) },
- { HP_POP(quest->questinfo_vector_clear, HP_quest_questinfo_vector_clear) },
+ { HP_POP(quest->questinfo_validate_mercenary_class, HP_quest_questinfo_validate_mercenary_class) },
+/* refine_interface */
+ { HP_POP(refine->init, HP_refine_init) },
+ { HP_POP(refine->final, HP_refine_final) },
+ { HP_POP(refine->get_refine_chance, HP_refine_get_refine_chance) },
+ { HP_POP(refine->get_bonus, HP_refine_get_bonus) },
+ { HP_POP(refine->get_randombonus_max, HP_refine_get_randombonus_max) },
+ { HP_POP(refine->refinery_add_item, HP_refine_refinery_add_item) },
+ { HP_POP(refine->refinery_refine_request, HP_refine_refinery_refine_request) },
+/* refine_interface_private */
+ { HP_POP(refine->p->readdb_refine_libconfig_sub, HP_PRIV__refine_readdb_refine_libconfig_sub) },
+ { HP_POP(refine->p->readdb_refine_libconfig, HP_PRIV__refine_readdb_refine_libconfig) },
+ { HP_POP(refine->p->announce_behavior_string2enum, HP_PRIV__refine_announce_behavior_string2enum) },
+ { HP_POP(refine->p->failure_behavior_string2enum, HP_PRIV__refine_failure_behavior_string2enum) },
+ { HP_POP(refine->p->readdb_refinery_ui_settings_items, HP_PRIV__refine_readdb_refinery_ui_settings_items) },
+ { HP_POP(refine->p->readdb_refinery_ui_settings_sub, HP_PRIV__refine_readdb_refinery_ui_settings_sub) },
+ { HP_POP(refine->p->readdb_refinery_ui_settings, HP_PRIV__refine_readdb_refinery_ui_settings) },
+ { HP_POP(refine->p->is_refinable, HP_PRIV__refine_is_refinable) },
/* rnd_interface */
{ HP_POP(rnd->init, HP_rnd_init) },
{ HP_POP(rnd->final, HP_rnd_final) },
@@ -2586,6 +2697,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) },
@@ -2761,16 +2874,20 @@ 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) },
/* searchstore_interface */
{ HP_POP(searchstore->open, HP_searchstore_open) },
{ HP_POP(searchstore->query, HP_searchstore_query) },
@@ -2917,6 +3034,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->onskillusage, HP_skill_onskillusage) },
{ HP_POP(skill->cell_overlap, HP_skill_cell_overlap) },
{ HP_POP(skill->timerskill, HP_skill_timerskill) },
+ { HP_POP(skill->trap_do_splash, HP_skill_trap_do_splash) },
{ HP_POP(skill->trap_splash, HP_skill_trap_splash) },
{ HP_POP(skill->check_condition_mercenary, HP_skill_check_condition_mercenary) },
{ HP_POP(skill->locate_element_field, HP_skill_locate_element_field) },
@@ -3041,12 +3159,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(sockt->realloc_fifo, HP_sockt_realloc_fifo) },
{ HP_POP(sockt->realloc_writefifo, HP_sockt_realloc_writefifo) },
{ HP_POP(sockt->wfifoset, HP_sockt_wfifoset) },
+ { HP_POP(sockt->wfifohead, HP_sockt_wfifohead) },
{ HP_POP(sockt->rfifoskip, HP_sockt_rfifoskip) },
{ HP_POP(sockt->close, HP_sockt_close) },
+ { HP_POP(sockt->validateWfifo, HP_sockt_validateWfifo) },
{ HP_POP(sockt->session_is_valid, HP_sockt_session_is_valid) },
{ HP_POP(sockt->session_is_active, HP_sockt_session_is_active) },
{ HP_POP(sockt->flush, HP_sockt_flush) },
{ HP_POP(sockt->flush_fifos, HP_sockt_flush_fifos) },
+ { HP_POP(sockt->connect_client, HP_sockt_connect_client) },
{ HP_POP(sockt->set_nonblocking, HP_sockt_set_nonblocking) },
{ HP_POP(sockt->set_defaultparse, HP_sockt_set_defaultparse) },
{ HP_POP(sockt->host2ip, HP_sockt_host2ip) },
@@ -3096,12 +3217,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) },
@@ -3132,6 +3253,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) },
@@ -3179,6 +3301,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(status->base_atk, HP_status_base_atk) },
{ HP_POP(status->get_base_maxhp, HP_status_get_base_maxhp) },
{ HP_POP(status->get_base_maxsp, HP_status_get_base_maxsp) },
+ { HP_POP(status->get_restart_hp, HP_status_get_restart_hp) },
+ { HP_POP(status->get_restart_sp, HP_status_get_restart_sp) },
{ HP_POP(status->calc_npc_, HP_status_calc_npc_) },
{ HP_POP(status->calc_str, HP_status_calc_str) },
{ HP_POP(status->calc_agi, HP_status_calc_agi) },
@@ -3210,9 +3334,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) },
@@ -3260,6 +3385,16 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(strlib->safestrnlen_, HP_strlib_safestrnlen_) },
{ HP_POP(strlib->strline_, HP_strlib_strline_) },
{ HP_POP(strlib->bin2hex_, HP_strlib_bin2hex_) },
+/* stylist_interface */
+ { HP_POP(stylist->init, HP_stylist_init) },
+ { HP_POP(stylist->final, HP_stylist_final) },
+ { HP_POP(stylist->vector_init, HP_stylist_vector_init) },
+ { HP_POP(stylist->vector_clear, HP_stylist_vector_clear) },
+ { HP_POP(stylist->read_db_libconfig, HP_stylist_read_db_libconfig) },
+ { HP_POP(stylist->read_db_libconfig_sub, HP_stylist_read_db_libconfig_sub) },
+ { HP_POP(stylist->request_style_change, HP_stylist_request_style_change) },
+ { HP_POP(stylist->validate_requirements, HP_stylist_validate_requirements) },
+ { HP_POP(stylist->send_rodexitem, HP_stylist_send_rodexitem) },
/* sv_interface */
{ HP_POP(sv->parse_next, HP_sv_parse_next) },
{ HP_POP(sv->parse, HP_sv_parse) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 860e47f1b..7873e544a 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -1459,27 +1459,80 @@ bool HP_achievement_check_title(struct map_session_data *sd, int title_id) {
}
return retVal___;
}
-void HP_achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad) {
+bool HP_achievement_get_rewards(struct map_session_data *sd, const struct achievement_data *ad) {
int hIndex = 0;
+ bool retVal___ = false;
if (HPMHooks.count.HP_achievement_get_rewards_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
+ bool (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_achievement_get_rewards_pre[hIndex].func;
- preHookFunc(&sd, &ad);
+ retVal___ = preHookFunc(&sd, &ad);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return;
+ return retVal___;
}
}
{
- HPMHooks.source.achievement.get_rewards(sd, ad);
+ retVal___ = HPMHooks.source.achievement.get_rewards(sd, ad);
}
if (HPMHooks.count.HP_achievement_get_rewards_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, const struct achievement_data *ad);
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, const struct achievement_data *ad);
for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_achievement_get_rewards_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, ad);
+ }
+ }
+ return retVal___;
+}
+void HP_achievement_get_rewards_buffs(struct map_session_data *sd, const struct achievement_data *ad) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_achievement_get_rewards_buffs_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_buffs_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_achievement_get_rewards_buffs_pre[hIndex].func;
+ preHookFunc(&sd, &ad);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.achievement.get_rewards_buffs(sd, ad);
+ }
+ if (HPMHooks.count.HP_achievement_get_rewards_buffs_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, const struct achievement_data *ad);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_buffs_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_achievement_get_rewards_buffs_post[hIndex].func;
+ postHookFunc(sd, ad);
+ }
+ }
+ return;
+}
+void HP_achievement_get_rewards_items(struct map_session_data *sd, const struct achievement_data *ad) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_achievement_get_rewards_items_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, const struct achievement_data **ad);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_achievement_get_rewards_items_pre[hIndex].func;
+ preHookFunc(&sd, &ad);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.achievement.get_rewards_items(sd, ad);
+ }
+ if (HPMHooks.count.HP_achievement_get_rewards_items_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, const struct achievement_data *ad);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_achievement_get_rewards_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_achievement_get_rewards_items_post[hIndex].func;
postHookFunc(sd, ad);
}
}
@@ -2806,6 +2859,32 @@ void HP_battle_reflect_damage(struct block_list *target, struct block_list *src,
}
return;
}
+void HP_battle_reflect_trap(struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_battle_reflect_trap_pre > 0) {
+ void (*preHookFunc) (struct block_list **target, struct block_list **src, struct Damage **md, uint16 *skill_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_battle_reflect_trap_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_battle_reflect_trap_pre[hIndex].func;
+ preHookFunc(&target, &src, &md, &skill_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.battle.reflect_trap(target, src, md, skill_id);
+ }
+ if (HPMHooks.count.HP_battle_reflect_trap_post > 0) {
+ void (*postHookFunc) (struct block_list *target, struct block_list *src, struct Damage *md, uint16 skill_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_battle_reflect_trap_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_battle_reflect_trap_post[hIndex].func;
+ postHookFunc(target, src, md, skill_id);
+ }
+ }
+ return;
+}
int HP_battle_attr_ratio(int atk_elem, int def_type, int def_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -9707,10 +9786,10 @@ void HP_clif_item_drop_announce(struct map_session_data *sd, int nameid, char *m
}
return;
}
-void HP_clif_clearunit_single(int id, clr_type type, int fd) {
+void HP_clif_clearunit_single(int id, enum clr_type type, int fd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearunit_single_pre > 0) {
- void (*preHookFunc) (int *id, clr_type *type, int *fd);
+ void (*preHookFunc) (int *id, enum clr_type *type, int *fd);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_single_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_clearunit_single_pre[hIndex].func;
@@ -9725,7 +9804,7 @@ void HP_clif_clearunit_single(int id, clr_type type, int fd) {
HPMHooks.source.clif.clearunit_single(id, type, fd);
}
if (HPMHooks.count.HP_clif_clearunit_single_post > 0) {
- void (*postHookFunc) (int id, clr_type type, int fd);
+ void (*postHookFunc) (int id, enum clr_type type, int fd);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_single_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_clearunit_single_post[hIndex].func;
postHookFunc(id, type, fd);
@@ -9733,10 +9812,10 @@ void HP_clif_clearunit_single(int id, clr_type type, int fd) {
}
return;
}
-void HP_clif_clearunit_area(struct block_list *bl, clr_type type) {
+void HP_clif_clearunit_area(struct block_list *bl, enum clr_type type) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearunit_area_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, clr_type *type);
+ void (*preHookFunc) (struct block_list **bl, enum clr_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_area_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_clearunit_area_pre[hIndex].func;
@@ -9751,7 +9830,7 @@ void HP_clif_clearunit_area(struct block_list *bl, clr_type type) {
HPMHooks.source.clif.clearunit_area(bl, type);
}
if (HPMHooks.count.HP_clif_clearunit_area_post > 0) {
- void (*postHookFunc) (struct block_list *bl, clr_type type);
+ void (*postHookFunc) (struct block_list *bl, enum clr_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_area_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_clearunit_area_post[hIndex].func;
postHookFunc(bl, type);
@@ -9759,10 +9838,10 @@ void HP_clif_clearunit_area(struct block_list *bl, clr_type type) {
}
return;
}
-void HP_clif_clearunit_delayed(struct block_list *bl, clr_type type, int64 tick) {
+void HP_clif_clearunit_delayed(struct block_list *bl, enum clr_type type, int64 tick) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_clearunit_delayed_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, clr_type *type, int64 *tick);
+ void (*preHookFunc) (struct block_list **bl, enum clr_type *type, int64 *tick);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_delayed_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_clearunit_delayed_pre[hIndex].func;
@@ -9777,7 +9856,7 @@ void HP_clif_clearunit_delayed(struct block_list *bl, clr_type type, int64 tick)
HPMHooks.source.clif.clearunit_delayed(bl, type, tick);
}
if (HPMHooks.count.HP_clif_clearunit_delayed_post > 0) {
- void (*postHookFunc) (struct block_list *bl, clr_type type, int64 tick);
+ void (*postHookFunc) (struct block_list *bl, enum clr_type type, int64 tick);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_clearunit_delayed_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_clearunit_delayed_post[hIndex].func;
postHookFunc(bl, type, tick);
@@ -11199,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;
@@ -11218,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);
@@ -11460,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) {
@@ -11512,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;
@@ -11527,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);
}
}
@@ -11838,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;
@@ -11853,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;
@@ -12046,6 +12229,162 @@ void HP_clif_cartItems(struct map_session_data *sd, enum inventory_type type) {
}
return;
}
+void HP_clif_inventoryExpansionInfo(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryExpansionInfo_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpansionInfo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryExpansionInfo_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryExpansionInfo(sd);
+ }
+ if (HPMHooks.count.HP_clif_inventoryExpansionInfo_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpansionInfo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryExpansionInfo_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryExpandAck(struct map_session_data *sd, enum expand_inventory result, int itemId) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryExpandAck_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum expand_inventory *result, int *itemId);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryExpandAck_pre[hIndex].func;
+ preHookFunc(&sd, &result, &itemId);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryExpandAck(sd, result, itemId);
+ }
+ if (HPMHooks.count.HP_clif_inventoryExpandAck_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum expand_inventory result, int itemId);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryExpandAck_post[hIndex].func;
+ postHookFunc(sd, result, itemId);
+ }
+ }
+ return;
+}
+void HP_clif_inventoryExpandResult(struct map_session_data *sd, enum expand_inventory_result result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_inventoryExpandResult_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum expand_inventory_result *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandResult_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_inventoryExpandResult_pre[hIndex].func;
+ preHookFunc(&sd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.inventoryExpandResult(sd, result);
+ }
+ if (HPMHooks.count.HP_clif_inventoryExpandResult_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum expand_inventory_result result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_inventoryExpandResult_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_inventoryExpandResult_post[hIndex].func;
+ postHookFunc(sd, result);
+ }
+ }
+ return;
+}
+void HP_clif_pInventoryExpansion(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pInventoryExpansion_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansion_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pInventoryExpansion_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pInventoryExpansion(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pInventoryExpansion_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansion_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pInventoryExpansion_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pInventoryExpansionConfirmed(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionConfirmed_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pInventoryExpansionConfirmed(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionConfirmed_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionConfirmed_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pInventoryExpansionRejected(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pInventoryExpansionRejected_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionRejected_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionRejected_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pInventoryExpansionRejected(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pInventoryExpansionRejected_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pInventoryExpansionRejected_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pInventoryExpansionRejected_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
void HP_clif_favorite_item(struct map_session_data *sd, unsigned short index) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_favorite_item_pre > 0) {
@@ -12384,13 +12723,325 @@ void HP_clif_changed_dir(struct block_list *bl, enum send_target target) {
}
return;
}
-void HP_clif_charnameack(int fd, struct block_list *bl) {
+void HP_clif_blname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_blname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_blname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_blname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.blname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_blname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_blname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_blname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_pcname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pcname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pcname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pcname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pcname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_pcname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pcname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pcname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_homname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_homname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_homname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_homname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.homname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_homname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_homname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_homname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mername_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mername_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mername_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mername_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mername_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mername_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mername_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mername_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_petname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_petname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_petname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.petname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_petname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_petname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_npcname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_npcname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npcname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_npcname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.npcname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_npcname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npcname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_npcname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_guardian_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_guardian_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_guardian_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_guardian_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_guardian_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_guardian_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_guardian_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_guardian_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_additional_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_additional_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_additional_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_additional_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_additional_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_additional_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_additional_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_additional_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_mobname_normal_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_mobname_normal_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_normal_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_mobname_normal_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.mobname_normal_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_mobname_normal_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_mobname_normal_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_mobname_normal_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_chatname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_chatname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_chatname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_chatname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.chatname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_chatname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_chatname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_chatname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_elemname_ack(int fd, struct block_list *bl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_elemname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_elemname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_elemname_ack_pre[hIndex].func;
+ preHookFunc(&fd, &bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.elemname_ack(fd, bl);
+ }
+ if (HPMHooks.count.HP_clif_elemname_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_elemname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_elemname_ack_post[hIndex].func;
+ postHookFunc(fd, bl);
+ }
+ }
+ return;
+}
+void HP_clif_unknownname_ack(int fd, struct block_list *bl) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_charnameack_pre > 0) {
+ if (HPMHooks.count.HP_clif_unknownname_ack_pre > 0) {
void (*preHookFunc) (int *fd, struct block_list **bl);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_charnameack_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_charnameack_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_unknownname_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_unknownname_ack_pre[hIndex].func;
preHookFunc(&fd, &bl);
}
if (*HPMforce_return) {
@@ -12399,12 +13050,12 @@ void HP_clif_charnameack(int fd, struct block_list *bl) {
}
}
{
- HPMHooks.source.clif.charnameack(fd, bl);
+ HPMHooks.source.clif.unknownname_ack(fd, bl);
}
- if (HPMHooks.count.HP_clif_charnameack_post > 0) {
+ if (HPMHooks.count.HP_clif_unknownname_ack_post > 0) {
void (*postHookFunc) (int fd, struct block_list *bl);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_charnameack_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_charnameack_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_unknownname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_unknownname_ack_post[hIndex].func;
postHookFunc(fd, bl);
}
}
@@ -13907,11 +14558,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;
@@ -13926,7 +14577,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);
@@ -14377,10 +15028,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;
@@ -14395,7 +15046,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);
@@ -14403,6 +15054,84 @@ 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) {
+ void (*preHookFunc) (struct block_list **bl, int *effectId, enum send_target *target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_pre[hIndex].func;
+ preHookFunc(&bl, &effectId, &target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.removeSpecialEffect(bl, effectId, target);
+ }
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, int effectId, enum send_target target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_post[hIndex].func;
+ postHookFunc(bl, effectId, target);
+ }
+ }
+ return;
+}
+void HP_clif_removeSpecialEffect_single(struct block_list *bl, int effectId, struct block_list *targetBl) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_single_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, int *effectId, struct block_list **targetBl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_single_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_single_pre[hIndex].func;
+ preHookFunc(&bl, &effectId, &targetBl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.removeSpecialEffect_single(bl, effectId, targetBl);
+ }
+ if (HPMHooks.count.HP_clif_removeSpecialEffect_single_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, int effectId, struct block_list *targetBl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_removeSpecialEffect_single_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_removeSpecialEffect_single_post[hIndex].func;
+ postHookFunc(bl, effectId, targetBl);
+ }
+ }
+ return;
+}
void HP_clif_millenniumshield(struct block_list *bl, short shields) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_millenniumshield_pre > 0) {
@@ -14793,6 +15522,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) {
@@ -15053,6 +15808,32 @@ void HP_clif_messagecolor(struct block_list *bl, uint32 color, const char *msg)
}
return;
}
+void HP_clif_serviceMessageColor(struct map_session_data *sd, uint32 color, const char *msg) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_serviceMessageColor_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, uint32 *color, const char **msg);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_serviceMessageColor_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_serviceMessageColor_pre[hIndex].func;
+ preHookFunc(&sd, &color, &msg);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.serviceMessageColor(sd, color, msg);
+ }
+ if (HPMHooks.count.HP_clif_serviceMessageColor_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, uint32 color, const char *msg);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_serviceMessageColor_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_serviceMessageColor_post[hIndex].func;
+ postHookFunc(sd, color, msg);
+ }
+ }
+ return;
+}
void HP_clif_disp_overhead(struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_disp_overhead_pre > 0) {
@@ -15445,14 +16226,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;
@@ -15460,13 +16241,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;
@@ -16251,6 +17032,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) {
@@ -16797,6 +17604,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) {
@@ -20577,11 +21436,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;
@@ -20596,7 +21455,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);
@@ -20657,10 +21516,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;
@@ -20675,7 +21534,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);
@@ -20710,10 +21569,10 @@ bool HP_clif_parse_roulette_db(void) {
}
return retVal___;
}
-void HP_clif_roulette_generate_ack(struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID) {
+void HP_clif_roulette_generate_ack(struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_roulette_generate_ack_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, unsigned char *result, short *stage, short *prizeIdx, int *bonusItemID);
+ void (*preHookFunc) (struct map_session_data **sd, enum GENERATE_ROULETTE_ACK *result, short *stage, short *prizeIdx, int *bonusItemID);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_generate_ack_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_roulette_generate_ack_pre[hIndex].func;
@@ -20728,7 +21587,7 @@ void HP_clif_roulette_generate_ack(struct map_session_data *sd, unsigned char re
HPMHooks.source.clif.roulette_generate_ack(sd, result, stage, prizeIdx, bonusItemID);
}
if (HPMHooks.count.HP_clif_roulette_generate_ack_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, unsigned char result, short stage, short prizeIdx, int bonusItemID);
+ void (*postHookFunc) (struct map_session_data *sd, enum GENERATE_ROULETTE_ACK result, short stage, short prizeIdx, int bonusItemID);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_generate_ack_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_roulette_generate_ack_post[hIndex].func;
postHookFunc(sd, result, stage, prizeIdx, bonusItemID);
@@ -20736,6 +21595,32 @@ void HP_clif_roulette_generate_ack(struct map_session_data *sd, unsigned char re
}
return;
}
+void HP_clif_roulette_close(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_roulette_close_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_close_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_roulette_close_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.roulette_close(sd);
+ }
+ if (HPMHooks.count.HP_clif_roulette_close_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_roulette_close_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_roulette_close_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
void HP_clif_openmergeitem(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_openmergeitem_pre > 0) {
@@ -20841,6 +21726,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;
@@ -21155,13 +22066,39 @@ 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_pHotkey1_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ 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) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pHotkey1(fd, sd);
+ }
+ 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_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_pHotkey_pre > 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_pHotkey_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pHotkey_pre[hIndex].func;
+ 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) {
@@ -21170,12 +22107,12 @@ void HP_clif_pHotkey(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pHotkey(fd, sd);
+ HPMHooks.source.clif.pHotkey2(fd, sd);
}
- if (HPMHooks.count.HP_clif_pHotkey_post > 0) {
+ 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_pHotkey_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pHotkey_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pHotkey2_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -22273,6 +23210,32 @@ void HP_clif_pSkillUp(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_useSkillToIdReal_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int *skill_id, int *skill_lv, int *target_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_useSkillToIdReal_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_useSkillToIdReal_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &skill_id, &skill_lv, &target_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.useSkillToIdReal(fd, sd, skill_id, skill_lv, target_id);
+ }
+ if (HPMHooks.count.HP_clif_useSkillToIdReal_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int skill_id, int skill_lv, int target_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_useSkillToIdReal_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_useSkillToIdReal_post[hIndex].func;
+ postHookFunc(fd, sd, skill_id, skill_lv, target_id);
+ }
+ }
+ return;
+}
void HP_clif_pUseSkillToId(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pUseSkillToId_pre > 0) {
@@ -22299,6 +23262,58 @@ void HP_clif_pUseSkillToId(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_pStartUseSkillToId(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pStartUseSkillToId_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStartUseSkillToId_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStartUseSkillToId_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pStartUseSkillToId(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pStartUseSkillToId_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStartUseSkillToId_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pStartUseSkillToId_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pStopUseSkillToId(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pStopUseSkillToId_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStopUseSkillToId_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStopUseSkillToId_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pStopUseSkillToId(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pStopUseSkillToId_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStopUseSkillToId_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pStopUseSkillToId_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
void HP_clif_pUseSkillToId_homun(struct homun_data *hd, struct map_session_data *sd, int64 tick, uint16 skill_id, uint16 skill_lv, int target_id) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pUseSkillToId_homun_pre > 0) {
@@ -26355,13 +27370,65 @@ 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_pCashShopOpen1_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ 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) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pCashShopOpen1(fd, sd);
+ }
+ 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_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_pCashShopOpen_pre > 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_pCashShopOpen_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pCashShopOpen_pre[hIndex].func;
+ 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) {
@@ -26370,12 +27437,12 @@ void HP_clif_pCashShopOpen(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pCashShopOpen(fd, sd);
+ HPMHooks.source.clif.pCashShopLimitedReq(fd, sd);
}
- if (HPMHooks.count.HP_clif_pCashShopOpen_post > 0) {
+ 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_pCashShopOpen_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pCashShopOpen_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopLimitedReq_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pCashShopLimitedReq_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -26537,6 +27604,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) {
@@ -27032,13 +28151,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) {
@@ -27047,12 +28192,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);
}
}
@@ -27657,10 +28802,10 @@ void HP_clif_pRodexCheckName(int fd, struct map_session_data *sd) {
}
return;
}
-void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, short class_, int base_level, const char *name) {
+void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, int class_, int base_level, const char *name) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_rodex_checkname_result_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *char_id, short *class_, int *base_level, const char **name);
+ void (*preHookFunc) (struct map_session_data **sd, int *char_id, int *class_, int *base_level, const char **name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_checkname_result_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_rodex_checkname_result_pre[hIndex].func;
@@ -27675,7 +28820,7 @@ void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, sh
HPMHooks.source.clif.rodex_checkname_result(sd, char_id, class_, base_level, name);
}
if (HPMHooks.count.HP_clif_rodex_checkname_result_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+ void (*postHookFunc) (struct map_session_data *sd, int char_id, int class_, int base_level, const char *name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_checkname_result_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_rodex_checkname_result_post[hIndex].func;
postHookFunc(sd, char_id, class_, base_level, name);
@@ -28415,14 +29560,14 @@ void HP_clif_PrivateAirshipResponse(struct map_session_data *sd, uint32 flag) {
}
return;
}
-void HP_clif_stylist_vector_init(void) {
+void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_vector_init_pre > 0) {
- void (*preHookFunc) (void);
+ if (HPMHooks.count.HP_clif_pReqStyleChange_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_init_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_vector_init_pre[hIndex].func;
- preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28430,25 +29575,25 @@ void HP_clif_stylist_vector_init(void) {
}
}
{
- HPMHooks.source.clif.stylist_vector_init();
+ HPMHooks.source.clif.pReqStyleChange(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_vector_init_post > 0) {
- void (*postHookFunc) (void);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_init_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_vector_init_post[hIndex].func;
- postHookFunc();
+ if (HPMHooks.count.HP_clif_pReqStyleChange_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_stylist_vector_clear(void) {
+void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_vector_clear_pre > 0) {
- void (*preHookFunc) (void);
+ if (HPMHooks.count.HP_clif_pReqStyleChange2_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_clear_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_vector_clear_pre[hIndex].func;
- preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28456,80 +29601,286 @@ void HP_clif_stylist_vector_clear(void) {
}
}
{
- HPMHooks.source.clif.stylist_vector_clear();
+ HPMHooks.source.clif.pReqStyleChange2(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_vector_clear_post > 0) {
- void (*postHookFunc) (void);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_vector_clear_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_vector_clear_post[hIndex].func;
- postHookFunc();
+ if (HPMHooks.count.HP_clif_pReqStyleChange2_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-bool HP_clif_stylist_read_db_libconfig(void) {
+void HP_clif_pStyleClose(int fd, struct map_session_data *sd) {
int hIndex = 0;
- bool retVal___ = false;
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_pre > 0) {
- bool (*preHookFunc) (void);
+ if (HPMHooks.count.HP_clif_pStyleClose_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_pre[hIndex].func;
- retVal___ = preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStyleClose_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStyleClose_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return retVal___;
+ return;
}
}
{
- retVal___ = HPMHooks.source.clif.stylist_read_db_libconfig();
+ HPMHooks.source.clif.pStyleClose(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_post > 0) {
- bool (*postHookFunc) (bool retVal___);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_post[hIndex].func;
- retVal___ = postHookFunc(retVal___);
+ if (HPMHooks.count.HP_clif_pStyleClose_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pStyleClose_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pStyleClose_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
- return retVal___;
+ return;
}
-bool HP_clif_stylist_read_db_libconfig_sub(struct config_setting_t *it, int idx, const char *source) {
+void HP_clif_style_change_response(struct map_session_data *sd, enum stylist_shop flag) {
int hIndex = 0;
- bool retVal___ = false;
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_pre > 0) {
- bool (*preHookFunc) (struct config_setting_t **it, int *idx, const char **source);
+ if (HPMHooks.count.HP_clif_style_change_response_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum stylist_shop *flag);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&it, &idx, &source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_style_change_response_pre[hIndex].func;
+ preHookFunc(&sd, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return retVal___;
+ return;
}
}
{
- retVal___ = HPMHooks.source.clif.stylist_read_db_libconfig_sub(it, idx, source);
+ HPMHooks.source.clif.style_change_response(sd, flag);
}
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_read_db_libconfig_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_read_db_libconfig_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, it, idx, source);
+ if (HPMHooks.count.HP_clif_style_change_response_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum stylist_shop flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_style_change_response_post[hIndex].func;
+ postHookFunc(sd, flag);
}
}
- return retVal___;
+ return;
+}
+void HP_clif_pPetEvolution(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pPetEvolution_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pPetEvolution_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pPetEvolution(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pPetEvolution_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pPetEvolution_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_petEvolutionResult(int fd, enum pet_evolution_result result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_petEvolutionResult_pre > 0) {
+ void (*preHookFunc) (int *fd, enum pet_evolution_result *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_pre[hIndex].func;
+ preHookFunc(&fd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.petEvolutionResult(fd, result);
+ }
+ if (HPMHooks.count.HP_clif_petEvolutionResult_post > 0) {
+ void (*postHookFunc) (int fd, enum pet_evolution_result result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_post[hIndex].func;
+ postHookFunc(fd, result);
+ }
+ }
+ return;
+}
+void HP_clif_party_dead_notification(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_party_dead_notification_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_party_dead_notification_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.party_dead_notification(sd);
+ }
+ if (HPMHooks.count.HP_clif_party_dead_notification_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_party_dead_notification_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_pMemorialDungeonCommand(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pMemorialDungeonCommand_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pMemorialDungeonCommand_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pMemorialDungeonCommand_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pMemorialDungeonCommand(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pMemorialDungeonCommand_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pMemorialDungeonCommand_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pMemorialDungeonCommand_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_camera_showWindow(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_camera_showWindow_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_showWindow_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_camera_showWindow_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.camera_showWindow(sd);
+ }
+ if (HPMHooks.count.HP_clif_camera_showWindow_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_showWindow_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_camera_showWindow_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_camera_change(struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_camera_change_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, float *range, float *rotation, float *latitude, enum send_target *target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_change_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_camera_change_pre[hIndex].func;
+ preHookFunc(&sd, &range, &rotation, &latitude, &target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.camera_change(sd, range, rotation, latitude, target);
+ }
+ if (HPMHooks.count.HP_clif_camera_change_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, float range, float rotation, float latitude, enum send_target target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_camera_change_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_camera_change_post[hIndex].func;
+ postHookFunc(sd, range, rotation, latitude, target);
+ }
+ }
+ return;
+}
+void HP_clif_pCameraInfo(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pCameraInfo_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCameraInfo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pCameraInfo_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pCameraInfo(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pCameraInfo_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCameraInfo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pCameraInfo_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_item_preview(struct map_session_data *sd, int n) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_item_preview_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *n);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_item_preview_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_item_preview_pre[hIndex].func;
+ preHookFunc(&sd, &n);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.item_preview(sd, n);
+ }
+ if (HPMHooks.count.HP_clif_item_preview_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int n);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_item_preview_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_item_preview_post[hIndex].func;
+ postHookFunc(sd, n);
+ }
+ }
+ return;
}
-bool HP_clif_style_change_validate_requirements(struct map_session_data *sd, int type, int16 idx) {
+bool HP_clif_enchant_equipment(struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId) {
int hIndex = 0;
bool retVal___ = false;
- if (HPMHooks.count.HP_clif_style_change_validate_requirements_pre > 0) {
- bool (*preHookFunc) (struct map_session_data **sd, int *type, int16 *idx);
+ if (HPMHooks.count.HP_clif_enchant_equipment_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, enum equip_pos *pos, int *cardSlot, int *cardId);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_validate_requirements_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_style_change_validate_requirements_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &type, &idx);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_enchant_equipment_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_enchant_equipment_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &pos, &cardSlot, &cardId);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28537,25 +29888,25 @@ bool HP_clif_style_change_validate_requirements(struct map_session_data *sd, int
}
}
{
- retVal___ = HPMHooks.source.clif.style_change_validate_requirements(sd, type, idx);
+ retVal___ = HPMHooks.source.clif.enchant_equipment(sd, pos, cardSlot, cardId);
}
- if (HPMHooks.count.HP_clif_style_change_validate_requirements_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int type, int16 idx);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_validate_requirements_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_style_change_validate_requirements_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, type, idx);
+ if (HPMHooks.count.HP_clif_enchant_equipment_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, enum equip_pos pos, int cardSlot, int cardId);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_enchant_equipment_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_enchant_equipment_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, pos, cardSlot, cardId);
}
}
return retVal___;
}
-void HP_clif_stylist_send_rodexitem(struct map_session_data *sd, int itemid) {
+void HP_clif_pReqRemainTime(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_send_rodexitem_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *itemid);
+ if (HPMHooks.count.HP_clif_pReqRemainTime_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_send_rodexitem_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_stylist_send_rodexitem_pre[hIndex].func;
- preHookFunc(&sd, &itemid);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqRemainTime_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqRemainTime_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28563,24 +29914,50 @@ void HP_clif_stylist_send_rodexitem(struct map_session_data *sd, int itemid) {
}
}
{
- HPMHooks.source.clif.stylist_send_rodexitem(sd, itemid);
+ HPMHooks.source.clif.pReqRemainTime(fd, sd);
}
- if (HPMHooks.count.HP_clif_stylist_send_rodexitem_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, int itemid);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_stylist_send_rodexitem_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_stylist_send_rodexitem_post[hIndex].func;
- postHookFunc(sd, itemid);
+ if (HPMHooks.count.HP_clif_pReqRemainTime_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqRemainTime_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqRemainTime_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
+void HP_clif_npc_barter_open(struct map_session_data *sd, struct npc_data *nd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pReqStyleChange_pre > 0) {
+ if (HPMHooks.count.HP_clif_npc_barter_open_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct npc_data **nd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_barter_open_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_npc_barter_open_pre[hIndex].func;
+ preHookFunc(&sd, &nd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.npc_barter_open(sd, nd);
+ }
+ if (HPMHooks.count.HP_clif_npc_barter_open_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct npc_data *nd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_barter_open_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_npc_barter_open_post[hIndex].func;
+ postHookFunc(sd, nd);
+ }
+ }
+ return;
+}
+void HP_clif_pNPCBarterClosed(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pNPCBarterClosed_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterClosed_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pNPCBarterClosed_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -28589,24 +29966,24 @@ void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pReqStyleChange(fd, sd);
+ HPMHooks.source.clif.pNPCBarterClosed(fd, sd);
}
- if (HPMHooks.count.HP_clif_pReqStyleChange_post > 0) {
+ if (HPMHooks.count.HP_clif_pNPCBarterClosed_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterClosed_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pNPCBarterClosed_post[hIndex].func;
postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
+void HP_clif_pNPCBarterPurchase(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pReqStyleChange2_pre > 0) {
+ if (HPMHooks.count.HP_clif_pNPCBarterPurchase_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterPurchase_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pNPCBarterPurchase_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -28615,25 +29992,25 @@ void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pReqStyleChange2(fd, sd);
+ HPMHooks.source.clif.pNPCBarterPurchase(fd, sd);
}
- if (HPMHooks.count.HP_clif_pReqStyleChange2_post > 0) {
+ if (HPMHooks.count.HP_clif_pNPCBarterPurchase_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqStyleChange2_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pReqStyleChange2_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCBarterPurchase_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pNPCBarterPurchase_post[hIndex].func;
postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_cz_req_style_change_sub(struct map_session_data *sd, int type, int16 idx, bool isitem) {
+void HP_clif_pClientVersion(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_cz_req_style_change_sub_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *type, int16 *idx, bool *isitem);
+ if (HPMHooks.count.HP_clif_pClientVersion_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cz_req_style_change_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_cz_req_style_change_sub_pre[hIndex].func;
- preHookFunc(&sd, &type, &idx, &isitem);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pClientVersion_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pClientVersion_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28641,25 +30018,25 @@ void HP_clif_cz_req_style_change_sub(struct map_session_data *sd, int type, int1
}
}
{
- HPMHooks.source.clif.cz_req_style_change_sub(sd, type, idx, isitem);
+ HPMHooks.source.clif.pClientVersion(fd, sd);
}
- if (HPMHooks.count.HP_clif_cz_req_style_change_sub_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, int type, int16 idx, bool isitem);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cz_req_style_change_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_cz_req_style_change_sub_post[hIndex].func;
- postHookFunc(sd, type, idx, isitem);
+ if (HPMHooks.count.HP_clif_pClientVersion_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pClientVersion_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pClientVersion_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_style_change_response(struct map_session_data *sd, enum stylist_shop flag) {
+void HP_clif_pPing(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_style_change_response_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, enum stylist_shop *flag);
+ if (HPMHooks.count.HP_clif_pPing_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_style_change_response_pre[hIndex].func;
- preHookFunc(&sd, &flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPing_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pPing_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28667,24 +30044,110 @@ void HP_clif_style_change_response(struct map_session_data *sd, enum stylist_sho
}
}
{
- HPMHooks.source.clif.style_change_response(sd, flag);
+ HPMHooks.source.clif.pPing(fd, sd);
}
- if (HPMHooks.count.HP_clif_style_change_response_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, enum stylist_shop flag);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_style_change_response_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_style_change_response_post[hIndex].func;
- postHookFunc(sd, flag);
+ if (HPMHooks.count.HP_clif_pPing_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPing_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pPing_post[hIndex].func;
+ postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_pPetEvolution(int fd, struct map_session_data *sd) {
+void HP_clif_ping(struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pPetEvolution_pre > 0) {
+ if (HPMHooks.count.HP_clif_ping_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ping_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_ping_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.ping(sd);
+ }
+ if (HPMHooks.count.HP_clif_ping_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ping_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_ping_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+int HP_clif_pingTimer(int tid, int64 tick, int id, intptr_t data) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_clif_pingTimer_pre > 0) {
+ int (*preHookFunc) (int *tid, int64 *tick, int *id, intptr_t *data);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimer_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pingTimer_pre[hIndex].func;
+ retVal___ = preHookFunc(&tid, &tick, &id, &data);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.clif.pingTimer(tid, tick, id, data);
+ }
+ if (HPMHooks.count.HP_clif_pingTimer_post > 0) {
+ int (*postHookFunc) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimer_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pingTimer_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, tid, tick, id, data);
+ }
+ }
+ return retVal___;
+}
+int HP_clif_pingTimerSub(struct map_session_data *sd, va_list ap) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_clif_pingTimerSub_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, va_list ap);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimerSub_pre; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ preHookFunc = HPMHooks.list.HP_clif_pingTimerSub_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, ap___copy);
+ va_end(ap___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ retVal___ = HPMHooks.source.clif.pingTimerSub(sd, ap___copy);
+ va_end(ap___copy);
+ }
+ if (HPMHooks.count.HP_clif_pingTimerSub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, va_list ap);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pingTimerSub_post; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ postHookFunc = HPMHooks.list.HP_clif_pingTimerSub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, ap___copy);
+ va_end(ap___copy);
+ }
+ }
+ return retVal___;
+}
+void HP_clif_pResetCooldown(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pResetCooldown_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pPetEvolution_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pResetCooldown_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pResetCooldown_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -28693,25 +30156,25 @@ void HP_clif_pPetEvolution(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pPetEvolution(fd, sd);
+ HPMHooks.source.clif.pResetCooldown(fd, sd);
}
- if (HPMHooks.count.HP_clif_pPetEvolution_post > 0) {
+ if (HPMHooks.count.HP_clif_pResetCooldown_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPetEvolution_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pPetEvolution_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pResetCooldown_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pResetCooldown_post[hIndex].func;
postHookFunc(fd, sd);
}
}
return;
}
-void HP_clif_petEvolutionResult(int fd, enum pet_evolution_result result) {
+void HP_clif_loadConfirm(struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_petEvolutionResult_pre > 0) {
- void (*preHookFunc) (int *fd, enum pet_evolution_result *result);
+ if (HPMHooks.count.HP_clif_loadConfirm_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_pre[hIndex].func;
- preHookFunc(&fd, &result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_loadConfirm_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_loadConfirm_pre[hIndex].func;
+ preHookFunc(&sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -28719,24 +30182,50 @@ void HP_clif_petEvolutionResult(int fd, enum pet_evolution_result result) {
}
}
{
- HPMHooks.source.clif.petEvolutionResult(fd, result);
+ HPMHooks.source.clif.loadConfirm(sd);
}
- if (HPMHooks.count.HP_clif_petEvolutionResult_post > 0) {
- void (*postHookFunc) (int fd, enum pet_evolution_result result);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_petEvolutionResult_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_petEvolutionResult_post[hIndex].func;
- postHookFunc(fd, result);
+ if (HPMHooks.count.HP_clif_loadConfirm_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_loadConfirm_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_loadConfirm_post[hIndex].func;
+ postHookFunc(sd);
}
}
return;
}
-void HP_clif_party_dead_notification(struct map_session_data *sd) {
+void HP_clif_send_selforarea(int fd, struct block_list *bl, const void *buf, int len) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_party_dead_notification_pre > 0) {
+ if (HPMHooks.count.HP_clif_send_selforarea_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl, const void **buf, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_send_selforarea_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_send_selforarea_pre[hIndex].func;
+ preHookFunc(&fd, &bl, &buf, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.send_selforarea(fd, bl, buf, len);
+ }
+ if (HPMHooks.count.HP_clif_send_selforarea_post > 0) {
+ void (*postHookFunc) (int fd, struct block_list *bl, const void *buf, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_send_selforarea_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_send_selforarea_post[hIndex].func;
+ postHookFunc(fd, bl, buf, len);
+ }
+ }
+ return;
+}
+void HP_clif_OpenRefineryUI(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_OpenRefineryUI_pre > 0) {
void (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_party_dead_notification_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_OpenRefineryUI_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_OpenRefineryUI_pre[hIndex].func;
preHookFunc(&sd);
}
if (*HPMforce_return) {
@@ -28745,24 +30234,24 @@ void HP_clif_party_dead_notification(struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.party_dead_notification(sd);
+ HPMHooks.source.clif.OpenRefineryUI(sd);
}
- if (HPMHooks.count.HP_clif_party_dead_notification_post > 0) {
+ if (HPMHooks.count.HP_clif_OpenRefineryUI_post > 0) {
void (*postHookFunc) (struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_party_dead_notification_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_party_dead_notification_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_OpenRefineryUI_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_OpenRefineryUI_post[hIndex].func;
postHookFunc(sd);
}
}
return;
}
-void HP_clif_pMemorialDungeonCommand(int fd, struct map_session_data *sd) {
+void HP_clif_pAddItemRefineryUI(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pMemorialDungeonCommand_pre > 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_pMemorialDungeonCommand_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pMemorialDungeonCommand_pre[hIndex].func;
+ 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) {
@@ -28771,12 +30260,326 @@ void HP_clif_pMemorialDungeonCommand(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pMemorialDungeonCommand(fd, sd);
+ HPMHooks.source.clif.pAddItemRefineryUI(fd, sd);
}
- if (HPMHooks.count.HP_clif_pMemorialDungeonCommand_post > 0) {
+ 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_pMemorialDungeonCommand_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pMemorialDungeonCommand_post[hIndex].func;
+ 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);
}
}
@@ -31151,11 +32954,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;
@@ -31170,7 +32973,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);
@@ -31986,11 +33789,11 @@ int HP_guild_send_memberinfoshort(struct map_session_data *sd, int online) {
}
return retVal___;
}
-int HP_guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login) {
+int HP_guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_guild_recv_memberinfoshort_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class, uint32 *last_login);
+ int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class, uint32 *last_login);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_recv_memberinfoshort_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_guild_recv_memberinfoshort_pre[hIndex].func;
@@ -32005,7 +33808,7 @@ int HP_guild_recv_memberinfoshort(int guild_id, int account_id, int char_id, int
retVal___ = HPMHooks.source.guild.recv_memberinfoshort(guild_id, account_id, char_id, online, lv, class, last_login);
}
if (HPMHooks.count.HP_guild_recv_memberinfoshort_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class, uint32 last_login);
+ int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class, uint32 last_login);
for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_recv_memberinfoshort_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_guild_recv_memberinfoshort_post[hIndex].func;
retVal___ = postHookFunc(retVal___, guild_id, account_id, char_id, online, lv, class, last_login);
@@ -32256,33 +34059,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;
@@ -32866,15 +34642,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;
@@ -32882,13 +34658,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___;
@@ -33945,15 +35775,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;
@@ -33961,13 +35791,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___;
@@ -34133,11 +35963,11 @@ bool HP_homun_levelup(struct homun_data *hd) {
}
return retVal___;
}
-int HP_homun_change_class(struct homun_data *hd, short class_) {
+int HP_homun_change_class(struct homun_data *hd, int class_) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_homun_change_class_pre > 0) {
- int (*preHookFunc) (struct homun_data **hd, short *class_);
+ int (*preHookFunc) (struct homun_data **hd, int *class_);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_change_class_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_homun_change_class_pre[hIndex].func;
@@ -34152,7 +35982,7 @@ int HP_homun_change_class(struct homun_data *hd, short class_) {
retVal___ = HPMHooks.source.homun.change_class(hd, class_);
}
if (HPMHooks.count.HP_homun_change_class_post > 0) {
- int (*postHookFunc) (int retVal___, struct homun_data *hd, short class_);
+ int (*postHookFunc) (int retVal___, struct homun_data *hd, int class_);
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_change_class_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_homun_change_class_post[hIndex].func;
retVal___ = postHookFunc(retVal___, hd, class_);
@@ -34241,6 +36071,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;
@@ -34535,15 +36392,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;
@@ -34551,13 +36408,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___;
@@ -35530,11 +37387,11 @@ int HP_intif_parse(int fd) {
}
return retVal___;
}
-int HP_intif_create_pet(int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name) {
+int HP_intif_create_pet(int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_intif_create_pet_pre > 0) {
- int (*preHookFunc) (int *account_id, int *char_id, short *pet_type, short *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
+ int (*preHookFunc) (int *account_id, int *char_id, int *pet_type, int *pet_lv, int *pet_egg_id, int *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char **pet_name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_create_pet_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_intif_create_pet_pre[hIndex].func;
@@ -35549,7 +37406,7 @@ int HP_intif_create_pet(int account_id, int char_id, short pet_type, short pet_l
retVal___ = HPMHooks.source.intif.create_pet(account_id, char_id, pet_type, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
}
if (HPMHooks.count.HP_intif_create_pet_post > 0) {
- int (*postHookFunc) (int retVal___, int account_id, int char_id, short pet_type, short pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
+ int (*postHookFunc) (int retVal___, int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_create_pet_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_intif_create_pet_post[hIndex].func;
retVal___ = postHookFunc(retVal___, account_id, char_id, pet_type, pet_lv, pet_egg_id, pet_equip, intimate, hungry, rename_flag, incubate, pet_name);
@@ -35557,141 +37414,6 @@ int HP_intif_create_pet(int account_id, int char_id, short pet_type, short pet_l
}
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;
@@ -36041,33 +37763,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;
@@ -36203,11 +37898,11 @@ int HP_intif_guild_leave(int guild_id, int account_id, int char_id, int flag, co
}
return retVal___;
}
-int HP_intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int16 class) {
+int HP_intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, int online, int lv, int class) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_intif_guild_memberinfoshort_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int16 *class);
+ int (*preHookFunc) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_memberinfoshort_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_intif_guild_memberinfoshort_pre[hIndex].func;
@@ -36222,7 +37917,7 @@ int HP_intif_guild_memberinfoshort(int guild_id, int account_id, int char_id, in
retVal___ = HPMHooks.source.intif.guild_memberinfoshort(guild_id, account_id, char_id, online, lv, class);
}
if (HPMHooks.count.HP_intif_guild_memberinfoshort_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int16 class);
+ int (*postHookFunc) (int retVal___, int guild_id, int account_id, int char_id, int online, int lv, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_memberinfoshort_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_intif_guild_memberinfoshort_post[hIndex].func;
retVal___ = postHookFunc(retVal___, guild_id, account_id, char_id, online, lv, class);
@@ -36257,33 +37952,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;
@@ -37416,15 +39084,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;
@@ -37432,13 +39100,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___;
@@ -37497,6 +39165,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;
@@ -37656,117 +39376,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) {
@@ -38131,32 +39740,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) {
@@ -38313,32 +39896,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) {
@@ -40300,11 +41857,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;
@@ -40319,7 +41876,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);
@@ -41199,15 +42756,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;
@@ -41215,42 +42772,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;
@@ -41717,7 +43275,173 @@ bool HP_itemdb_lookup_const_mask(const struct config_setting_t *it, const char *
}
return retVal___;
}
+int HP_itemdb_addname_sub(union DBKey key, struct DBData *data, va_list ap) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_itemdb_addname_sub_pre > 0) {
+ int (*preHookFunc) (union DBKey *key, struct DBData **data, va_list ap);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_addname_sub_pre; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ preHookFunc = HPMHooks.list.HP_itemdb_addname_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&key, &data, ap___copy);
+ va_end(ap___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ retVal___ = HPMHooks.source.itemdb.addname_sub(key, data, ap___copy);
+ va_end(ap___copy);
+ }
+ if (HPMHooks.count.HP_itemdb_addname_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_addname_sub_post; hIndex++) {
+ va_list ap___copy; va_copy(ap___copy, ap);
+ postHookFunc = HPMHooks.list.HP_itemdb_addname_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, key, data, ap___copy);
+ va_end(ap___copy);
+ }
+ }
+ return retVal___;
+}
+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;
@@ -44094,15 +45818,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;
@@ -44110,13 +45834,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___;
@@ -44415,6 +46139,32 @@ void HP_map_zone_remove(int m) {
}
return;
}
+void HP_map_zone_remove_all(int m) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_map_zone_remove_all_pre > 0) {
+ void (*preHookFunc) (int *m);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_map_zone_remove_all_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_map_zone_remove_all_pre[hIndex].func;
+ preHookFunc(&m);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.map.zone_remove_all(m);
+ }
+ if (HPMHooks.count.HP_map_zone_remove_all_post > 0) {
+ void (*postHookFunc) (int m);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_map_zone_remove_all_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_map_zone_remove_all_post[hIndex].func;
+ postHookFunc(m);
+ }
+ }
+ return;
+}
void HP_map_zone_apply(int m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath) {
int hIndex = 0;
if (HPMHooks.count.HP_map_zone_apply_pre > 0) {
@@ -46296,15 +48046,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;
@@ -46312,13 +48062,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___;
@@ -48013,31 +49763,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;
@@ -48120,6 +49871,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;
@@ -49709,6 +51514,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;
@@ -50720,6 +52558,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;
@@ -51008,15 +52873,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;
@@ -51024,13 +52915,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___;
@@ -51923,6 +53814,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) {
@@ -52189,6 +54188,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) {
@@ -52215,6 +54241,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) {
@@ -52241,32 +54293,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;
@@ -52592,6 +54643,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;
@@ -54894,11 +56971,11 @@ bool HP_npc_viewisid(const char *viewid) {
}
return retVal___;
}
-struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_) {
+struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_) {
int hIndex = 0;
struct npc_data* retVal___ = NULL;
if (HPMHooks.count.HP_npc_create_npc_pre > 0) {
- struct npc_data* (*preHookFunc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int16 *class_);
+ struct npc_data* (*preHookFunc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int *class_);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_create_npc_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_create_npc_pre[hIndex].func;
@@ -54913,7 +56990,7 @@ struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y
retVal___ = HPMHooks.source.npc.create_npc(subtype, m, x, y, dir, class_);
}
if (HPMHooks.count.HP_npc_create_npc_post > 0) {
- struct npc_data* (*postHookFunc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_);
+ struct npc_data* (*postHookFunc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, uint8 dir, int class_);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_create_npc_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_create_npc_post[hIndex].func;
retVal___ = postHookFunc(retVal___, subtype, m, x, y, dir, class_);
@@ -55434,10 +57511,10 @@ void HP_npc_setdisplayname(struct npc_data *nd, const char *newname) {
}
return;
}
-void HP_npc_setclass(struct npc_data *nd, short class_) {
+void HP_npc_setclass(struct npc_data *nd, int class_) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_setclass_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd, short *class_);
+ void (*preHookFunc) (struct npc_data **nd, int *class_);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_setclass_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_setclass_pre[hIndex].func;
@@ -55452,7 +57529,7 @@ void HP_npc_setclass(struct npc_data *nd, short class_) {
HPMHooks.source.npc.setclass(nd, class_);
}
if (HPMHooks.count.HP_npc_setclass_post > 0) {
- void (*postHookFunc) (struct npc_data *nd, short class_);
+ void (*postHookFunc) (struct npc_data *nd, int class_);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_setclass_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_setclass_post[hIndex].func;
postHookFunc(nd, class_);
@@ -55977,11 +58054,12 @@ 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) {
+/* Unknown return type 'enum market_buy_result'. Initializing to '0'. */
int hIndex = 0;
- int retVal___ = 0;
+ enum market_buy_result retVal___ = 0;
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;
@@ -55996,7 +58074,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);
@@ -56004,6 +58082,33 @@ int HP_npc_market_buylist(struct map_session_data *sd, struct itemlist *item_lis
}
return retVal___;
}
+int HP_npc_barter_buylist(struct map_session_data *sd, struct barteritemlist *item_list) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_npc_barter_buylist_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, struct barteritemlist **item_list);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_buylist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_buylist_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &item_list);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.npc.barter_buylist(sd, item_list);
+ }
+ if (HPMHooks.count.HP_npc_barter_buylist_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, struct barteritemlist *item_list);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_buylist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_buylist_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, item_list);
+ }
+ }
+ return retVal___;
+}
bool HP_npc_trader_open(struct map_session_data *sd, struct npc_data *nd) {
int hIndex = 0;
bool retVal___ = false;
@@ -56057,10 +58162,10 @@ void HP_npc_market_fromsql(void) {
}
return;
}
-void HP_npc_market_tosql(struct npc_data *nd, unsigned short index) {
+void HP_npc_market_tosql(struct npc_data *nd, int index) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_market_tosql_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd, unsigned short *index);
+ void (*preHookFunc) (struct npc_data **nd, int *index);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_tosql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_tosql_pre[hIndex].func;
@@ -56075,7 +58180,7 @@ void HP_npc_market_tosql(struct npc_data *nd, unsigned short index) {
HPMHooks.source.npc.market_tosql(nd, index);
}
if (HPMHooks.count.HP_npc_market_tosql_post > 0) {
- void (*postHookFunc) (struct npc_data *nd, unsigned short index);
+ void (*postHookFunc) (struct npc_data *nd, int index);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_tosql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_tosql_post[hIndex].func;
postHookFunc(nd, index);
@@ -56083,10 +58188,10 @@ void HP_npc_market_tosql(struct npc_data *nd, unsigned short index) {
}
return;
}
-void HP_npc_market_delfromsql(struct npc_data *nd, unsigned short index) {
+void HP_npc_market_delfromsql(struct npc_data *nd, int index) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_market_delfromsql_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd, unsigned short *index);
+ void (*preHookFunc) (struct npc_data **nd, int *index);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_delfromsql_pre[hIndex].func;
@@ -56101,7 +58206,7 @@ void HP_npc_market_delfromsql(struct npc_data *nd, unsigned short index) {
HPMHooks.source.npc.market_delfromsql(nd, index);
}
if (HPMHooks.count.HP_npc_market_delfromsql_post > 0) {
- void (*postHookFunc) (struct npc_data *nd, unsigned short index);
+ void (*postHookFunc) (struct npc_data *nd, int index);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_delfromsql_post[hIndex].func;
postHookFunc(nd, index);
@@ -56109,10 +58214,10 @@ void HP_npc_market_delfromsql(struct npc_data *nd, unsigned short index) {
}
return;
}
-void HP_npc_market_delfromsql_sub(const char *npcname, unsigned short index) {
+void HP_npc_market_delfromsql_sub(const char *npcname, int index) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_market_delfromsql_sub_pre > 0) {
- void (*preHookFunc) (const char **npcname, unsigned short *index);
+ void (*preHookFunc) (const char **npcname, int *index);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_sub_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_delfromsql_sub_pre[hIndex].func;
@@ -56127,7 +58232,7 @@ void HP_npc_market_delfromsql_sub(const char *npcname, unsigned short index) {
HPMHooks.source.npc.market_delfromsql_sub(npcname, index);
}
if (HPMHooks.count.HP_npc_market_delfromsql_sub_post > 0) {
- void (*postHookFunc) (const char *npcname, unsigned short index);
+ void (*postHookFunc) (const char *npcname, int index);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_delfromsql_sub_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_delfromsql_sub_post[hIndex].func;
postHookFunc(npcname, index);
@@ -56135,6 +58240,110 @@ void HP_npc_market_delfromsql_sub(const char *npcname, unsigned short index) {
}
return;
}
+void HP_npc_barter_fromsql(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_fromsql_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_fromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_fromsql_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_fromsql();
+ }
+ if (HPMHooks.count.HP_npc_barter_fromsql_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_fromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_fromsql_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_npc_barter_tosql(struct npc_data *nd, int index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_tosql_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_tosql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_tosql_pre[hIndex].func;
+ preHookFunc(&nd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_tosql(nd, index);
+ }
+ if (HPMHooks.count.HP_npc_barter_tosql_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_tosql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_tosql_post[hIndex].func;
+ postHookFunc(nd, index);
+ }
+ }
+ return;
+}
+void HP_npc_barter_delfromsql(struct npc_data *nd, int index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_delfromsql_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_pre[hIndex].func;
+ preHookFunc(&nd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_delfromsql(nd, index);
+ }
+ if (HPMHooks.count.HP_npc_barter_delfromsql_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_post[hIndex].func;
+ postHookFunc(nd, index);
+ }
+ }
+ return;
+}
+void HP_npc_barter_delfromsql_sub(const char *npcname, int itemId, int itemId2, int amount2) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_barter_delfromsql_sub_pre > 0) {
+ void (*preHookFunc) (const char **npcname, int *itemId, int *itemId2, int *amount2);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_sub_pre[hIndex].func;
+ preHookFunc(&npcname, &itemId, &itemId2, &amount2);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.barter_delfromsql_sub(npcname, itemId, itemId2, amount2);
+ }
+ if (HPMHooks.count.HP_npc_barter_delfromsql_sub_post > 0) {
+ void (*postHookFunc) (const char *npcname, int itemId, int itemId2, int amount2);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_barter_delfromsql_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_barter_delfromsql_sub_post[hIndex].func;
+ postHookFunc(npcname, itemId, itemId2, amount2);
+ }
+ }
+ return;
+}
bool HP_npc_db_checkid(const int id) {
int hIndex = 0;
bool retVal___ = false;
@@ -56188,6 +58397,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;
@@ -56242,6 +58477,111 @@ void HP_nullpo_assert_report(const char *file, int line, const char *func, const
}
return;
}
+/* packets_interface */
+void HP_packets_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.init();
+ }
+ if (HPMHooks.count.HP_packets_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.final();
+ }
+ if (HPMHooks.count.HP_packets_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLens(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLens_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLens_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLens();
+ }
+ if (HPMHooks.count.HP_packets_addLens_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLens_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLens_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_packets_addLen(int id, int len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_packets_addLen_pre > 0) {
+ void (*preHookFunc) (int *id, int *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_packets_addLen_pre[hIndex].func;
+ preHookFunc(&id, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.packets.addLen(id, len);
+ }
+ if (HPMHooks.count.HP_packets_addLen_post > 0) {
+ void (*postHookFunc) (int id, int len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_packets_addLen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_packets_addLen_post[hIndex].func;
+ postHookFunc(id, len);
+ }
+ }
+ return;
+}
/* party_interface */
void HP_party_init(bool minimal) {
int hIndex = 0;
@@ -56965,33 +59305,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;
@@ -58356,10 +60669,10 @@ int HP_pc_makesavestatus(struct map_session_data *sd) {
}
return retVal___;
}
-void HP_pc_respawn(struct map_session_data *sd, clr_type clrtype) {
+void HP_pc_respawn(struct map_session_data *sd, enum clr_type clrtype) {
int hIndex = 0;
if (HPMHooks.count.HP_pc_respawn_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, clr_type *clrtype);
+ void (*preHookFunc) (struct map_session_data **sd, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_respawn_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_respawn_pre[hIndex].func;
@@ -58374,7 +60687,7 @@ void HP_pc_respawn(struct map_session_data *sd, clr_type clrtype) {
HPMHooks.source.pc.respawn(sd, clrtype);
}
if (HPMHooks.count.HP_pc_respawn_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, clr_type clrtype);
+ void (*postHookFunc) (struct map_session_data *sd, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_respawn_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_respawn_post[hIndex].func;
postHookFunc(sd, clrtype);
@@ -58838,11 +61151,11 @@ int HP_pc_clean_skilltree(struct map_session_data *sd) {
}
return retVal___;
}
-int HP_pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype) {
+int HP_pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_setpos_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype);
+ int (*preHookFunc) (struct map_session_data **sd, unsigned short *map_index, int *x, int *y, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setpos_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_setpos_pre[hIndex].func;
@@ -58857,7 +61170,7 @@ int HP_pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, i
retVal___ = HPMHooks.source.pc.setpos(sd, map_index, x, y, clrtype);
}
if (HPMHooks.count.HP_pc_setpos_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, clr_type clrtype);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setpos_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_setpos_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, map_index, x, y, clrtype);
@@ -58892,11 +61205,11 @@ int HP_pc_setsavepoint(struct map_session_data *sd, short map_index, int x, int
}
return retVal___;
}
-int HP_pc_randomwarp(struct map_session_data *sd, clr_type type) {
+int HP_pc_randomwarp(struct map_session_data *sd, enum clr_type type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_randomwarp_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, clr_type *type);
+ int (*preHookFunc) (struct map_session_data **sd, enum clr_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_randomwarp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_randomwarp_pre[hIndex].func;
@@ -58911,7 +61224,7 @@ int HP_pc_randomwarp(struct map_session_data *sd, clr_type type) {
retVal___ = HPMHooks.source.pc.randomwarp(sd, type);
}
if (HPMHooks.count.HP_pc_randomwarp_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, clr_type type);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, enum clr_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_randomwarp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_randomwarp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, type);
@@ -59054,11 +61367,11 @@ int HP_pc_payzeny(struct map_session_data *sd, int zeny, enum e_log_pick_type ty
}
return retVal___;
}
-int HP_pc_additem(struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type) {
+int HP_pc_additem(struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_additem_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, struct item **item_data, int *amount, e_log_pick_type *log_type);
+ int (*preHookFunc) (struct map_session_data **sd, const struct item **item_data, int *amount, e_log_pick_type *log_type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_additem_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_additem_pre[hIndex].func;
@@ -59073,7 +61386,7 @@ int HP_pc_additem(struct map_session_data *sd, struct item *item_data, int amoun
retVal___ = HPMHooks.source.pc.additem(sd, item_data, amount, log_type);
}
if (HPMHooks.count.HP_pc_additem_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, struct item *item_data, int amount, e_log_pick_type log_type);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, const struct item *item_data, int amount, e_log_pick_type log_type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_additem_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_additem_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, item_data, amount, log_type);
@@ -59486,11 +61799,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;
@@ -59505,7 +61818,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);
@@ -62008,11 +64321,11 @@ int HP_pc_candrop(struct map_session_data *sd, struct item *item) {
}
return retVal___;
}
-int HP_pc_jobid2mapid(int16 class) {
+int HP_pc_jobid2mapid(int class) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_jobid2mapid_pre > 0) {
- int (*preHookFunc) (int16 *class);
+ int (*preHookFunc) (int *class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_jobid2mapid_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_jobid2mapid_pre[hIndex].func;
@@ -62027,7 +64340,7 @@ int HP_pc_jobid2mapid(int16 class) {
retVal___ = HPMHooks.source.pc.jobid2mapid(class);
}
if (HPMHooks.count.HP_pc_jobid2mapid_post > 0) {
- int (*postHookFunc) (int retVal___, int16 class);
+ int (*postHookFunc) (int retVal___, int class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_jobid2mapid_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_jobid2mapid_post[hIndex].func;
retVal___ = postHookFunc(retVal___, class);
@@ -62035,11 +64348,11 @@ int HP_pc_jobid2mapid(int16 class) {
}
return retVal___;
}
-int HP_pc_mapid2jobid(unsigned short class_, int sex) {
+int HP_pc_mapid2jobid(unsigned int class_, int sex) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_mapid2jobid_pre > 0) {
- int (*preHookFunc) (unsigned short *class_, int *sex);
+ int (*preHookFunc) (unsigned int *class_, int *sex);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_mapid2jobid_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_mapid2jobid_pre[hIndex].func;
@@ -62054,7 +64367,7 @@ int HP_pc_mapid2jobid(unsigned short class_, int sex) {
retVal___ = HPMHooks.source.pc.mapid2jobid(class_, sex);
}
if (HPMHooks.count.HP_pc_mapid2jobid_post > 0) {
- int (*postHookFunc) (int retVal___, unsigned short class_, int sex);
+ int (*postHookFunc) (int retVal___, unsigned int class_, int sex);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_mapid2jobid_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_mapid2jobid_post[hIndex].func;
retVal___ = postHookFunc(retVal___, class_, sex);
@@ -63164,15 +65477,15 @@ int HP_pc_bonus_addeff_onskill(struct s_addeffectonskill *effect, int max, enum
}
return retVal___;
}
-int HP_pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id, short group, int race, int rate) {
+int HP_pc_bonus_item_drop(struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_bonus_item_drop_pre > 0) {
- int (*preHookFunc) (struct s_add_drop **drop, const short *max, short *id, short *group, int *race, int *rate);
+ int (*preHookFunc) (struct s_add_drop **drop, const short *max, int *id, bool *is_group, int *race, int *rate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_bonus_item_drop_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_bonus_item_drop_pre[hIndex].func;
- retVal___ = preHookFunc(&drop, &max, &id, &group, &race, &rate);
+ retVal___ = preHookFunc(&drop, &max, &id, &is_group, &race, &rate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -63180,13 +65493,13 @@ int HP_pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id, sh
}
}
{
- retVal___ = HPMHooks.source.pc.bonus_item_drop(drop, max, id, group, race, rate);
+ retVal___ = HPMHooks.source.pc.bonus_item_drop(drop, max, id, is_group, race, rate);
}
if (HPMHooks.count.HP_pc_bonus_item_drop_post > 0) {
- int (*postHookFunc) (int retVal___, struct s_add_drop *drop, const short max, short id, short group, int race, int rate);
+ int (*postHookFunc) (int retVal___, struct s_add_drop *drop, const short max, int id, bool is_group, int race, int rate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_bonus_item_drop_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_bonus_item_drop_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, drop, max, id, group, race, rate);
+ retVal___ = postHookFunc(retVal___, drop, max, id, is_group, race, rate);
}
}
return retVal___;
@@ -64330,6 +66643,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;
@@ -64357,6 +66697,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) {
@@ -64464,6 +66864,60 @@ bool HP_pc_has_second_costume(struct map_session_data *sd) {
}
return retVal___;
}
+bool HP_pc_expandInventory(struct map_session_data *sd, int adjustSize) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_pc_expandInventory_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *adjustSize);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_expandInventory_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_expandInventory_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &adjustSize);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.expandInventory(sd, adjustSize);
+ }
+ if (HPMHooks.count.HP_pc_expandInventory_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int adjustSize);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_expandInventory_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_expandInventory_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, adjustSize);
+ }
+ }
+ return retVal___;
+}
+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;
@@ -65219,11 +67673,11 @@ int HP_pet_catch_process2(struct map_session_data *sd, int target_id) {
}
return retVal___;
}
-bool HP_pet_get_egg(int account_id, short pet_class, int pet_id) {
+bool HP_pet_get_egg(int account_id, int pet_class, int pet_id) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_pet_get_egg_pre > 0) {
- bool (*preHookFunc) (int *account_id, short *pet_class, int *pet_id);
+ bool (*preHookFunc) (int *account_id, int *pet_class, int *pet_id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pet_get_egg_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pet_get_egg_pre[hIndex].func;
@@ -65238,7 +67692,7 @@ bool HP_pet_get_egg(int account_id, short pet_class, int pet_id) {
retVal___ = HPMHooks.source.pet.get_egg(account_id, pet_class, pet_id);
}
if (HPMHooks.count.HP_pet_get_egg_post > 0) {
- bool (*postHookFunc) (bool retVal___, int account_id, short pet_class, int pet_id);
+ bool (*postHookFunc) (bool retVal___, int account_id, int pet_class, int pet_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pet_get_egg_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pet_get_egg_post[hIndex].func;
retVal___ = postHookFunc(retVal___, account_id, pet_class, pet_id);
@@ -66552,14 +69006,69 @@ bool HP_quest_questinfo_validate_quests(struct map_session_data *sd, struct ques
}
return retVal___;
}
-void HP_quest_questinfo_vector_clear(int m) {
+bool HP_quest_questinfo_validate_mercenary_class(struct map_session_data *sd, struct questinfo *qi) {
int hIndex = 0;
- if (HPMHooks.count.HP_quest_questinfo_vector_clear_pre > 0) {
- void (*preHookFunc) (int *m);
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, struct questinfo **qi);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_vector_clear_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_quest_questinfo_vector_clear_pre[hIndex].func;
- preHookFunc(&m);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_quest_questinfo_validate_mercenary_class_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &qi);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.quest.questinfo_validate_mercenary_class(sd, qi);
+ }
+ if (HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_validate_mercenary_class_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_quest_questinfo_validate_mercenary_class_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, qi);
+ }
+ }
+ return retVal___;
+}
+/* refine_interface */
+int HP_refine_init(bool minimal) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_refine_init_pre > 0) {
+ int (*preHookFunc) (bool *minimal);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_init_pre[hIndex].func;
+ retVal___ = preHookFunc(&minimal);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.refine.init(minimal);
+ }
+ if (HPMHooks.count.HP_refine_init_post > 0) {
+ int (*postHookFunc) (int retVal___, bool minimal);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_refine_init_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, minimal);
+ }
+ }
+ return retVal___;
+}
+void HP_refine_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_refine_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_refine_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_refine_final_pre[hIndex].func;
+ preHookFunc();
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -66567,17 +69076,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;
@@ -67002,10 +69861,10 @@ void HP_rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amount)
}
return;
}
-void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class) {
+void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class) {
int hIndex = 0;
if (HPMHooks.count.HP_rodex_check_player_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, short **class);
+ void (*preHookFunc) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, int **class);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_check_player_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_rodex_check_player_pre[hIndex].func;
@@ -67020,7 +69879,7 @@ void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *b
HPMHooks.source.rodex.check_player(sd, name, base_level, char_id, class);
}
if (HPMHooks.count.HP_rodex_check_player_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+ void (*postHookFunc) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, int *class);
for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_check_player_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_rodex_check_player_post[hIndex].func;
postHookFunc(sd, name, base_level, char_id, class);
@@ -67238,6 +70097,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;
@@ -72019,15 +74930,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;
@@ -72035,13 +74973,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___;
@@ -72159,15 +75097,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;
@@ -72175,13 +75113,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___;
@@ -72290,6 +75228,84 @@ 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;
+}
/* searchstore_interface */
bool HP_searchstore_open(struct map_session_data *sd, unsigned int uses, unsigned short effect) {
int hIndex = 0;
@@ -72528,15 +75544,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;
@@ -72544,13 +75560,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___;
@@ -76185,6 +79201,32 @@ int HP_skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
}
return retVal___;
}
+void HP_skill_trap_do_splash(struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_trap_do_splash_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int *bl_flag, int64 *tick);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_trap_do_splash_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_trap_do_splash_pre[hIndex].func;
+ preHookFunc(&bl, &skill_id, &skill_lv, &bl_flag, &tick);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.trap_do_splash(bl, skill_id, skill_lv, bl_flag, tick);
+ }
+ if (HPMHooks.count.HP_skill_trap_do_splash_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, uint16 skill_id, uint16 skill_lv, int bl_flag, int64 tick);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_trap_do_splash_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_trap_do_splash_post[hIndex].func;
+ postHookFunc(bl, skill_id, skill_lv, bl_flag, tick);
+ }
+ }
+ return;
+}
int HP_skill_trap_splash(struct block_list *bl, va_list ap) {
int hIndex = 0;
int retVal___ = 0;
@@ -79551,15 +82593,15 @@ int HP_sockt_realloc_writefifo(int fd, size_t addition) {
}
return retVal___;
}
-int HP_sockt_wfifoset(int fd, size_t len) {
+int HP_sockt_wfifoset(int fd, size_t len, bool validate) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_sockt_wfifoset_pre > 0) {
- int (*preHookFunc) (int *fd, size_t *len);
+ int (*preHookFunc) (int *fd, size_t *len, bool *validate);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_sockt_wfifoset_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &len);
+ retVal___ = preHookFunc(&fd, &len, &validate);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -79567,17 +82609,43 @@ int HP_sockt_wfifoset(int fd, size_t len) {
}
}
{
- retVal___ = HPMHooks.source.sockt.wfifoset(fd, len);
+ retVal___ = HPMHooks.source.sockt.wfifoset(fd, len, validate);
}
if (HPMHooks.count.HP_sockt_wfifoset_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, size_t len);
+ int (*postHookFunc) (int retVal___, int fd, size_t len, bool validate);
for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifoset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_sockt_wfifoset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, len);
+ retVal___ = postHookFunc(retVal___, fd, len, validate);
}
}
return retVal___;
}
+void HP_sockt_wfifohead(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_wfifohead_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_wfifohead_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.wfifohead(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_wfifohead_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_wfifohead_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_wfifohead_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
int HP_sockt_rfifoskip(int fd, size_t len) {
int hIndex = 0;
int retVal___ = 0;
@@ -79631,6 +82699,32 @@ void HP_sockt_close(int fd) {
}
return;
}
+void HP_sockt_validateWfifo(int fd, size_t len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_sockt_validateWfifo_pre > 0) {
+ void (*preHookFunc) (int *fd, size_t *len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_sockt_validateWfifo_pre[hIndex].func;
+ preHookFunc(&fd, &len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.sockt.validateWfifo(fd, len);
+ }
+ if (HPMHooks.count.HP_sockt_validateWfifo_post > 0) {
+ void (*postHookFunc) (int fd, size_t len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_sockt_validateWfifo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_sockt_validateWfifo_post[hIndex].func;
+ postHookFunc(fd, len);
+ }
+ }
+ return;
+}
bool HP_sockt_session_is_valid(int fd) {
int hIndex = 0;
bool retVal___ = false;
@@ -79737,6 +82831,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) {
@@ -81009,33 +84130,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;
@@ -81117,14 +84211,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) {
@@ -81133,12 +84227,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);
}
}
@@ -81171,6 +84265,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;
@@ -81252,11 +84373,11 @@ int HP_status_percent_change(struct block_list *src, struct block_list *target,
}
return retVal___;
}
-int HP_status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
+int HP_status_set_hp(struct block_list *bl, unsigned int hp, enum status_heal_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_status_set_hp_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, unsigned int *hp, int *flag);
+ int (*preHookFunc) (struct block_list **bl, unsigned int *hp, enum status_heal_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_hp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_set_hp_pre[hIndex].func;
@@ -81271,7 +84392,7 @@ int HP_status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
retVal___ = HPMHooks.source.status.set_hp(bl, hp, flag);
}
if (HPMHooks.count.HP_status_set_hp_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int hp, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int hp, enum status_heal_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_hp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_set_hp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, hp, flag);
@@ -81279,11 +84400,11 @@ int HP_status_set_hp(struct block_list *bl, unsigned int hp, int flag) {
}
return retVal___;
}
-int HP_status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
+int HP_status_set_sp(struct block_list *bl, unsigned int sp, enum status_heal_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_status_set_sp_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, unsigned int *sp, int *flag);
+ int (*preHookFunc) (struct block_list **bl, unsigned int *sp, enum status_heal_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_sp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_set_sp_pre[hIndex].func;
@@ -81298,7 +84419,7 @@ int HP_status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
retVal___ = HPMHooks.source.status.set_sp(bl, sp, flag);
}
if (HPMHooks.count.HP_status_set_sp_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int sp, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int sp, enum status_heal_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_sp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_set_sp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, sp, flag);
@@ -81306,11 +84427,11 @@ int HP_status_set_sp(struct block_list *bl, unsigned int sp, int flag) {
}
return retVal___;
}
-int HP_status_heal(struct block_list *bl, int64 hp, int64 sp, int flag) {
+int HP_status_heal(struct block_list *bl, int64 hp, int64 sp, enum status_heal_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_status_heal_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, int64 *hp, int64 *sp, int *flag);
+ int (*preHookFunc) (struct block_list **bl, int64 *hp, int64 *sp, enum status_heal_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_heal_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_heal_pre[hIndex].func;
@@ -81325,7 +84446,7 @@ int HP_status_heal(struct block_list *bl, int64 hp, int64 sp, int flag) {
retVal___ = HPMHooks.source.status.heal(bl, hp, sp, flag);
}
if (HPMHooks.count.HP_status_heal_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, int64 hp, int64 sp, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, int64 hp, int64 sp, enum status_heal_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_heal_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_heal_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, hp, sp, flag);
@@ -81979,6 +85100,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;
@@ -82193,15 +85341,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;
@@ -82209,13 +85357,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___;
@@ -82868,11 +86016,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;
@@ -82887,7 +86035,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);
@@ -82895,11 +86043,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;
@@ -82914,7 +86062,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);
@@ -83162,11 +86310,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;
@@ -83181,7 +86329,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);
@@ -83243,6 +86391,60 @@ unsigned int HP_status_get_base_maxsp(const struct map_session_data *sd, const s
}
return retVal___;
}
+unsigned int HP_status_get_restart_hp(const struct map_session_data *sd, const struct status_data *st) {
+ int hIndex = 0;
+ unsigned int retVal___ = 0;
+ if (HPMHooks.count.HP_status_get_restart_hp_pre > 0) {
+ unsigned int (*preHookFunc) (const struct map_session_data **sd, const struct status_data **st);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_hp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_get_restart_hp_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &st);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.get_restart_hp(sd, st);
+ }
+ if (HPMHooks.count.HP_status_get_restart_hp_post > 0) {
+ unsigned int (*postHookFunc) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_hp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_get_restart_hp_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, st);
+ }
+ }
+ return retVal___;
+}
+unsigned int HP_status_get_restart_sp(const struct map_session_data *sd, const struct status_data *st) {
+ int hIndex = 0;
+ unsigned int retVal___ = 0;
+ if (HPMHooks.count.HP_status_get_restart_sp_pre > 0) {
+ unsigned int (*preHookFunc) (const struct map_session_data **sd, const struct status_data **st);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_sp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_get_restart_sp_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &st);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.get_restart_sp(sd, st);
+ }
+ if (HPMHooks.count.HP_status_get_restart_sp_post > 0) {
+ unsigned int (*postHookFunc) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_restart_sp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_get_restart_sp_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, st);
+ }
+ }
+ return retVal___;
+}
int HP_status_calc_npc_(struct npc_data *nd, enum e_status_calc_opt opt) {
int hIndex = 0;
int retVal___ = 0;
@@ -83432,11 +86634,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;
@@ -83451,7 +86653,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);
@@ -83459,11 +86661,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;
@@ -83478,7 +86680,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);
@@ -83486,11 +86688,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;
@@ -83505,7 +86707,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);
@@ -83513,11 +86715,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;
@@ -83532,7 +86734,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);
@@ -83540,11 +86742,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;
@@ -83559,7 +86761,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);
@@ -83567,11 +86769,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;
@@ -83586,7 +86788,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);
@@ -83864,11 +87066,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;
@@ -83883,7 +87085,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);
@@ -84083,15 +87285,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;
@@ -84099,26 +87301,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;
@@ -84126,26 +87328,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;
@@ -84153,13 +87355,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___;
@@ -84216,14 +87445,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;
@@ -84231,13 +87460,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;
@@ -84268,11 +87497,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;
@@ -84287,7 +87516,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);
@@ -84295,11 +87524,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;
@@ -84314,7 +87543,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);
@@ -85355,6 +88584,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;
@@ -87421,11 +90888,11 @@ int HP_unit_blown(struct block_list *bl, int dx, int dy, int count, int flag) {
}
return retVal___;
}
-int HP_unit_warp(struct block_list *bl, short m, short x, short y, clr_type type) {
+int HP_unit_warp(struct block_list *bl, short m, short x, short y, enum clr_type type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_warp_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, short *m, short *x, short *y, clr_type *type);
+ int (*preHookFunc) (struct block_list **bl, short *m, short *x, short *y, enum clr_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_warp_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_warp_pre[hIndex].func;
@@ -87440,7 +90907,7 @@ int HP_unit_warp(struct block_list *bl, short m, short x, short y, clr_type type
retVal___ = HPMHooks.source.unit.warp(bl, m, x, y, type);
}
if (HPMHooks.count.HP_unit_warp_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, short m, short x, short y, clr_type type);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, short m, short x, short y, enum clr_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_warp_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_warp_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, m, x, y, type);
@@ -88120,11 +91587,11 @@ int HP_unit_changeviewsize(struct block_list *bl, short size) {
}
return retVal___;
}
-int HP_unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func) {
+int HP_unit_remove_map(struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_remove_map_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, clr_type *clrtype, const char **file, int *line, const char **func);
+ int (*preHookFunc) (struct block_list **bl, enum clr_type *clrtype, const char **file, int *line, const char **func);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_remove_map_pre[hIndex].func;
@@ -88139,7 +91606,7 @@ int HP_unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file
retVal___ = HPMHooks.source.unit.remove_map(bl, clrtype, file, line, func);
}
if (HPMHooks.count.HP_unit_remove_map_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, clr_type clrtype, const char *file, int line, const char *func);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, enum clr_type clrtype, const char *file, int line, const char *func);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_remove_map_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, clrtype, file, line, func);
@@ -88147,10 +91614,10 @@ int HP_unit_remove_map(struct block_list *bl, clr_type clrtype, const char *file
}
return retVal___;
}
-void HP_unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype) {
+void HP_unit_remove_map_pc(struct map_session_data *sd, enum clr_type clrtype) {
int hIndex = 0;
if (HPMHooks.count.HP_unit_remove_map_pc_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, clr_type *clrtype);
+ void (*preHookFunc) (struct map_session_data **sd, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_pc_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_remove_map_pc_pre[hIndex].func;
@@ -88165,7 +91632,7 @@ void HP_unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype) {
HPMHooks.source.unit.remove_map_pc(sd, clrtype);
}
if (HPMHooks.count.HP_unit_remove_map_pc_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, clr_type clrtype);
+ void (*postHookFunc) (struct map_session_data *sd, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_remove_map_pc_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_remove_map_pc_post[hIndex].func;
postHookFunc(sd, clrtype);
@@ -88199,11 +91666,11 @@ void HP_unit_free_pc(struct map_session_data *sd) {
}
return;
}
-int HP_unit_free(struct block_list *bl, clr_type clrtype) {
+int HP_unit_free(struct block_list *bl, enum clr_type clrtype) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_free_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, clr_type *clrtype);
+ int (*preHookFunc) (struct block_list **bl, enum clr_type *clrtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_free_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_free_pre[hIndex].func;
@@ -88218,7 +91685,7 @@ int HP_unit_free(struct block_list *bl, clr_type clrtype) {
retVal___ = HPMHooks.source.unit.free(bl, clrtype);
}
if (HPMHooks.count.HP_unit_free_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, clr_type clrtype);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, enum clr_type clrtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_free_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_free_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, clrtype);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.sources.inc b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
index 151a5d8a1..53ee71a03 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2018 Hercules Dev Team
+ * Copyright (C) 2013-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
@@ -65,6 +65,7 @@ HPMHooks.source.mutex = *mutex;
HPMHooks.source.npc_chat = *npc_chat;
HPMHooks.source.npc = *npc;
HPMHooks.source.nullpo = *nullpo;
+HPMHooks.source.packets = *packets;
HPMHooks.source.party = *party;
HPMHooks.source.path = *path;
HPMHooks.source.pcg = *pcg;
@@ -72,6 +73,8 @@ HPMHooks.source.pc = *pc;
HPMHooks.source.libpcre = *libpcre;
HPMHooks.source.pet = *pet;
HPMHooks.source.quest = *quest;
+HPMHooks.source.refine = *refine;
+HPMHooks.source.PRIV__refine = *refine->p;
HPMHooks.source.rnd = *rnd;
HPMHooks.source.rodex = *rodex;
HPMHooks.source.script = *script;
@@ -84,6 +87,7 @@ HPMHooks.source.status = *status;
HPMHooks.source.storage = *storage;
HPMHooks.source.StrBuf = *StrBuf;
HPMHooks.source.strlib = *strlib;
+HPMHooks.source.stylist = *stylist;
HPMHooks.source.sv = *sv;
HPMHooks.source.sysinfo = *sysinfo;
HPMHooks.source.thread = *thread;
diff --git a/src/plugins/constdb2doc.c b/src/plugins/constdb2doc.c
index 3f681ea1a..ebaf7a833 100644
--- a/src/plugins/constdb2doc.c
+++ b/src/plugins/constdb2doc.c
@@ -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..159d4e2a6 100644
--- a/src/plugins/db2sql.c
+++ b/src/plugins/db2sql.c
@@ -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/generate-translations.c b/src/plugins/generate-translations.c
index 759e788a2..14a3c0a4d 100644
--- a/src/plugins/generate-translations.c
+++ b/src/plugins/generate-translations.c
@@ -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..208f39abb 100644
--- a/src/plugins/mapcache.c
+++ b/src/plugins/mapcache.c
@@ -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..da29bd837 100644
--- a/src/plugins/sample.c
+++ b/src/plugins/sample.c
@@ -23,8 +23,11 @@
#include "common/hercules.h" /* Should always be the first Hercules file included! (if you don't make it first, you won't be able to use interfaces) */
#include "common/memmgr.h"
#include "common/mmo.h"
+#include "common/random.h"
#include "common/socket.h"
#include "common/strlib.h"
+#include "login/login.h"
+#include "login/lclif.p.h"
#include "map/clif.h"
#include "map/pc.h"
#include "map/script.h"
@@ -79,13 +82,13 @@ void sample_packet0f3(int fd) {
data->lastMSGPosition.map = sd->status.last_point.map;
data->lastMSGPosition.x = sd->status.last_point.x;
data->lastMSGPosition.y = sd->status.last_point.y;
- data->someNumber = rand()%777;
+ data->someNumber = rnd()%777;
ShowInfo("Created Appended sockt->session[] data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
addToSession(sockt->session[fd],data,0,true);
} else {
ShowInfo("Existent Appended sockt->session[] data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
- if( rand()%4 == 2 ) {
+ if (rnd()%4 == 2) {
ShowInfo("Removing Appended sockt->session[] data\n");
removeFromSession(sockt->session[fd],0);
}
@@ -98,13 +101,13 @@ void sample_packet0f3(int fd) {
data->lastMSGPosition.map = sd->status.last_point.map;
data->lastMSGPosition.x = sd->status.last_point.x;
data->lastMSGPosition.y = sd->status.last_point.y;
- data->someNumber = rand()%777;
+ data->someNumber = rnd()%777;
ShowInfo("Created Appended map_session_data data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
addToMSD(sd,data,0,true);
} else {
ShowInfo("Existent Appended map_session_data data, %d %d %d %u\n",data->lastMSGPosition.map,data->lastMSGPosition.x,data->lastMSGPosition.y,data->someNumber);
- if( rand()%4 == 2 ) {
+ if (rnd()%4 == 2) {
ShowInfo("Removing Appended map_session_data data\n");
removeFromMSD(sd,0);
}
@@ -135,6 +138,19 @@ int my_pc_dropitem_post(int retVal, struct map_session_data *sd, int n, int amou
}
return 1;
}
+
+ /**
+ * pre-hook for lclif->p->parse_CA_CONNECT_INFO_CHANGED this is a private interface function and while in source it cannot be used
+ * outside of lclif.c since it's private, plugin can use it and hook to private interface functions if needed
+ * the pre-hook takes this currently unused packet and show a notice whenver a player sends it
+ **/
+enum parsefunc_rcode my_lclif_parse_CA_CONNECT_INFO_CHANGED_pre(int *fd, struct login_session_data **sd) __attribute__((nonnull(2)));
+enum parsefunc_rcode my_lclif_parse_CA_CONNECT_INFO_CHANGED_pre(int *fd, struct login_session_data **sd)
+{
+ ShowNotice("Player (AID: %d) has sent CA_CONNECT_INFO_CHANGED packet\n", (*sd)->account_id);
+ return PACKET_VALID;
+}
+
/*
* Key is the setting name in our example it's 'my_setting' while val is the value of it.
* this way you can manage more than one setting in one function instead of define multiable ones
@@ -211,6 +227,14 @@ HPExport void plugin_init (void) {
/* - by checking whether it was successful (retVal value) it allows for the originals conditions to take place */
addHookPost(pc, dropitem, my_pc_dropitem_post);
}
+
+ if (SERVER_TYPE == SERVER_TYPE_LOGIN) {
+ /**
+ * In this example we add a pre-hook to lclif->p->parse_CA_CONNECT_INFO_CHANGED
+ * It's similar to nomral hooks except it have it own hooking macros which ends with Priv
+ **/
+ addHookPrePriv(lclif, parse_CA_CONNECT_INFO_CHANGED, my_lclif_parse_CA_CONNECT_INFO_CHANGED_pre);
+ }
}
/* triggered when server starts loading, before any server-specific data is set */
HPExport void server_preinit(void)
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
deleted file mode 100644
index d4c178218..000000000
--- a/src/tool/Makefile.in
+++ /dev/null
@@ -1,88 +0,0 @@
-# This file is part of Hercules.
-# http://herc.ws - http://github.com/HerculesWS/Hercules
-#
-# Copyright (C) 2012-2018 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
-#
-# Hercules is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# @configure_input@
-
-CONFIG_D = ../config
-CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h)
-
-COMMON_D = ../common
-COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h))
-SYSINFO_INC = $(COMMON_D)/sysinfo.inc
-COMMON_INCLUDE = -I..
-
-THIRDPARTY_D = ../../3rdparty
-THIRDPARTY_INCLUDE = -I$(THIRDPARTY_D)
-
-LIBCONFIG_D = $(THIRDPARTY_D)/libconfig
-LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
- scanner.o strbuf.o)
-LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
- scanctx.h scanner.h strbuf.h wincompat.h)
-
-@SET_MAKE@
-
-CC = @CC@
-export CC
-
-#####################################################################
-.PHONY: all clean buildclean help
-
-all: Makefile
-
-buildclean:
- @echo " CLEAN tool (build temp files)"
- @rm -rf obj_all/*.o
-
-clean: buildclean
- @echo " CLEAN tool"
-
-help:
- @echo "possible targets are 'all' 'clean' 'help'"
- @echo "'all' - builds all above targets"
- @echo "'clean' - cleans builds and objects"
- @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
- @echo " executables"
- @echo "'help' - outputs this message"
-
-#####################################################################
-
-Makefile: Makefile.in
- @$(MAKE) -C ../.. src/tool/Makefile
-
-$(SYSINFO_INC): $(COMMON_H) $(CONFIG_H) $(LIBCONFIG_H)
- @echo " MAKE $@"
- @$(MAKE) -C ../.. sysinfo
-
-obj_all:
- @echo " MKDIR obj_all"
- @-mkdir obj_all
-
-obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(LIBCONFIG_H) | obj_all
- @echo " CC $<"
- @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-
-# missing common object files
-$(COMMON_D)/obj_all/common_mini.a:
- @echo " MAKE $@"
- @$(MAKE) -C $(COMMON_D) common_mini
-
-$(LIBCONFIG_OBJ):
- @echo " MAKE $@"
- @$(MAKE) -C $(LIBCONFIG_D)