summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/char/char.c77
-rw-r--r--src/char/int_auction.c2
-rw-r--r--src/char/int_guild.c2
-rw-r--r--src/char/int_party.c2
-rw-r--r--src/char/int_rodex.c12
-rw-r--r--src/common/mmo.h15
-rw-r--r--src/common/utils.c22
-rw-r--r--src/common/utils.h1
-rw-r--r--src/map/Makefile.in2
-rw-r--r--src/map/atcommand.c2
-rw-r--r--src/map/battle.c46
-rw-r--r--src/map/battle.h3
-rw-r--r--src/map/clif.c51
-rw-r--r--src/map/clif.h1
-rw-r--r--src/map/guild.c2
-rw-r--r--src/map/intif.c2
-rw-r--r--src/map/itemdb.c137
-rw-r--r--src/map/itemdb.h12
-rw-r--r--src/map/packets.h5492
-rw-r--r--src/map/packets_keys.h2139
-rw-r--r--src/map/packets_struct.h2
-rw-r--r--src/map/party.c5
-rw-r--r--src/map/pc.c300
-rw-r--r--src/map/pc.h18
-rw-r--r--src/map/rodex.c31
-rw-r--r--src/map/script.c436
-rw-r--r--src/map/skill.c50
-rw-r--r--src/map/status.c65
-rw-r--r--src/map/storage.c4
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc10
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc4
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc41
-rw-r--r--src/plugins/db2sql.c15
34 files changed, 7779 insertions, 1225 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 4687d4d6b..78b2d19fa 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -460,10 +460,10 @@ int char_mmo_char_tosql(int char_id, struct mmo_charstatus* p)
(p->int_ != cp->int_) || (p->dex != cp->dex) || (p->luk != cp->luk) ||
(p->option != cp->option) ||
(p->party_id != cp->party_id) || (p->guild_id != cp->guild_id) ||
- (p->pet_id != cp->pet_id) || (p->weapon != cp->weapon) || (p->hom_id != cp->hom_id) ||
- (p->ele_id != cp->ele_id) || (p->shield != cp->shield) || (p->head_top != cp->head_top) ||
- (p->head_mid != cp->head_mid) || (p->head_bottom != cp->head_bottom) || (p->delete_date != cp->delete_date) ||
- (p->rename != cp->rename) || (p->slotchange != cp->slotchange) || (p->robe != cp->robe) ||
+ (p->pet_id != cp->pet_id) || (p->look.weapon != cp->look.weapon) || (p->hom_id != cp->hom_id) ||
+ (p->ele_id != cp->ele_id) || (p->look.shield != cp->look.shield) || (p->look.head_top != cp->look.head_top) ||
+ (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)
) {
@@ -476,7 +476,7 @@ int char_mmo_char_tosql(int char_id, struct mmo_charstatus* p)
opt |= OPT_SHOW_EQUIP;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
- "`base_exp`='%u', `job_exp`='%u', `zeny`='%d',"
+ "`base_exp`='%"PRIu64"', `job_exp`='%"PRIu64"', `zeny`='%d',"
"`max_hp`='%d',`hp`='%d',`max_sp`='%d',`sp`='%d',`status_point`='%d',`skill_point`='%d',"
"`str`='%d',`agi`='%d',`vit`='%d',`int`='%d',`dex`='%d',`luk`='%d',"
"`option`='%u',`party_id`='%d',`guild_id`='%d',`pet_id`='%d',`homun_id`='%d',`elemental_id`='%d',"
@@ -490,11 +490,11 @@ int char_mmo_char_tosql(int char_id, struct mmo_charstatus* p)
p->max_hp, p->hp, p->max_sp, p->sp, p->status_point, p->skill_point,
p->str, p->agi, p->vit, p->int_, p->dex, p->luk,
p->option, p->party_id, p->guild_id, p->pet_id, p->hom_id, p->ele_id,
- p->weapon, p->shield, p->head_top, p->head_mid, p->head_bottom,
+ p->look.weapon, p->look.shield, p->look.head_top, p->look.head_mid, p->look.head_bottom,
mapindex_id2name(p->last_point.map), p->last_point.x, p->last_point.y,
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->robe,p->slotchange,opt,p->font,p->uniqueitem_counter,
+ p->look.robe,p->slotchange,opt,p->font,p->uniqueitem_counter,
p->hotkey_rowshift,
p->account_id, p->char_id) )
{
@@ -927,7 +927,7 @@ int char_memitemdata_to_sql(const struct item *p_items, int guid, enum inventory
if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)))
Sql_ShowDebug(inter->sql_handle);
}
-
+
aFree(deletes);
}
@@ -1072,8 +1072,8 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_SHORT, &p.class, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT, &p.base_level, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT, &p.job_level, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_UINT, &p.base_exp, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT, &p.job_exp, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_UINT64, &p.base_exp, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT64, &p.job_exp, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 8, SQLDT_INT, &p.zeny, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 9, SQLDT_SHORT, &p.str, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 10, SQLDT_SHORT, &p.agi, 0, NULL, NULL)
@@ -1094,15 +1094,15 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 25, SQLDT_SHORT, &p.hair_color, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 26, SQLDT_SHORT, &p.clothes_color, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 27, SQLDT_SHORT, &p.body, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 28, SQLDT_SHORT, &p.weapon, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 29, SQLDT_SHORT, &p.shield, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 30, SQLDT_SHORT, &p.head_top, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 31, SQLDT_SHORT, &p.head_mid, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 32, SQLDT_SHORT, &p.head_bottom, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 28, SQLDT_SHORT, &p.look.weapon, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 29, SQLDT_SHORT, &p.look.shield, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 30, SQLDT_SHORT, &p.look.head_top, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 31, SQLDT_SHORT, &p.look.head_mid, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 32, SQLDT_SHORT, &p.look.head_bottom, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 33, SQLDT_STRING, &last_map, sizeof(last_map), NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 34, SQLDT_USHORT, &p.rename, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 35, SQLDT_UINT32, &p.delete_date, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 36, SQLDT_SHORT, &p.robe, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 36, SQLDT_SHORT, &p.look.robe, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 37, SQLDT_USHORT, &p.slotchange, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 38, SQLDT_LONG, &unban_time, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 39, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
@@ -1181,8 +1181,8 @@ int char_mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_every
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_SHORT, &p->class, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT, &p->base_level, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_INT, &p->job_level, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT, &p->base_exp, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 8, SQLDT_UINT, &p->job_exp, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT64, &p->base_exp, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 8, SQLDT_UINT64, &p->job_exp, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 9, SQLDT_INT, &p->zeny, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 10, SQLDT_SHORT, &p->str, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 11, SQLDT_SHORT, &p->agi, 0, NULL, NULL)
@@ -1208,11 +1208,11 @@ int char_mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_every
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 31, SQLDT_SHORT, &p->hair_color, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 32, SQLDT_SHORT, &p->clothes_color, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 33, SQLDT_SHORT, &p->body, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 34, SQLDT_SHORT, &p->weapon, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 35, SQLDT_SHORT, &p->shield, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 36, SQLDT_SHORT, &p->head_top, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 37, SQLDT_SHORT, &p->head_mid, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 38, SQLDT_SHORT, &p->head_bottom, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 34, SQLDT_SHORT, &p->look.weapon, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 35, SQLDT_SHORT, &p->look.shield, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 36, SQLDT_SHORT, &p->look.head_top, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 37, SQLDT_SHORT, &p->look.head_mid, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 38, SQLDT_SHORT, &p->look.head_bottom, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 39, SQLDT_STRING, &last_map, sizeof(last_map), NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 40, SQLDT_SHORT, &p->last_point.x, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 41, SQLDT_SHORT, &p->last_point.y, 0, NULL, NULL)
@@ -1226,7 +1226,7 @@ int char_mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_every
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 49, SQLDT_INT, &p->fame, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 50, SQLDT_USHORT, &p->rename, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 51, SQLDT_UINT32, &p->delete_date, 0, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 52, SQLDT_SHORT, &p->robe, 0, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 52, SQLDT_SHORT, &p->look.robe, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 53, SQLDT_USHORT, &p->slotchange, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 54, SQLDT_UINT, &opt, 0, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 55, SQLDT_UCHAR, &p->font, 0, NULL, NULL)
@@ -1909,10 +1909,23 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p) {
return 0;
buf = WBUFP(buffer,0);
+
WBUFL(buf,0) = p->char_id;
- WBUFL(buf,4) = min(p->base_exp, INT32_MAX);
+#if PACKETVER >= 20170830
+ WBUFQ(buf,4) = min(p->base_exp, INT64_MAX);
+ offset += 4;
+ buf = WBUFP(buffer, offset);
+#else
+ WBUFL(buf,4) = min((uint32)(p->base_exp), INT32_MAX);
+#endif
WBUFL(buf,8) = p->zeny;
- WBUFL(buf,12) = min(p->job_exp, INT32_MAX);
+#if PACKETVER >= 20170830
+ WBUFQ(buf,12) = min(p->job_exp, INT64_MAX);
+ offset += 4;
+ buf = WBUFP(buffer, offset);
+#else
+ WBUFL(buf,12) = min((uint32)(p->job_exp), INT32_MAX);
+#endif
WBUFL(buf,16) = p->job_level;
WBUFL(buf,20) = 0; // probably opt1
WBUFL(buf,24) = 0; // probably opt2
@@ -1942,14 +1955,14 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p) {
//When the weapon is sent and your option is riding, the client crashes on login!?
// FIXME[Haru]: is OPTION_HANBOK intended to be part of this list? And if it is, should the list also include other OPTION_ costumes?
- WBUFW(buf,56) = (p->option&(OPTION_RIDING|OPTION_DRAGON|OPTION_WUG|OPTION_WUGRIDER|OPTION_MADOGEAR|OPTION_HANBOK)) ? 0 : p->weapon;
+ WBUFW(buf,56) = (p->option&(OPTION_RIDING|OPTION_DRAGON|OPTION_WUG|OPTION_WUGRIDER|OPTION_MADOGEAR|OPTION_HANBOK)) ? 0 : p->look.weapon;
WBUFW(buf,58) = p->base_level;
WBUFW(buf,60) = min(p->skill_point, INT16_MAX);
- WBUFW(buf,62) = p->head_bottom;
- WBUFW(buf,64) = p->shield;
- WBUFW(buf,66) = p->head_top;
- WBUFW(buf,68) = p->head_mid;
+ WBUFW(buf,62) = p->look.head_bottom;
+ WBUFW(buf,64) = p->look.shield;
+ WBUFW(buf,66) = p->look.head_top;
+ WBUFW(buf,68) = p->look.head_mid;
WBUFW(buf,70) = p->hair_color;
WBUFW(buf,72) = p->clothes_color;
memcpy(WBUFP(buf,74), p->name, NAME_LENGTH);
@@ -1973,7 +1986,7 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p) {
offset += 4;
#endif
#if PACKETVER >= 20110111
- WBUFL(buf,128) = p->robe;
+ WBUFL(buf,128) = p->look.robe;
offset += 4;
#endif
#if PACKETVER != 20111116 //2011-11-16 wants 136, ask gravity.
diff --git a/src/char/int_auction.c b/src/char/int_auction.c
index 2dd65f213..05914c3a0 100644
--- a/src/char/int_auction.c
+++ b/src/char/int_auction.c
@@ -113,7 +113,7 @@ unsigned int inter_auction_create(struct auction_data *auction)
StrBuf->Printf(&buf, ",'%d'", auction->item.card[j]);
for (j = 0; j < MAX_ITEM_OPTIONS; j++)
StrBuf->Printf(&buf, ",'%d','%d'", auction->item.option[j].index, auction->item.option[j].value);
-
+
StrBuf->AppendStr(&buf, ")");
stmt = SQL->StmtMalloc(inter->sql_handle);
diff --git a/src/char/int_guild.c b/src/char/int_guild.c
index b4b4bdde4..0102f11a0 100644
--- a/src/char/int_guild.c
+++ b/src/char/int_guild.c
@@ -138,7 +138,7 @@ int inter_guild_tosql(struct guild *g,int flag)
if (g->guild_id<=0 && g->guild_id != -1) return 0;
#ifdef NOISY
- ShowInfo("Save guild request ("CL_BOLD"%d"CL_RESET" - flag 0x%x).",g->guild_id, flag);
+ ShowInfo("Save guild request ("CL_BOLD"%d"CL_RESET" - flag 0x%x).\n",g->guild_id, flag);
#endif
SQL->EscapeStringLen(inter->sql_handle, esc_name, g->name, strnlen(g->name, NAME_LENGTH));
diff --git a/src/char/int_party.c b/src/char/int_party.c
index 4b6800699..764387981 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -633,7 +633,7 @@ int mapif_parse_PartyLeave(int fd, int party_id, int account_id, int char_id)
return 0; //Member not found?
mapif->party_withdraw(party_id, account_id, char_id);
-
+
j = p->party.member[i].lv;
if (p->party.member[i].online > 0)
p->party.count--;
diff --git a/src/char/int_rodex.c b/src/char/int_rodex.c
index 1fa76e4db..c45c88eb0 100644
--- a/src/char/int_rodex.c
+++ b/src/char/int_rodex.c
@@ -200,8 +200,8 @@ static bool inter_rodex_hasnew(int char_id, int account_id)
{
int count = 0;
char *data;
-
- if (SQL_ERROR == SQL->Query(inter->sql_handle,
+
+ if (SQL_ERROR == SQL->Query(inter->sql_handle,
"SELECT count(*) FROM `%s` WHERE ("
"(`expire_date` > '%d' AND (`receiver_id` = '%d' OR `receiver_accountid` = '%d')) OR"
"(`sender_id` = '%d' AND `expire_date` <= '%d' AND `send_date` + '%d' > '%d')"
@@ -212,7 +212,7 @@ static bool inter_rodex_hasnew(int char_id, int account_id)
Sql_ShowDebug(inter->sql_handle);
return -1;
}
-
+
if (SQL_SUCCESS != SQL->NextRow(inter->sql_handle))
return false;
@@ -407,12 +407,12 @@ void mapif_parse_rodex_updatemail(int fd)
if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `is_read` = 1 WHERE `mail_id` = '%"PRId64"'", rodex_db, mail_id))
Sql_ShowDebug(inter->sql_handle);
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))
Sql_ShowDebug(inter->sql_handle);
break;
-
+
case 2: // Get Items
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);
@@ -436,7 +436,7 @@ void mapif_rodex_send(int fd, int sender_id, int receiver_id, int receiver_accou
{
Assert_retv(sender_id >= 0);
Assert_retv(receiver_id + receiver_accountid > 0);
-
+
WFIFOHEAD(fd,15);
WFIFOW(fd,0) = 0x3897;
WFIFOL(fd,2) = sender_id;
diff --git a/src/common/mmo.h b/src/common/mmo.h
index 9bb9837ab..fe67d6efb 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -593,7 +593,7 @@ struct mmo_charstatus {
int mother;
int child;
- unsigned int base_exp,job_exp;
+ uint64 base_exp, job_exp;
int zeny;
int bank_vault;
@@ -612,10 +612,14 @@ struct mmo_charstatus {
int spear_faith, spear_calls;
int sword_faith, sword_calls;
- short weapon; // enum weapon_type
- short shield; // view-id
- short head_top,head_mid,head_bottom;
- short robe;
+ struct {
+ short weapon; ///< Weapon view sprite id.
+ short shield; ///< Shield view sprite id.
+ short head_top; ///< Top headgear view sprite id.
+ short head_mid; ///< Middle headgear view sprite id.
+ short head_bottom; ///< Bottom headgear view sprite id.
+ short robe; ///< Robe view sprite id.
+ } look;
char name[NAME_LENGTH];
int base_level, job_level;
@@ -1132,6 +1136,7 @@ enum ammo_type {
A_KUNAI, //7
A_CANNONBALL, //8
A_THROWWEAPON, //9
+ MAX_AMMO_TYPE
};
enum e_char_server_type {
diff --git a/src/common/utils.c b/src/common/utils.c
index bcfc153e3..0d76a885e 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -359,6 +359,28 @@ unsigned int get_percentage(const unsigned int A, const unsigned int B)
return (unsigned int)floor(result);
}
+/// calculates the value of A / B, in percent (rounded down)
+uint64 get_percentage64(const uint64 A, const uint64 B)
+{
+ double result;
+
+ if( B == 0 )
+ {
+ ShowError("get_percentage(): division by zero! (A=%"PRIu64",B=%"PRIu64")\n", A, B);
+ return ~0U;
+ }
+
+ result = 100 * ((double)A / (double)B);
+
+ if( result > UINT_MAX )
+ {
+ ShowError("get_percentage(): result percentage too high! (A=%"PRIu64",B=%"PRIu64",result=%g)\n", A, B, result);
+ return UINT_MAX;
+ }
+
+ return (uint64)floor(result);
+}
+
/**
* Applies a percentual rate modifier.
*
diff --git a/src/common/utils.h b/src/common/utils.h
index 9d3c323ef..e77c63cf2 100644
--- a/src/common/utils.h
+++ b/src/common/utils.h
@@ -44,6 +44,7 @@ bool exists(const char* filename);
/// calculates the value of A / B, in percent (rounded down)
unsigned int get_percentage(const unsigned int A, const unsigned int B);
+uint64 get_percentage64(const uint64 A, const uint64 B);
int64 apply_percentrate64(int64 value, int rate, int maxrate);
int apply_percentrate(int value, int rate, int maxrate);
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index 55712cc69..6147285e9 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -50,7 +50,7 @@ MAP_OBJ = $(addprefix obj_sql/, $(patsubst %c,%o,$(MAP_C)))
MAP_H = atcommand.h battle.h battleground.h buyingstore.h channel.h chat.h \
chrif.h clif.h date.h duel.h elemental.h guild.h homunculus.h HPMmap.h \
instance.h intif.h irc-bot.h itemdb.h log.h mail.h map.h mapreg.h \
- mercenary.h mob.h npc.h packets.h packets_struct.h party.h path.h \
+ mercenary.h mob.h npc.h packets.h packets_keys.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 =
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 872c31330..7b2c0f8b2 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -1723,6 +1723,8 @@ ACMD(bodystyle)
&& (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
) {
clif->message(fd, msg_fd(fd, 35)); // This job has no alternate body styles.
return false;
diff --git a/src/map/battle.c b/src/map/battle.c
index b5ad62407..9c6e67694 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -875,7 +875,7 @@ int64 battle_calc_masteryfix(struct block_list *src, struct block_list *target,
}
#else
if( skill_id != ASC_BREAKER && weapon ) // Adv Katar Mastery is does not applies to ASC_BREAKER, but other masteries DO apply >_>
- if( sd->status.weapon == W_KATAR && (skill2_lv=pc->checkskill(sd,ASC_KATAR)) > 0 )
+ if (sd->weapontype == W_KATAR && (skill2_lv=pc->checkskill(sd,ASC_KATAR)) > 0)
damage += damage * (10 + 2 * skill2_lv) / 100;
#endif
@@ -2032,7 +2032,7 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block
skillratio += 100 + 100 * skill_lv + 100 * (skill_lv / 2);
break;
case RG_BACKSTAP:
- if( sd && sd->status.weapon == W_BOW && battle_config.backstab_bow_penalty )
+ if (sd != NULL && sd->weapontype == W_BOW && battle_config.backstab_bow_penalty)
skillratio += (200 + 40 * skill_lv) / 2;
else
skillratio += 200 + 40 * skill_lv;
@@ -2053,10 +2053,10 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block
case CR_HOLYCROSS:
{
int ratio = 35 * skill_lv;
- #ifdef RENEWAL
- if(sd && sd->status.weapon == W_2HSPEAR)
- ratio *= 2;
- #endif
+#ifdef RENEWAL
+ if (sd != NULL && sd->weapontype == W_2HSPEAR)
+ ratio *= 2;
+#endif
skillratio += ratio;
break;
}
@@ -2714,7 +2714,7 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block
skillratio += 2*sc->data[SC_TRUESIGHT]->val1;
if( sc->data[SC_LKCONCENTRATION] )
skillratio += sc->data[SC_LKCONCENTRATION]->val2;
- if( sd && sd->status.weapon == W_KATAR && (i=pc->checkskill(sd,ASC_KATAR)) > 0 )
+ if (sd != NULL && sd->weapontype == W_KATAR && (i=pc->checkskill(sd,ASC_KATAR)) > 0)
skillratio += skillratio * (10 + 2 * i) / 100;
#endif
if( (!skill_id || skill_id == KN_AUTOCOUNTER) && sc->data[SC_CRUSHSTRIKE] ){
@@ -3023,7 +3023,7 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
status_change_end(bl,SC_DEEP_SLEEP,INVALID_TIMER);
}
if( s_sd && t_sd && sc->data[SC_COLD] && flag&BF_WEAPON ){
- switch(s_sd->status.weapon){
+ switch (s_sd->weapontype) {
case W_MACE:
case W_2HMACE:
case W_1HAXE:
@@ -3165,7 +3165,7 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
if( (sce = sc->data[SC_STONEHARDSKIN]) && flag&(BF_SHORT|BF_WEAPON) && damage > 0 ) {
sce->val2 -= (int)cap_value(damage,INT_MIN,INT_MAX);
if( src->type == BL_PC ) {
- if (s_sd && s_sd->status.weapon != W_BOW)
+ if (s_sd != NULL && s_sd->weapontype != W_BOW)
skill->break_equip(src, EQP_WEAPON, 3000, BCT_SELF);
} else
skill->break_equip(src, EQP_WEAPON, 3000, BCT_SELF);
@@ -4575,8 +4575,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
if(!skill_id) {
//Skills ALWAYS use ONLY your right-hand weapon (tested on Aegis 10.2)
- if (sd && sd->weapontype1 == 0 && sd->weapontype2 > 0)
- {
+ if (sd && sd->weapontype1 == W_FIST && sd->weapontype2 != W_FIST) {
flag.rh=0;
flag.lh=1;
}
@@ -4649,7 +4648,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
short cri = sstatus->cri;
if (sd != NULL) {
// if show_katar_crit_bonus is enabled, it already done the calculation in status.c
- if (!battle_config.show_katar_crit_bonus && sd->status.weapon == W_KATAR) {
+ if (!battle_config.show_katar_crit_bonus && sd->weapontype == W_KATAR) {
cri <<= 1;
}
@@ -4822,8 +4821,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
if ((temp = pc->checkskill(sd,BS_WEAPONRESEARCH)) > 0)
hitrate += hitrate * ( 2 * temp ) / 100;
- if( (sd->status.weapon == W_1HSWORD || sd->status.weapon == W_DAGGER) &&
- (temp = pc->checkskill(sd, GN_TRAINING_SWORD))>0 )
+ if ((sd->weapontype == W_1HSWORD || sd->weapontype == W_DAGGER) && (temp = pc->checkskill(sd, GN_TRAINING_SWORD)) > 0)
hitrate += 3 * temp;
}
@@ -4957,7 +4955,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
(!skill_id && sc && sc->data[SC_HLIF_CHANGE]?4:0)|
(sc && sc->data[SC_WEAPONPERFECT]?8:0);
if (flag.arrow && sd)
- switch(sd->status.weapon) {
+ switch (sd->weapontype) {
case W_BOW:
case W_REVOLVER:
case W_GATLING:
@@ -5583,7 +5581,8 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
if(wd.damage < 1) wd.damage = 1;
if(wd.damage2 < 1) wd.damage2 = 1;
#endif
- } else if(sd->status.weapon == W_KATAR && !skill_id) { //Katars (offhand damage only applies to normal attacks, tested on Aegis 10.2)
+ } else if (sd->weapontype == W_KATAR && skill_id == 0) {
+ // Katars (offhand damage only applies to normal attacks, tested on Aegis 10.2)
temp = pc->checkskill(sd,TF_DOUBLE);
wd.damage2 = wd.damage * (1 + (temp * 2))/100;
@@ -5702,7 +5701,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
}
//Reject Sword bugreport:4493 by Daegaladh
if (wd.damage != 0 && tsc != NULL && tsc->data[SC_SWORDREJECT] != NULL
- && (sd == NULL || sd->weapontype1 == W_DAGGER || sd->weapontype1 == W_1HSWORD || sd->status.weapon == W_2HSWORD)
+ && (sd == NULL || sd->weapontype1 == W_DAGGER || sd->weapontype1 == W_1HSWORD || sd->weapontype == W_2HSWORD)
&& rnd()%100 < tsc->data[SC_SWORDREJECT]->val2
) {
ATK_RATER(50);
@@ -6100,9 +6099,9 @@ bool battle_check_arrows(struct map_session_data *sd)
}
//Ammo check by Ishizu-chan
if (sd->inventory_data[index]) {
- switch (sd->status.weapon) {
+ switch (sd->weapontype) {
case W_BOW:
- if (sd->inventory_data[index]->look != A_ARROW) {
+ if (sd->inventory_data[index]->subtype != A_ARROW) {
clif->arrow_fail(sd, 0);
return false;
}
@@ -6111,13 +6110,13 @@ bool battle_check_arrows(struct map_session_data *sd)
case W_RIFLE:
case W_GATLING:
case W_SHOTGUN:
- if (sd->inventory_data[index]->look != A_BULLET) {
+ if (sd->inventory_data[index]->subtype != A_BULLET) {
clif->skill_fail(sd, 0, USESKILL_FAIL_NEED_MORE_BULLET, 0);
return false;
}
break;
case W_GRENADE:
- if (sd->inventory_data[index]->look != A_GRENADE) {
+ if (sd->inventory_data[index]->subtype != A_GRENADE) {
clif->skill_fail(sd, 0, USESKILL_FAIL_NEED_MORE_BULLET, 0);
return false;
}
@@ -6161,7 +6160,7 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
if (sd)
{
- sd->state.arrow_atk = (sd->status.weapon == W_BOW || (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE));
+ sd->state.arrow_atk = (sd->weapontype == W_BOW || (sd->weapontype >= W_REVOLVER && sd->weapontype <= W_GRENADE));
if (sd->state.arrow_atk)
{
if (battle->check_arrows(sd) == false)
@@ -6187,7 +6186,7 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
return ATK_BLOCK;
}
}
- if( tsc && tsc->data[SC_BLADESTOP_WAIT] && !is_boss(src) && (src->type == BL_PC || tsd == NULL || distance_bl(src, target) <= (tsd->status.weapon == W_FIST ? 1 : 2)) )
+ if( tsc && tsc->data[SC_BLADESTOP_WAIT] && !is_boss(src) && (src->type == BL_PC || tsd == NULL || distance_bl(src, target) <= (tsd->weapontype == W_FIST ? 1 : 2)) )
{
uint16 skill_lv = tsc->data[SC_BLADESTOP_WAIT]->val1;
int duration = skill->get_time2(MO_BLADESTOP,skill_lv);
@@ -7097,6 +7096,7 @@ static const struct battle_data {
{ "vending_over_max", &battle_config.vending_over_max, 1, 0, 1, },
{ "show_steal_in_same_party", &battle_config.show_steal_in_same_party, 0, 0, 1, },
{ "party_hp_mode", &battle_config.party_hp_mode, 0, 0, 1, },
+ { "party_change_leader_same_map", &battle_config.party_change_leader_same_map, 0, 0, 1, },
{ "show_party_share_picker", &battle_config.party_show_share_picker, 1, 0, 1, },
{ "show_picker_item_type", &battle_config.show_picker_item_type, 112, 0, INT_MAX, },
{ "party_update_interval", &battle_config.party_update_interval, 1000, 100, INT_MAX, },
diff --git a/src/map/battle.h b/src/map/battle.h
index e6129ca7c..4a63887c4 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -298,6 +298,7 @@ struct Battle_Config {
int show_steal_in_same_party;
int party_share_type;
int party_hp_mode;
+ int party_change_leader_same_map;
int party_show_share_picker;
int show_picker_item_type;
int attack_attr_none;
@@ -545,7 +546,7 @@ struct Battle_Config {
int player_warp_keep_direction;
int atcommand_levelup_events; // Enable atcommands trigger level up events for NPCs
-
+
int bow_unequip_arrow;
int max_summoner_parameter; // Summoner Max Stats
diff --git a/src/map/clif.c b/src/map/clif.c
index 28b20c9e2..de0f0573f 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -679,7 +679,7 @@ void clif_authok(struct map_session_data *sd)
p.font = sd->status.font;
#endif
// Some clients smaller than 20160330 cant be tested [4144]
-#if PACKETVER >= 20141016 && PACKETVER < 20160330
+#if PACKETVER >= 20141022 && PACKETVER < 20160330
p.sex = sd->status.sex;
#endif
clif->send(&p,sizeof(p),&sd->bl,SELF);
@@ -888,8 +888,8 @@ void clif_get_weapon_view(struct map_session_data* sd, unsigned short *rhand, un
}
#if PACKETVER < 4
- *rhand = sd->status.weapon;
- *lhand = sd->status.shield;
+ *rhand = sd->status.look.weapon;
+ *lhand = sd->status.look.shield;
#else
if (sd->equip_index[EQI_HAND_R] >= 0 &&
sd->inventory_data[sd->equip_index[EQI_HAND_R]])
@@ -1491,8 +1491,8 @@ bool clif_spawn(struct block_list *bl)
}
if (sd->charm_type != CHARM_TYPE_NONE && sd->charm_count > 0)
clif->spiritcharm(sd);
- if (sd->status.robe)
- clif->refreshlook(bl,bl->id,LOOK_ROBE,sd->status.robe,AREA);
+ if (sd->status.look.robe != 0)
+ clif->refreshlook(bl, bl->id, LOOK_ROBE, sd->status.look.robe, AREA);
}
break;
case BL_MOB:
@@ -2414,9 +2414,9 @@ void clif_addcards2(unsigned short *cards, struct item* item) {
int clif_add_item_options(struct ItemOptions *buf, const struct item *it)
{
int i = 0, j = 0, total_options = 0;
-
+
nullpo_ret(buf);
-
+
// Append the buffer with existing options first.
for (i = 0; i < MAX_ITEM_OPTIONS; i++) {
if (it->option[i].index) {
@@ -2433,7 +2433,7 @@ void clif_addcards2(unsigned short *cards, struct item* item) {
WBUFW(buf, j * 5 + 2) = 0;
WBUFB(buf, j * 5 + 4) = 0;
}
-
+
return total_options;
}
@@ -2488,7 +2488,7 @@ void clif_additem(struct map_session_data *sd, int n, int amount, int fail)
#endif
#if PACKETVER >= 20160921
p.favorite = sd->status.inventory[n].favorite;
- p.look = sd->inventory_data[n]->look;
+ p.look = sd->inventory_data[n]->view_sprite;
#endif
}
p.result = (unsigned char)fail;
@@ -2597,7 +2597,7 @@ void clif_item_equip(short idx, struct EQUIPITEM_INFO *p, struct item *it, struc
#endif
#if PACKETVER >= 20100629
- p->wItemSpriteNumber = (id->equip&EQP_VISIBLE) ? id->look : 0;
+ p->wItemSpriteNumber = (id->equip&EQP_VISIBLE) ? id->view_sprite : 0;
#endif
#if PACKETVER >= 20120925
@@ -3035,12 +3035,12 @@ void clif_updatestatus(struct map_session_data *sd,int type)
break;
case SP_BASEEXP:
WFIFOW(fd,0)=0xb1;
- WFIFOL(fd,4)=sd->status.base_exp;
+ WFIFOL(fd,4)=(uint32)(sd->status.base_exp);
len = packet_len(0xb1);
break;
case SP_JOBEXP:
WFIFOW(fd,0)=0xb1;
- WFIFOL(fd,4)=sd->status.job_exp;
+ WFIFOL(fd,4)=(uint32)(sd->status.job_exp);
len = packet_len(0xb1);
break;
case SP_NEXTBASEEXP:
@@ -3183,7 +3183,9 @@ void clif_changelook(struct block_list *bl,int type,int val)
struct status_change* sc;
struct view_data* vd;
enum send_target target = AREA;
+#if PACKETVER >= 4
int val2 = 0;
+#endif
nullpo_retv(bl);
sd = BL_CAST(BL_PC, bl);
@@ -3527,7 +3529,7 @@ void clif_equipitemack(struct map_session_data *sd,int n,int pos,enum e_EQUIP_IT
p.wearLocation = pos;
#if PACKETVER >= 20100629
if (result == EIA_SUCCESS && sd->inventory_data[n]->equip&EQP_VISIBLE)
- p.wItemSpriteNumber = sd->inventory_data[n]->look;
+ p.wItemSpriteNumber = sd->inventory_data[n]->view_sprite;
else
p.wItemSpriteNumber = 0;
#endif
@@ -4309,8 +4311,8 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl) {
clif->specialeffect_single(bl,421,sd->fd);
if (tsd->bg_id != 0 && map->list[tsd->bl.m].flag.battleground)
clif->sendbgemblem_single(sd->fd,tsd);
- if (tsd->status.robe)
- clif->refreshlook(&sd->bl,bl->id,LOOK_ROBE,tsd->status.robe,SELF);
+ if (tsd->status.look.robe != 0)
+ clif->refreshlook(&sd->bl, bl->id, LOOK_ROBE, tsd->status.look.robe, SELF);
}
break;
case BL_MER: // Devotion Effects
@@ -6402,7 +6404,7 @@ void clif_vendinglist(struct map_session_data* sd, unsigned int id, struct s_ven
// [4144] date 20160921 not confirmend. Can be bigger or smaller
#if PACKETVER >= 20160921
WFIFOL(fd, offset + 47 + i * item_length) = pc->item_equippoint(sd, data);
- WFIFOW(fd, offset + 51 + i * item_length) = data->look;
+ WFIFOW(fd, offset + 51 + i * item_length) = data->view_sprite;
#endif
}
WFIFOSET(fd,WFIFOW(fd,2));
@@ -9449,8 +9451,8 @@ void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) {
// Character Looks
#if PACKETVER < 4
- clif->changelook(&sd->bl,LOOK_WEAPON,sd->status.weapon);
- clif->changelook(&sd->bl,LOOK_SHIELD,sd->status.shield);
+ clif->changelook(&sd->bl, LOOK_WEAPON, sd->status.look.weapon);
+ clif->changelook(&sd->bl, LOOK_SHIELD, sd->status.look.shield);
#else
clif->changelook(&sd->bl,LOOK_WEAPON,0);
#endif
@@ -19344,7 +19346,7 @@ void clif_parse_rodex_checkname(int fd, struct map_session_data *sd)
int char_id = 0, base_level = 0;
short class = 0;
char name[NAME_LENGTH];
-
+
safestrncpy(name, rPacket->Name, NAME_LENGTH);
rodex->check_player(sd, name, &base_level, &char_id, &class);
@@ -19547,7 +19549,7 @@ void clif_rodex_read_mail(struct map_session_data *sd, int8 opentype, struct rod
nullpo_retv(sd);
nullpo_retv(msg);
-
+
fd = sd->fd;
body_len = (int)strlen(msg->body) + 1;
size = sizeof(*sPacket);
@@ -19624,7 +19626,7 @@ void clif_parse_rodex_request_zeny(int fd, struct map_session_data *sd) __attrib
void clif_parse_rodex_request_zeny(int fd, struct map_session_data *sd)
{
const struct PACKET_CZ_REQ_ZENY_FROM_MAIL *rPacket = RFIFOP(fd, 0);
-
+
rodex->get_zeny(sd, rPacket->opentype, rPacket->MailID);
}
@@ -19665,7 +19667,7 @@ void clif_rodex_request_items(struct map_session_data *sd, int8 opentype, int64
nullpo_retv(sd);
fd = sd->fd;
-
+
WFIFOHEAD(fd, sizeof(*sPacket));
sPacket = WFIFOP(fd, 0);
sPacket->PacketType = rodexgetitem;
@@ -19679,7 +19681,7 @@ void clif_rodex_request_items(struct map_session_data *sd, int8 opentype, int64
void clif_rodex_icon(int fd, bool show)
{
// packet add date is 20140716, but from players reports it wrong. Using closer known correct version.
-#if PACKETVER >= 20150513
+#if PACKETVER >= 20141112
WFIFOHEAD(fd, 3);
WFIFOW(fd, 0) = rodexicon;
WFIFOB(fd, 2) = (show == true ? 1 : 0);
@@ -19926,9 +19928,10 @@ void packetdb_loaddb(void) {
memset(packet_db,0,sizeof(packet_db));
#define packet(id, size, ...) packetdb_addpacket((id), (size), ##__VA_ARGS__, 0xFFFF)
-#define packetKeys(a,b,c) do { clif->cryptKey[0] = (a); clif->cryptKey[1] = (b); clif->cryptKey[2] = (c); } while(0)
#include "packets.h" /* load structure data */
#undef packet
+#define packetKeys(a,b,c) do { clif->cryptKey[0] = (a); clif->cryptKey[1] = (b); clif->cryptKey[2] = (c); } while(0)
+#include "packets_keys.h"
#undef packetKeys
}
void clif_bc_ready(void) {
diff --git a/src/map/clif.h b/src/map/clif.h
index ac8cc8d35..73cb72128 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -385,6 +385,7 @@ enum clif_messages {
MSG_SECONDS_UNTIL_USE = 0x746, ///< %d seconds left until you can use
MSG_NPC_WORK_IN_PROGRESS = 0x783, // FIXME[Haru]: This seems to be 0x784 in the msgstringtable files I found.
MSG_REINS_CANT_USE_MOUNTED = 0x78b, // FIXME[Haru]: This seems to be 0x785 in the msgstringtalbe files I found.
+ MSG_PARTY_LEADER_SAMEMAP = 0x82e, //< It is only possible to change the party leader while on the same map.
};
/**
diff --git a/src/map/guild.c b/src/map/guild.c
index 838df3943..092e066c3 100644
--- a/src/map/guild.c
+++ b/src/map/guild.c
@@ -1823,7 +1823,7 @@ int guild_gm_change(int guild_id, int char_id)
nullpo_ret(g);
ARR_FIND(0, MAX_GUILD, i, g->member[i].char_id == char_id);
-
+
if (i == MAX_GUILD ) {
// Not part of the guild
return 0;
diff --git a/src/map/intif.c b/src/map/intif.c
index c33fbe55f..1458fc710 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -2508,7 +2508,7 @@ void intif_parse_RodexNotifications(int fd)
/// Updates a mail
/// flag:
/// 0 - user Read
-/// 1 - user got Zeny
+/// 1 - user got Zeny
/// 2 - user got Items
/// 3 - delete
int intif_rodex_updatemail(int64 mail_id, int8 flag)
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index 2b0847e1a..7fedb19ae 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -1336,11 +1336,11 @@ void itemdb_read_options(void)
if (!libconfig->load_file(&item_options_db, filepath))
return;
-
+
#ifdef ENABLE_CASE_CHECK
script->parser_current_file = filepath;
#endif // ENABLE_CASE_CHECK
-
+
if ((ito=libconfig->setting_get_member(item_options_db.root, "item_options_db")) == NULL) {
ShowError("itemdb_read_options: '%s' could not be loaded.\n", filepath);
libconfig->destroy(&item_options_db);
@@ -1399,7 +1399,7 @@ void itemdb_read_options(void)
ShowError("itemdb_read_options: Script code not found for entry %s (Id: %d) in '%s', skipping...\n", str, t_opt.index, filepath);
continue;
}
-
+
/* Set Script */
t_opt.script = *str ? script->parse(str, filepath, t_opt.index, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
@@ -1416,11 +1416,11 @@ void itemdb_read_options(void)
count++;
}
-
+
#ifdef ENABLE_CASE_CHECK
script->parser_current_file = NULL;
#endif // ENABLE_CASE_CHECK
-
+
libconfig->destroy(&item_options_db);
VECTOR_CLEAR(duplicate_id);
@@ -1638,9 +1638,9 @@ int itemdb_gendercheck(struct item_data *id)
return 1;
if (id->nameid == WEDDING_RING_F) //Bride Ring
return 0;
- if (id->look == W_MUSICAL && id->type == IT_WEAPON) //Musical instruments are always male-only
+ if (id->subtype == W_MUSICAL && id->type == IT_WEAPON) //Musical instruments are always male-only
return 1;
- if (id->look == W_WHIP && id->type == IT_WEAPON) //Whips are always female-only
+ if (id->subtype == W_WHIP && id->type == IT_WEAPON) //Whips are always female-only
return 0;
return (battle_config.ignore_items_gender) ? 2 : id->sex;
@@ -1788,10 +1788,14 @@ int itemdb_validate_entry(struct item_data *entry, int n, const char *source) {
memset(&entry->stack, '\0', sizeof(entry->stack));
}
- if (entry->type == IT_WEAPON && (entry->look < 0 || entry->look >= MAX_SINGLE_WEAPON_TYPE)) {
- ShowWarning("itemdb_validate_entry: Invalid View for weapon items. View value %d for item %d (%s) in '%s', defaulting to 1.\n",
- entry->look, entry->nameid, entry->jname, source);
- entry->look = 1;
+ if (entry->type == IT_WEAPON && (entry->subtype <= 0 || entry->subtype >= MAX_SINGLE_WEAPON_TYPE)) {
+ ShowWarning("itemdb_validate_entry: Invalid View for weapon items. View value %d for item %d (%s) in '%s', defaulting to W_DAGGER.\n",
+ entry->subtype, entry->nameid, entry->jname, source);
+ entry->subtype = W_DAGGER;
+ } else if (entry->type == IT_AMMO && (entry->subtype <= 0 || entry->subtype >= MAX_AMMO_TYPE)) {
+ ShowWarning("itemdb_validate_entry: Invalid View for ammunition items. View value %d for item %d (%s) in '%s', defaulting to A_ARROW.\n",
+ entry->subtype, entry->nameid, entry->jname, source);
+ entry->subtype = A_ARROW;
}
entry->wlv = cap_value(entry->wlv, REFINE_TYPE_ARMOR, REFINE_TYPE_MAX);
@@ -1803,10 +1807,10 @@ int itemdb_validate_entry(struct item_data *entry, int n, const char *source) {
if( entry->type != IT_ARMOR && entry->type != IT_WEAPON && !entry->flag.no_refine )
entry->flag.no_refine = 1;
-
+
if (entry->type != IT_ARMOR && entry->type != IT_WEAPON && !entry->flag.no_options)
entry->flag.no_options = 1;
-
+
if (entry->flag.available != 1) {
entry->flag.available = 1;
entry->view_id = 0;
@@ -1986,6 +1990,14 @@ int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const char *
else if( !inherit )
id.type = IT_ETC;
+ if (itemdb->lookup_const(it, "Subtype", &i32) && i32 >= 0) {
+ if (id.type == IT_WEAPON || id.type == IT_AMMO)
+ id.subtype = i32;
+ else
+ ShowWarning("itemdb_readdb_libconfig_sub: Field 'Subtype' is only allowed for IT_WEAPON or IT_AMMO (Item #%d: %s). Ignoring.\n",
+ id.nameid, id.name);
+ }
+
if( itemdb->lookup_const(it, "Buy", &i32) )
id.value_buy = i32;
else if( !inherit )
@@ -2025,7 +2037,7 @@ int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const char *
itemdb->jobmask2mapid(id.class_base, UINT64_MAX);
}
- if( itemdb->lookup_const(it, "Upper", &i32) && i32 >= 0 )
+ if (itemdb->lookup_const_mask(it, "Upper", &i32) && i32 >= 0)
id.class_upper = (unsigned int)i32;
else if( !inherit )
id.class_upper = ITEMUPPER_ALL;
@@ -2035,7 +2047,7 @@ int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const char *
else if( !inherit )
id.sex = 2;
- if( itemdb->lookup_const(it, "Loc", &i32) && i32 >= 0 )
+ if (itemdb->lookup_const_mask(it, "Loc", &i32) && i32 >= 0)
id.equip = i32;
if( itemdb->lookup_const(it, "WeaponLv", &i32) && i32 >= 0 )
@@ -2054,12 +2066,27 @@ int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const char *
if( (t = libconfig->setting_get_member(it, "Refine")) )
id.flag.no_refine = libconfig->setting_get_bool(t) ? 0 : 1;
-
+
if ((t = libconfig->setting_get_member(it, "DisableOptions")))
id.flag.no_options = libconfig->setting_get_bool(t) ? 1 : 0;
- if( itemdb->lookup_const(it, "View", &i32) && i32 >= 0 )
- id.look = i32;
+ if (itemdb->lookup_const(it, "ViewSprite", &i32) && i32 >= 0)
+ id.view_sprite = i32;
+
+ if (itemdb->lookup_const(it, "View", &i32) && i32 >= 0) { // TODO: Remove (Deprecated - 2016-09-04 [Haru])
+ if ((id.type == IT_WEAPON || id.type == IT_AMMO) && id.subtype == 0) {
+ ShowWarning("itemdb_readdb_libconfig_sub: The 'View' field is deprecated. Please rename it to 'Subtype' (or 'ViewSprite'). (Item #%d: %s)\n",
+ id.nameid, id.name);
+ id.subtype = i32;
+ } else if ((id.type != IT_WEAPON && id.type != IT_AMMO) && id.view_sprite == 0) {
+ ShowWarning("itemdb_readdb_libconfig_sub: The 'View' field is deprecated. Please rename it to 'ViewSprite' (or 'Subtype'). (Item #%d: %s)\n",
+ id.nameid, id.name);
+ id.view_sprite = i32;
+ } else {
+ ShowWarning("itemdb_readdb_libconfig_sub: The 'View' field is deprecated. Please rename it to 'Subtype' or 'ViewSprite'. (Item #%d: %s)\n",
+ id.nameid, id.name);
+ }
+ }
if( (t = libconfig->setting_get_member(it, "BindOnEquip")) )
id.flag.bindonequip = libconfig->setting_get_bool(t) ? 1 : 0;
@@ -2197,21 +2224,76 @@ int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const char *
bool itemdb_lookup_const(const struct config_setting_t *it, const char *name, int *value)
{
+ const char *str = NULL;
+
nullpo_retr(false, name);
nullpo_retr(false, value);
- if (libconfig->setting_lookup_int(it, name, value))
- {
+
+ if (libconfig->setting_lookup_int(it, name, value)) {
return true;
}
- else
- {
+
+ if (libconfig->setting_lookup_string(it, name, &str)) {
+ if (*str && script->get_constant(str, value))
+ return true;
+ }
+
+ return false;
+}
+
+bool itemdb_lookup_const_mask(const struct config_setting_t *it, const char *name, int *value)
+{
+ const struct config_setting_t *t = NULL;
+
+ nullpo_retr(false, it);
+ nullpo_retr(false, name);
+ nullpo_retr(false, value);
+
+ if ((t = libconfig->setting_get_member(it, name)) == NULL) {
+ return false;
+ }
+
+ if (config_setting_is_scalar(t)) {
const char *str = NULL;
- if (libconfig->setting_lookup_string(it, name, &str))
- {
- if (*str && script->get_constant(str, value))
+
+ if (config_setting_is_number(t)) {
+ *value = libconfig->setting_get_int(t);
+ return true;
+ }
+
+ if ((str = libconfig->setting_get_string(t)) != NULL) {
+ int i32 = -1;
+ if (script->get_constant(str, &i32) && i32 >= 0) {
+ *value = i32;
return true;
+ }
+ }
+
+ return false;
+ }
+
+ if (config_setting_is_aggregate(t) && libconfig->setting_length(t) >= 1) {
+ const struct config_setting_t *elem = NULL;
+ int i = 0;
+
+ *value = 0;
+
+ while ((elem = libconfig->setting_get_elem(t, i++)) != NULL) {
+ const char *str = libconfig->setting_get_string(elem);
+ int i32 = -1;
+
+ if (str == NULL)
+ return false;
+
+ if (!script->get_constant(str, &i32) || i32 < 0)
+ return false;
+
+ *value |= i32;
}
+
+ return true;
}
+
return false;
}
@@ -2369,10 +2451,10 @@ int itemdb_final_sub(union DBKey key, struct DBData *data, va_list ap)
int itemdb_options_final_sub(union DBKey key, struct DBData *data, va_list ap)
{
struct item_option *ito = DB->data2ptr(data);
-
+
if (ito->script != NULL)
script->free_code(ito->script);
-
+
return 0;
}
@@ -2637,4 +2719,5 @@ void itemdb_defaults(void) {
itemdb->id2combo = itemdb_id2combo;
itemdb->is_item_usable = itemdb_is_item_usable;
itemdb->lookup_const = itemdb_lookup_const;
+ itemdb->lookup_const_mask = itemdb_lookup_const_mask;
}
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 35cd154cb..d2d3b6c73 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -337,7 +337,7 @@ enum item_class_upper {
ITEMUPPER_UPPER = 0x02,
ITEMUPPER_BABY = 0x04,
ITEMUPPER_THIRD = 0x08,
- ITEMUPPER_THURDUPPER = 0x10,
+ ITEMUPPER_THIRDUPPER = 0x10,
ITEMUPPER_THIRDBABY = 0x20,
ITEMUPPER_ALL = 0x3f, // Sum of all the above
};
@@ -454,10 +454,10 @@ struct item_data {
uint16 nameid;
char name[ITEM_NAME_LENGTH],jname[ITEM_NAME_LENGTH];
- //Do not add stuff between value_buy and view_id (see how getiteminfo works)
int value_buy;
int value_sell;
int type;
+ int subtype;
int maxchance; //For logs, for external game info, for scripts: Max drop chance of this item (e.g. 0.01% , etc.. if it = 0, then monsters don't drop it, -1 denotes items sold in shops only) [Lupus]
int sex;
int equip;
@@ -466,7 +466,7 @@ struct item_data {
int def;
int range;
int slot;
- int look;
+ int view_sprite;
int elv;
int wlv;
int view_id;
@@ -474,8 +474,6 @@ struct item_data {
int elvmax;/* maximum level for this item */
int delay;
-//Lupus: I rearranged order of these fields due to compatibility with ITEMINFO script command
-// some script commands should be revised as well...
uint64 class_base[3]; ///< Specifies if the base can wear this item (split in 3 indexes per type: 1-1, 2-1, 2-2)
unsigned class_upper : 6; ///< Specifies if the upper-type can equip it (bitfield, 0x01: normal, 0x02: upper, 0x04: baby normal, 0x08: third normal, 0x10: third upper, 0x20: third baby)
struct {
@@ -524,7 +522,8 @@ struct item_data {
#define itemdb_type(n) (itemdb->search(n)->type)
#define itemdb_atk(n) (itemdb->search(n)->atk)
#define itemdb_def(n) (itemdb->search(n)->def)
-#define itemdb_look(n) (itemdb->search(n)->look)
+#define itemdb_subtype(n) (itemdb->search(n)->subtype)
+#define itemdb_sprite(n) (itemdb->search(n)->view_sprite)
#define itemdb_weight(n) (itemdb->search(n)->weight)
#define itemdb_equip(n) (itemdb->search(n)->equip)
#define itemdb_usescript(n) (itemdb->search(n)->script)
@@ -648,6 +647,7 @@ struct itemdb_interface {
struct item_combo * (*id2combo) (unsigned short id);
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);
};
#ifdef HERCULES_CORE
diff --git a/src/map/packets.h b/src/map/packets.h
index c471e8a6b..afa986346 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -18,7 +18,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-//Included directly by clif.h in packet_loaddb()
+//Included directly by clif.c in packet_loaddb()
#ifndef MAP_PACKETS_H
#define MAP_PACKETS_H
@@ -27,10 +27,6 @@
#define packet(a,b,...)
#endif
-#ifndef packetKeys
- #define packetKeys(a,b,c)
-#endif
-
/*
* packet syntax
* - packet(packet_id,length)
@@ -2997,6 +2993,40 @@ packet(0x96e,-1,clif->ackmergeitems);
// 2014 Packet Data
+// 2014-01-08cRagexe
+#if PACKETVER == 20140108
+// shuffle packets
+ 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
+#endif
+
// 2014-01-15eRagexe
#if PACKETVER == 20140115
// shuffle packets
@@ -3045,6 +3075,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x09eb,-1); // ZC_ACK_READ_RODEX
#endif
+// 2014-01-22aRagexe
+#if PACKETVER == 20140122
+// shuffle packets
+ 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
+#endif
+
// 2014-01-22aRagexeRE
#if PACKETVER >= 20140122
// new packets
@@ -3057,6 +3121,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x09f9,143); // ZC_ADD_QUEST_EX
#endif
+// 2014-01-29aRagexe
+#if PACKETVER == 20140129
+// shuffle packets
+ 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
+#endif
+
// 2014-01-29bRagexeRE
#if PACKETVER >= 20140129
// new packets
@@ -3072,37 +3170,72 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif // PACKETVER_RE
#endif
-// 2014-02-05bRagexe - Themon
-#if PACKETVER >= 20140205
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x0202,5,clif->pChangeDir,2,4);
- packet(0x07E4,6,clif->pTakeItem,2);
- packet(0x0362,6,clif->pDropItem,2,4);
- packet(0x07EC,8,clif->pMoveToKafra,2,4);
- packet(0x0364,8,clif->pMoveFromKafra,2,4);
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0802,26,clif->pPartyInvite2,2);
- packet(0x023B,26,clif->pFriendsListAdd,2);
- packet(0x0361,5,clif->pHomMenu,2,4);
- packet(0x0938,36,clif->pStoragePassword,0);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+// 2014-02-05bRagexe
+#if PACKETVER == 20140205
+// shuffle packets
+ 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
+#endif
+
+// 2014-02-12aRagexe
+#if PACKETVER == 20140212
+// shuffle packets
+ 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
#endif
// 2014-02-12aRagexeRE
@@ -3113,6 +3246,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x09e8,11,clif->pRodexOpenMailbox); // CZ_OPEN_RODEXBOX
#endif
+// 2014-02-19aRagexe
+#if PACKETVER == 20140219
+// shuffle packets
+ 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
+#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.
@@ -3125,6 +3292,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif // PACKETVER_RE
#endif
+// 2014-02-26aRagexe
+#if PACKETVER == 20140226
+// shuffle packets
+ 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
+#endif
+
// 2014-02-26aRagexeRE
#if PACKETVER >= 20140226
// new packets
@@ -3135,37 +3336,38 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
-// 2014-03-05bRagexe - Themon
-#if PACKETVER >= 20140305
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x0815,5,clif->pChangeDir,2,4);
- packet(0x0202,6,clif->pTakeItem,2);
- packet(0x0362,6,clif->pDropItem,2,4);
- packet(0x07EC,8,clif->pMoveToKafra,2,4);
- packet(0x0364,8,clif->pMoveFromKafra,2,4);
- packet(0x0436,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x0361,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x0438,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0802,26,clif->pPartyInvite2,2);
- packet(0x07E4,26,clif->pFriendsListAdd,2);
- packet(0x0934,5,clif->pHomMenu,2,4);
- packet(0x095e,36,clif->pStoragePassword,0);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0878,4,clif->pDull); // CZ_GANGSI_RANK
+// 2014-03-05aRagexe
+#if PACKETVER == 20140305
+// shuffle packets
+ 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
#endif
// 2014-03-05aRagexeRE
@@ -3189,6 +3391,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x09f4,3); // ZC_ACK_ITEM_FROM_RODEX
#endif
+// 2014-03-12dRagexe
+#if PACKETVER == 20140312
+// shuffle packets
+ 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
+#endif
+
// 2014-03-12bRagexeRE
#if PACKETVER >= 20140312
// new packets
@@ -3201,6 +3437,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a0d,-1); // ZC_INVENTORY_ITEMLIST_EQUIP_V6
#endif
+// 2014-03-26aRagexe
+#if PACKETVER == 20140326
+// shuffle packets
+ 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
+#endif
+
// 2014-03-26cRagexeRE
#if PACKETVER >= 20140326
// changed packet sizes
@@ -3213,37 +3483,38 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a08,7,clif->pDull/*,XXX*/); // CZ_REQ_OPEN_WRITE_RODEX
#endif
-// 2014-04-02gRagexe - Themon
-#if PACKETVER >= 20140402
- packet(0x0946,7,clif->pActionRequest,2,6);
- packet(0x0868,10,clif->pUseSkillToId,2,4,6);
- packet(0x093F,5,clif->pWalkToXY,2);
- packet(0x0950,6,clif->pTickSend,2);
- packet(0x0360,5,clif->pChangeDir,2,4);
- packet(0x0958,6,clif->pTakeItem,2);
- packet(0x0882,6,clif->pDropItem,2,4);
- packet(0x095C,8,clif->pMoveToKafra,2,4);
- packet(0x085B,8,clif->pMoveFromKafra,2,4);
- packet(0x0364,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x092D,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x088A,6,clif->pGetCharNameRequest,2);
- packet(0x07EC,6,clif->pSolveCharName,2);
- packet(0x0965,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x085D,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0933,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x091F,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x023B,6,clif->pReqClickBuyingStore,2);
- packet(0x0867,2,clif->pReqCloseBuyingStore,0);
- packet(0x0944,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x08AC,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0883,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x0920,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0890,26,clif->pPartyInvite2,2);
- packet(0x089A,26,clif->pFriendsListAdd,2);
- packet(0x0896,5,clif->pHomMenu,2,4);
- packet(0x0926,36,clif->pStoragePassword,0);
- packet(0x088c,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x094c,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+// 2014-04-02fRagexe
+#if PACKETVER == 20140402
+// shuffle packets
+ 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
#endif
// 2014-04-02eRagexeRE
@@ -3255,6 +3526,40 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2014-04-09aRagexe
+#if PACKETVER == 20140409
+// shuffle packets
+ 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
+#endif
+
// 2014-04-09aRagexeRE
#if PACKETVER >= 20140409
// changed packet sizes
@@ -3262,37 +3567,38 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x09f4,12); // ZC_ACK_ITEM_FROM_RODEX
#endif
-// 2014-04-16aRagexe - Themon
-#if PACKETVER >= 20140416
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x0202,5,clif->pChangeDir,2,4);
- packet(0x07E4,6,clif->pTakeItem,2);
- packet(0x0362,6,clif->pDropItem,2,4);
- packet(0x07EC,8,clif->pMoveToKafra,2,4);
- packet(0x0364,8,clif->pMoveFromKafra,2,4);
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0802,26,clif->pPartyInvite2,2);
- packet(0x023B,26,clif->pFriendsListAdd,2);
- packet(0x0361,5,clif->pHomMenu,2,4);
- packet(0x095C,36,clif->pStoragePassword,0);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+// 2014-04-16aRagexe
+#if PACKETVER == 20140416
+// shuffle packets
+ 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
#endif
// 2014-04-16aRagexeRE
@@ -3308,6 +3614,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a08,26,clif->pRodexOpenWriteMail); // CZ_REQ_OPEN_WRITE_RODEX
#endif
+// 2014-04-23aRagexe
+#if PACKETVER == 20140423
+// shuffle packets
+ 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
+#endif
+
// 2014-04-23aRagexeRE
#if PACKETVER >= 20140423
// new packets
@@ -3324,12 +3664,114 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a17,6); // ZC_DYNAMICNPC_CREATE_RESULT
#endif
+// 2014-05-08aRagexe
+#if PACKETVER == 20140508
+// shuffle packets
+ 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
+
// 2014-05-08bRagexeRE
#if PACKETVER >= 20140508
// changed packet sizes
packet(0x0a15,12); // ZC_GOLDPCCAFE_POINT
#endif
+// 2014-05-14bRagexe
+#if PACKETVER == 20140514
+// shuffle packets
+ 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
+#endif
+
+// 2014-05-21bRagexe
+#if PACKETVER == 20140521
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
+#endif
+
// 2014-05-21aRagexeRE
#if PACKETVER >= 20140521
// changed packet sizes
@@ -3337,6 +3779,74 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a14,10); // ZC_CHECK_RECEIVE_CHARACTER_NAME
#endif
+// 2014-05-28aRagexe
+#if PACKETVER == 20140528
+// shuffle packets
+ 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
+#endif
+
+// 2014-06-05aRagexe
+#if PACKETVER == 20140605
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
+#endif
+
/* Roulette System [Yommy/Hercules] */
// 2014-06-05aRagexe
#if PACKETVER >= 20140605
@@ -3349,6 +3859,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a1d,14,clif->pDull/*,XXX*/); // CZ_REQ_CLOSE_ROULETTE
#endif
+// 2014-06-11cRagexe
+#if PACKETVER == 20140611
+// shuffle packets
+ 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
+
/* Roulette System [Yommy/Hercules] */
// 2014-06-11bRagexe / RE. moved by 4144
#if PACKETVER >= 20140611
@@ -3370,6 +3914,108 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a1d,2,clif->pRouletteClose,0); // CZ_REQ_CLOSE_ROULETTE
#endif
+// 2014-06-12aRagexe
+#if PACKETVER == 20140612
+// shuffle packets
+ 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-13aRagexe
+#if PACKETVER == 20140613
+// shuffle packets
+ 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-18aRagexe
+#if PACKETVER == 20140618
+// shuffle packets
+ 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
+#endif
+
// 2014-06-18cRagexeRE
#if PACKETVER >= 20140618
// changed packet sizes
@@ -3377,6 +4023,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a22,5); // ZC_RECV_ROULETTE_ITEM
#endif
+// 2014-06-25aRagexe
+#if PACKETVER == 20140625
+// shuffle packets
+ 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
+#endif
+
// 2014-06-25aRagexeRE
#if PACKETVER >= 20140625
// new packets
@@ -3386,6 +4066,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a24,36); // ZC_ACH_UPDATE
#endif
+// 2014-07-02aRagexe
+#if PACKETVER == 20140702
+// shuffle packets
+ 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
+#endif
+
// 2014-07-02aRagexeRE
#if PACKETVER >= 20140702
// new packets
@@ -3393,12 +4107,114 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a2a,6,clif->pDull/*,XXX*/); // CZ_ACK_AU_BOT
#endif
+// 2014-07-09aRagexe
+#if PACKETVER == 20140709
+// shuffle packets
+ 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
+#endif
+
+// 2014-07-16aRagexe
+#if PACKETVER == 20140716
+// shuffle packets
+ 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
+#endif
+
// 2014-07-16aRagexeRE
#if PACKETVER >= 20140716
// changed packet sizes
packet(0x09e7,3); // ZC_NOTIFY_UNREAD_RODEX
#endif
+// 2014-07-23aRagexe
+#if PACKETVER == 20140723
+// shuffle packets
+ 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
+#endif
+
// 2014-07-23aRagexeRE
#if PACKETVER >= 20140723
// new packets
@@ -3408,12 +4224,250 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a24,56); // ZC_ACH_UPDATE
#endif
+// 2014-07-30aRagexe
+#if PACKETVER == 20140730
+// shuffle packets
+ 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
+#endif
+
+// 2014-08-06aRagexe
+#if PACKETVER == 20140806
+// shuffle packets
+ 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
+#endif
+
+// 2014-08-13aRagexe
+#if PACKETVER == 20140813
+// shuffle packets
+ 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
+#endif
+
+// 2014-08-14aRagexe
+#if PACKETVER == 20140814
+// shuffle packets
+ 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
+#endif
+
+// 2014-08-20aRagexe
+#if PACKETVER == 20140820
+// shuffle packets
+ 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
+#endif
+
// 2014-08-20aRagexeRE
#if PACKETVER >= 20140820
// new packets
packet(0x0a2d,-1); // ZC_EQUIPWIN_MICROSCOPE_V6
#endif
+// 2014-08-27aRagexe
+#if PACKETVER == 20140827
+// shuffle packets
+ 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
+#endif
+
+// 2014-09-03aRagexe
+#if PACKETVER == 20140903
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
+#endif
+
// 2014-09-03aRagexeRE
#if PACKETVER >= 20140903
// new packets
@@ -3422,6 +4476,74 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2014-09-17aRagexe
+#if PACKETVER == 20140917
+// shuffle packets
+ 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
+#endif
+
+// 2014-09-24cRagexe
+#if PACKETVER == 20140924
+// shuffle packets
+ 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
+#endif
+
// 2014-09-24bRagexeRE
#if PACKETVER >= 20140924
// new packets
@@ -3432,82 +4554,322 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a34,6); // ZC_UPDATE_TAIWANCASH
#endif
+// 2014-10-01aRagexe
+#if PACKETVER == 20141001
+// shuffle packets
+ 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
+#endif
+
// 2014-10-01bRagexeRE
#if PACKETVER >= 20141001
// changed packet sizes
packet(0x0a24,66); // ZC_ACH_UPDATE
#endif
+// 2014-10-08aRagexe
+#if PACKETVER == 20141008
+// shuffle packets
+ 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
+#endif
+
// 2014-10-08bRagexeRE
#if PACKETVER >= 20141008
// changed packet sizes
packet(0x0a05,49); // ZC_ACK_ADD_ITEM_RODEX
#endif
-// 2014-10-16aRagexe - YomRawr
-#if PACKETVER >= 20141016
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x0967,5,clif->pChangeDir,2,4);
- packet(0x07E4,6,clif->pTakeItem,2);
- packet(0x0362,6,clif->pDropItem,2,4);
- packet(0x07EC,8,clif->pMoveToKafra,2,4);
- packet(0x022D,8,clif->pMoveFromKafra,2,4);
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x086E,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0802,26,clif->pPartyInvite2,2);
- packet(0x094B,26,clif->pFriendsListAdd,2);
- packet(0x0364,5,clif->pHomMenu,2,4);
- packet(0x0936,36,clif->pStoragePassword,0);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0922,4,clif->pDull); // CZ_GANGSI_RANK
+// 2014-10-15bRagexe
+#if PACKETVER == 20141015
+// shuffle packets
+ 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
#endif
-// 2014-10-22bRagexe - YomRawr
-#if PACKETVER >= 20141022
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x08AD,5,clif->pChangeDir,2,4);
- packet(0x094E,6,clif->pTakeItem,2);
- packet(0x087D,6,clif->pDropItem,2,4);
- packet(0x0878,8,clif->pMoveToKafra,2,4);
- packet(0x08AA,8,clif->pMoveFromKafra,2,4);
- packet(0x023B,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0835,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0940,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0955,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x093B,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0896,26,clif->pPartyInvite2,2);
- packet(0x091A,26,clif->pFriendsListAdd,2);
- packet(0x0899,5,clif->pHomMenu,2,4);
- packet(0x0438,36,clif->pStoragePassword,0);
- packet(0x08ab,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x092b,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+// 2014-10-16aRagexe
+#if PACKETVER == 20141016
+// shuffle packets
+ 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
+#endif
+
+// 2014-10-22bRagexe
+#if PACKETVER == 20141022
+// shuffle packets
+ 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
+#endif
+
+// 2014-10-29aRagexe
+#if PACKETVER == 20141029
+// shuffle packets
+ 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
+#endif
+
+// 2014-11-05aRagexe
+#if PACKETVER == 20141105
+// shuffle packets
+ 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
+#endif
+
+// 2014-11-12cRagexe
+#if PACKETVER == 20141112
+// shuffle packets
+ 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
+#endif
+
+// 2014-11-19dRagexe
+#if PACKETVER == 20141119
+// shuffle packets
+ 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
#endif
// 2014-11-19bRagexeRE
@@ -3518,6 +4880,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a05,53); // ZC_ACK_ADD_ITEM_RODEX
#endif
+// 2014-11-26aRagexe
+#if PACKETVER == 20141126
+// shuffle packets
+ 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
+#endif
+
// 2014-11-26aRagexeRE
#if PACKETVER >= 20141126
// new packets
@@ -3525,6 +4921,142 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a37,57); // ZC_ITEM_PICKUP_ACK_V7
#endif
+// 2014-12-03aRagexe
+#if PACKETVER == 20141203
+// shuffle packets
+ 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
+#endif
+
+// 2014-12-10bRagexe
+#if PACKETVER == 20141210
+// shuffle packets
+ 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
+#endif
+
+// 2014-12-24aRagexe
+#if PACKETVER == 20141224
+// shuffle packets
+ 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
+#endif
+
+// 2014-12-31aRagexe
+#if PACKETVER == 20141231
+// shuffle packets
+ 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
+#endif
+
// 2015-01-07aRagexeRE
#if PACKETVER == 20150107
// shuffle packets
@@ -3593,6 +5125,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2015-01-21aRagexe
+#if PACKETVER == 20150121
+// shuffle packets
+ 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
+#endif
+
// 2015-01-28aRagexe
#if PACKETVER == 20150128
// shuffle packets
@@ -3626,12 +5192,81 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0963,26,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS
packet(0x0968,6,clif->pDropItem,2,4); // CZ_ITEM_THROW
#endif
+
// 2015-01-28aRagexeRE
#if PACKETVER >= 20150128
// new packets
packet(0x0a38,3);
#endif
+// 2015-01-29aRagexe
+#if PACKETVER == 20150129
+// shuffle packets
+ 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
+#endif
+
+// 2015-01-30aRagexe
+#if PACKETVER == 20150130
+// shuffle packets
+ 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
+#endif
+
// 2015-02-04aRagexe
#if PACKETVER == 20150204
// shuffle packets
@@ -3666,6 +5301,74 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2015-02-11aRagexe
+#if PACKETVER == 20150211
+// shuffle packets
+ 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
+#endif
+
+// 2015-02-17aRagexe
+#if PACKETVER == 20150217
+// shuffle packets
+ 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
+#endif
+
// 2015-02-25aRagexeRE
#if PACKETVER == 20150225
// shuffle packets
@@ -3734,6 +5437,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
#endif
+// 2015-03-04aRagexe
+#if PACKETVER == 20150304
+// shuffle packets
+ 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
+#endif
+
// 2015-03-11aRagexeRE
#if PACKETVER == 20150311
// shuffle packets
@@ -3775,6 +5512,40 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2015-03-18aRagexe
+#if PACKETVER == 20150318
+// shuffle packets
+ 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
+#endif
+
// 2015-03-25aRagexe
#if PACKETVER == 20150325
// shuffle packets
@@ -3843,6 +5614,74 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0964,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
#endif
+// 2015-04-08aRagexe
+#if PACKETVER == 20150408
+// shuffle packets
+ 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
+#endif
+
+// 2015-04-15aRagexe
+#if PACKETVER == 20150415
+// shuffle packets
+ 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
+#endif
+
// 2015-04-15aRagexeRE
#if PACKETVER >= 20150415
// changed packet sizes
@@ -3959,37 +5798,71 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2015-05-13aRagexe
-#if PACKETVER >= 20150513
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x0924,5,clif->pChangeDir,2,4);
- packet(0x0958,6,clif->pTakeItem,2);
- packet(0x0885,6,clif->pDropItem,2,4);
- packet(0x0879,8,clif->pMoveToKafra,2,4);
- packet(0x0864,8,clif->pMoveFromKafra,2,4);
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x022D,2,clif->pReqCloseBuyingStore,0);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0883,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x02C4,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0960,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x0363,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x094A,26,clif->pPartyInvite2,2);
- packet(0x0927,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x08A8,26,clif->pFriendsListAdd,2);
- packet(0x0817,5,clif->pHomMenu,2,4);
- packet(0x0923,36,clif->pStoragePassword,0);
- packet(0x0a27,8); // ZC_RECOVERY2
+#if PACKETVER == 20150513
+// shuffle packets
+ 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
+#endif
+
+// 2015-05-20aRagexe
+#if PACKETVER == 20150520
+// shuffle packets
+ 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
#endif
// 2015-05-20aRagexeRE
@@ -4033,12 +5906,80 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2015-06-03aRagexe
+#if PACKETVER == 20150603
+// shuffle packets
+ 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
+#endif
+
// 2015-06-03bRagexeRE
#if PACKETVER >= 20150603
// new packets
packet(0x0a3e,-1);
#endif
+// 2015-06-10aRagexe
+#if PACKETVER == 20150610
+// shuffle packets
+ 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
+#endif
+
// 2015-06-17aRagexeRE
#if PACKETVER == 20150617
// shuffle packets
@@ -4107,12 +6048,250 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2015-06-24aRagexe
+#if PACKETVER == 20150624
+// shuffle packets
+ 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
+#endif
+
// 2015-06-24aRagexeRE
#if PACKETVER >= 20150624
// new packets
packet(0x0a3f,9);
#endif
+// 2015-07-02aRagexe
+#if PACKETVER == 20150702
+// shuffle packets
+ 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
+#endif
+
+// 2015-07-08cRagexe
+#if PACKETVER == 20150708
+// shuffle packets
+ 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
+#endif
+
+// 2015-07-15aRagexe
+#if PACKETVER == 20150715
+// shuffle packets
+ 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
+#endif
+
+// 2015-07-29aRagexe
+#if PACKETVER == 20150729
+// shuffle packets
+ 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
+#endif
+
+// 2015-08-05aRagexe
+#if PACKETVER == 20150805
+// shuffle packets
+ 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
+#endif
+
+// 2015-08-12aRagexe
+#if PACKETVER == 20150812
+// shuffle packets
+ 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
+#endif
+
// 2015-08-12aRagexeRE
#if PACKETVER >= 20150812
// new packets
@@ -4187,18 +6366,154 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0969,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); // CZ_SEARCH_STORE_INFO
#endif
+// 2015-09-02aRagexe
+#if PACKETVER == 20150902
+// shuffle packets
+ 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
+#endif
+
+// 2015-09-09aRagexe
+#if PACKETVER == 20150909
+// shuffle packets
+ 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
+#endif
+
// 2015-09-09aRagexeRE
#if PACKETVER >= 20150909
// new packets
packet(0x0a41,18);
#endif
+// 2015-09-16aRagexe
+#if PACKETVER == 20150916
+// shuffle packets
+ 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
+#endif
+
// 2015-09-16aRagexeRE
#if PACKETVER >= 20150916
// new packets
packet(0x0a42,43);
#endif
+// 2015-09-23bRagexe
+#if PACKETVER == 20150923
+// shuffle packets
+ 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
+#endif
+
// 2015-10-01aRagexe
#if PACKETVER == 20151001
// shuffle packets
@@ -4308,6 +6623,74 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0964,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
#endif
+// 2015-10-21aRagexe
+#if PACKETVER == 20151021
+// shuffle packets
+ 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
+#endif
+
+// 2015-10-22aRagexe
+#if PACKETVER == 20151022
+// shuffle packets
+ 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
+#endif
+
// 2015-10-28cRagexeRE
#if PACKETVER == 20151028
// shuffle packets
@@ -4349,75 +6732,105 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2015-10-29aRagexe
-#if PACKETVER >= 20151029
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0437,5,clif->pWalkToXY,2);
- packet(0x035F,6,clif->pTickSend,2);
- packet(0x0202,5,clif->pChangeDir,2,4);
- packet(0x07E4,6,clif->pTakeItem,2);
- packet(0x0362,6,clif->pDropItem,2,4);
- packet(0x07EC,8,clif->pMoveToKafra,2,4);
- packet(0x0364,8,clif->pMoveFromKafra,2,4);
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x096A,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0360,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x0802,26,clif->pPartyInvite2,2);
- packet(0x023B,26,clif->pFriendsListAdd,2);
- packet(0x0361,5,clif->pHomMenu,2,4);
- packet(0x0860,36,clif->pStoragePassword,0);
- packet(0x0363,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
- packet(0x0436,4,clif->pDull); // CZ_GANGSI_RANK
+#if PACKETVER == 20151029
+// shuffle packets
+ 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
#endif
// 2015-11-04aRagexe
-#if PACKETVER >= 20151104
- packet(0x0369,7,clif->pActionRequest,2,6);
- packet(0x083C,10,clif->pUseSkillToId,2,4,6);
- packet(0x0363,5,clif->pWalkToXY,2);
- packet(0x0886,6,clif->pTickSend,2);
- packet(0x0928,5,clif->pChangeDir,2,4);
- packet(0x0964,6,clif->pTakeItem,2);
- packet(0x0437,6,clif->pDropItem,2,4);
- packet(0x088B,8,clif->pMoveToKafra,2,4);
- packet(0x0364,8,clif->pMoveFromKafra,2,4);
- packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x0887,6,clif->pGetCharNameRequest,2);
- packet(0x0368,6,clif->pSolveCharName,2);
- packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0835,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0815,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0436,6,clif->pReqClickBuyingStore,2);
- packet(0x0817,2,clif->pReqCloseBuyingStore,0);
- packet(0x023B,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0811,18,clif->pPartyBookingRegisterReq,2,4,6);
- packet(0x093A,-1,clif->pItemListWindowSelected,2,4,8,12);
- packet(0x0360,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x08A5,26,clif->pPartyInvite2,2);
- packet(0x07EC,26,clif->pFriendsListAdd,2);
- packet(0x088D,5,clif->pHomMenu,2,4);
- packet(0x0940,36,clif->pStoragePassword,2,4,20);
- packet(0x08a3,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x0939,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
-// new packets
- packet(0x0a46,14,clif->pDull/*,XXX*/);
- packet(0x0a47,3);
- packet(0x0a48,2,clif->pDull/*,XXX*/);
-// changed packet sizes
- packet(0x0a45,2);
+#if PACKETVER == 20151104
+// shuffle packets
+ 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
+#endif
+
+// 2015-11-11aRagexe
+#if PACKETVER == 20151111
+// shuffle packets
+ 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
#endif
// 2015-11-18aRagexeRE
@@ -4463,6 +6876,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a4c,28);
#endif
+// 2015-11-25bRagexe
+#if PACKETVER == 20151125
+// shuffle packets
+ 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
+#endif
+
// 2015-12-02bRagexeRE
#if PACKETVER == 20151202
// shuffle packets
@@ -4497,37 +6944,72 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2015-12-09aRagexe
+#if PACKETVER == 20151209
+// shuffle packets
+ 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
+#endif
+
// 2015-12-16aRagexe
-#if PACKETVER >= 20151216
- packet(0x089D,7,clif->pActionRequest,2,6);
- packet(0x0968,10,clif->pUseSkillToId,2,4,6);
- packet(0x08A2,5,clif->pWalkToXY,2);
- packet(0x085B,6,clif->pTickSend,2);
- packet(0x022D,5,clif->pChangeDir,2,4);
- packet(0x08A9,6,clif->pTakeItem,2);
- packet(0x0966,6,clif->pDropItem,2,4);
- packet(0x08AC,8,clif->pMoveToKafra,2,4);
- packet(0x0864,8,clif->pMoveFromKafra,2,4);
- packet(0x0865,10,clif->pUseSkillToPos,2,4,6,8);
- packet(0x0874,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10);
- packet(0x088B,6,clif->pGetCharNameRequest,2);
- packet(0x089E,6,clif->pSolveCharName,2);
- packet(0x0436,12,clif->pSearchStoreInfoListItemClick,2,6,10);
- packet(0x0960,2,clif->pSearchStoreInfoNextPage,0);
- packet(0x0944,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15);
- packet(0x0954,-1,clif->pReqTradeBuyingStore,2,4,8,12);
- packet(0x0361,6,clif->pReqClickBuyingStore,2);
- packet(0x083C,2,clif->pReqCloseBuyingStore,0);
- packet(0x0870,-1,clif->pReqOpenBuyingStore,2,4,8,9,89);
- packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4);
- packet(0x0949,-1,clif->pItemListWindowSelected,2,4,8);
- packet(0x0947,19,clif->pWantToConnection,2,6,10,14,18);
- packet(0x086E,26,clif->pPartyInvite2,2);
- packet(0x091D,26,clif->pFriendsListAdd,2);
- packet(0x0362,5,clif->pHomMenu,2,4);
- packet(0x0885,36,clif->pStoragePassword,0);
- packet(0x0364,4,clif->pDull); // CZ_GANGSI_RANK
- packet(0x086a,8,clif->pDull); // CZ_JOIN_BATTLE_FIELD
+#if PACKETVER == 20151216
+// shuffle packets
+ 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
#endif
// 2015-12-23bRagexeRE
@@ -4564,14 +7046,143 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0967,12,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK
#endif
-// 2016-01-27aRagexeRE
-#if PACKETVER >= 20160127
-// new packets
- packet(0x0a4d,-1);
-// changed packet sizes
+// 2015-12-30aRagexe
+#if PACKETVER == 20151230
+// shuffle packets
+ 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
+#endif
+
+// 2016-01-06aRagexeRE
+#if PACKETVER == 20160106
+// shuffle packets
+ 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
+#endif
+
+// 2016-01-13aRagexeRE
+#if PACKETVER == 20160113
+// shuffle packets
+ 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
#endif
-// 2016-01-27bRagexeRE
+// 2016-01-20aRagexeRE
+#if PACKETVER == 20160120
+// shuffle packets
+ 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
+#endif
+
+// 2016-01-27aRagexeRE
#if PACKETVER == 20160127
// shuffle packets
packet(0x022d,19,clif->pWantToConnection,2,6,10,14,18); // CZ_ENTER
@@ -4605,6 +7216,13 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2016-01-27aRagexeRE
+#if PACKETVER >= 20160127
+// new packets
+ packet(0x0a4d,-1);
+// changed packet sizes
+#endif
+
// 2016-02-03aRagexeRE
#if PACKETVER == 20160203
// shuffle packets
@@ -4639,6 +7257,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x096a,6,clif->pGetCharNameRequest,2); // CZ_REQNAME
#endif
+// 2016-02-11aRagexeRE
+#if PACKETVER == 20160211
+// shuffle packets
+ 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
+#endif
+
// 2016-02-17cRagexeRE
#if PACKETVER == 20160217
// shuffle packets
@@ -4673,6 +7325,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0969,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); // CZ_REQ_OPEN_BUYING_STORE
#endif
+// 2016-02-24bRagexeRE
+#if PACKETVER == 20160224
+// shuffle packets
+ 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
+#endif
+
// 2016-03-02bRagexeRE
#if PACKETVER == 20160302
// shuffle packets
@@ -4752,6 +7438,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-03-16aRagexeRE
+#if PACKETVER == 20160316
+// shuffle packets
+ 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
+#endif
+
+// 2016-03-16aRagexeRE
#if PACKETVER >= 20160316
// new packets
packet(0x0a52,20,clif->pDull/*,XXX*/);
@@ -4770,6 +7490,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-03-23aRagexeRE
+#if PACKETVER == 20160323
+// shuffle packets
+ 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
+#endif
+
+// 2016-03-23aRagexeRE
#if PACKETVER >= 20160323
// new packets
packet(0x0a68,3);
@@ -4823,6 +7577,74 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2016-04-06aRagexeRE
+#if PACKETVER == 20160406
+// shuffle packets
+ 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
+#endif
+
+// 2016-04-14bRagexeRE
+#if PACKETVER == 20160414
+// shuffle packets
+ 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
+#endif
+
// 2016-04-20aRagexeRE
#if PACKETVER == 20160420
// shuffle packets
@@ -4858,6 +7680,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-04-27aRagexeRE
+#if PACKETVER == 20160427
+// shuffle packets
+ 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
+#endif
+
+// 2016-04-27aRagexeRE
#if PACKETVER >= 20160427
// new packets
// changed packet sizes
@@ -4865,6 +7721,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-05-04aRagexeRE
+#if PACKETVER == 20160504
+// shuffle packets
+ 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
+#endif
+
+// 2016-05-04aRagexeRE
#if PACKETVER >= 20160504
// new packets
packet(0x0a70,2,clif->pDull/*,XXX*/);
@@ -4916,6 +7806,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-05-18aRagexeRE
+#if PACKETVER == 20160518
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
+#endif
+
+// 2016-05-18aRagexeRE
#if PACKETVER >= 20160518
// new packets
packet(0x0a76,80);
@@ -4966,6 +7890,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-06-01aRagexeRE
+#if PACKETVER == 20160601
+// shuffle packets
+ 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
+#endif
+
+// 2016-06-01aRagexeRE
#if PACKETVER >= 20160601
// new packets
packet(0x0a79,-1);
@@ -5054,6 +8012,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-06-22aRagexeRE
+#if PACKETVER == 20160622
+// shuffle packets
+ 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
+#endif
+
+// 2016-06-22aRagexeRE
#if PACKETVER >= 20160622
// new packets
packet(0x0a82,46);
@@ -5067,6 +8059,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-06-29aRagexeRE
+#if PACKETVER == 20160629
+// shuffle packets
+ 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
+#endif
+
+// 2016-06-29aRagexeRE
#if PACKETVER >= 20160629
// new packets
packet(0x0a89,32);
@@ -5239,15 +8265,6 @@ packet(0x96e,-1,clif->ackmergeitems);
// 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-07-27bRagexeRE
#if PACKETVER == 20160727
// shuffle packets
@@ -5282,6 +8299,49 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0969,-1,clif->pItemListWindowSelected,2,4,8); // CZ_ITEMLISTWIN_RES
#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
+// shuffle packets
+ 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
+#endif
+
// 2016-08-03bRagexeRE
#if PACKETVER >= 20160803
// new packets
@@ -5290,6 +8350,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a81,4);
#endif
+// 2016-08-10aRagexeRE
+#if PACKETVER == 20160810
+// shuffle packets
+ 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
+#endif
+
// 2016-08-31bRagexeRE
#if PACKETVER == 20160831
// shuffle packets
@@ -5365,6 +8459,40 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2016-09-13aRagexeRE
+#if PACKETVER == 20160913
+// shuffle packets
+ 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
+#endif
+
// 2016-09-21bRagexeRE
#if PACKETVER == 20160921
// shuffle packets
@@ -5407,6 +8535,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0a37,59); // ZC_ITEM_PICKUP_ACK_V7
#endif
+// 2016-09-28dRagexeRE
+#if PACKETVER == 20160928
+// shuffle packets
+ 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
+#endif
+
// 2016-09-28cRagexeRE
#if PACKETVER >= 20160928
// new packets
@@ -5423,6 +8585,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-10-05aRagexeRE
+#if PACKETVER == 20161005
+// shuffle packets
+ 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
+#endif
+
+// 2016-10-05aRagexeRE
#if PACKETVER >= 20161005
// new packets
packet(0x0aa0,2,clif->pDull/*,XXX*/);
@@ -5467,6 +8663,40 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0967,36,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD
#endif
+// 2016-10-19aRagexeRE
+#if PACKETVER == 20161019
+// shuffle packets
+ 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
+#endif
+
// 2016-10-26bRagexeRE
#if PACKETVER == 20161026
// shuffle packets
@@ -5509,6 +8739,74 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2016-11-02aRagexeRE
+#if PACKETVER == 20161102
+// shuffle packets
+ 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
+#endif
+
+// 2016-11-03aRagexeRE
+#if PACKETVER == 20161103
+// shuffle packets
+ 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
+#endif
+
// 2016-11-09bRagexeRE
#if PACKETVER == 20161109
// shuffle packets
@@ -5543,6 +8841,108 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0956,5,clif->pChangeDir,2,4); // CZ_CHANGE_DIRECTION
#endif
+// 2016-11-16cRagexeRE
+#if PACKETVER == 20161116
+// shuffle packets
+ 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
+#endif
+
+// 2016-11-23aRagexeRE
+#if PACKETVER == 20161123
+// shuffle packets
+ 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
+#endif
+
+// 2016-11-30bRagexeRE
+#if PACKETVER == 20161130
+// shuffle packets
+ 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
+#endif
+
// 2016-11-30aRagexeRE
#if PACKETVER >= 20161130
// new packets
@@ -5675,6 +9075,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2016-12-28aRagexeRE
+#if PACKETVER == 20161228
+// shuffle packets
+ 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
+#endif
+
+// 2016-12-28aRagexeRE
#if PACKETVER >= 20161228
// new packets
// changed packet sizes
@@ -5682,6 +9116,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-01-04bRagexeRE
+#if PACKETVER == 20170104
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
+#endif
+
+// 2017-01-04bRagexeRE
#if PACKETVER >= 20170104
// new packets
packet(0x0ab2,7);
@@ -5690,6 +9158,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-01-11aRagexeRE
+#if PACKETVER == 20170111
+// shuffle packets
+ 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
+#endif
+
+// 2017-01-11aRagexeRE
#if PACKETVER >= 20170111
// new packets
packet(0x0ab4,4);
@@ -5702,6 +9204,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-01-18aRagexeRE
+#if PACKETVER == 20170118
+// shuffle packets
+ 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
+#endif
+
+// 2017-01-18aRagexeRE
#if PACKETVER >= 20170118
// new packets
packet(0x0aba,2);
@@ -5746,6 +9282,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-02-01aRagexeRE
+#if PACKETVER == 20170201
+// shuffle packets
+ 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
+#endif
+
+// 2017-02-01aRagexeRE
#if PACKETVER >= 20170201
// new packets
packet(0x0abc,-1);
@@ -5787,6 +9357,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-02-15aRagexeRE
+#if PACKETVER == 20170215
+// shuffle packets
+ 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
+#endif
+
+// 2017-02-15aRagexeRE
#if PACKETVER >= 20170215
// new packets
packet(0x0abd,10);
@@ -5794,6 +9398,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-02-22aRagexeRE
+#if PACKETVER == 20170222
+// shuffle packets
+ 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
+#endif
+
+// 2017-02-22aRagexeRE
#if PACKETVER >= 20170222
// new packets
packet(0x0abe,116);
@@ -6051,6 +9689,74 @@ packet(0x96e,-1,clif->ackmergeitems);
// changed packet sizes
#endif
+// 2017-04-12aRagexeRE
+#if PACKETVER == 20170412
+// shuffle packets
+ 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
+#endif
+
+// 2017-04-19bRagexeRE
+#if PACKETVER == 20170419
+// shuffle packets
+ 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
+#endif
+
// 2017-04-19bRagexeRE
#if PACKETVER >= 20170419
// new packets
@@ -6060,6 +9766,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-04-26dRagexeRE
+#if PACKETVER == 20170426
+// shuffle packets
+ 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
+#endif
+
+// 2017-04-26dRagexeRE
#if PACKETVER >= 20170426
// new packets
// changed packet sizes
@@ -6067,6 +9807,40 @@ packet(0x96e,-1,clif->ackmergeitems);
#endif
// 2017-05-02dRagexeRE
+#if PACKETVER == 20170502
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
+#endif
+
+// 2017-05-02dRagexeRE
#if PACKETVER >= 20170502
// new packets
packet(0x0ace,4);
@@ -6107,498 +9881,650 @@ packet(0x96e,-1,clif->ackmergeitems);
packet(0x0964,6,clif->pTakeItem,2); // CZ_ITEM_PICKUP
#endif
-
-/* PacketKeys: http://herc.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */
-#if PACKETVER >= 20110817
- packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20110824
- packetKeys(0x35C91401,0x262A5556,0x28FA03AA); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20110831
- packetKeys(0x3AD67ED0,0x44703C69,0x6F876809); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20110906
- packetKeys(0x3AD67ED0,0x44703C69,0x6F876809); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111005
- packetKeys(0x291E6762,0x77CD391A,0x60AC2F16); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111012
- packetKeys(0x7F3C2D29,0x59B01DE6,0x1DBB44CA); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111021
- packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111025
- packetKeys(0x50AE1A63,0x3CE579B5,0x29C10406); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111102
- packetKeys(0x5324329D,0x5D545D52,0x06137269); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111109
- packetKeys(0x0B642BDA,0x6ECB1D1C,0x61C7454B); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111122
- packetKeys(0x3B550F07,0x1F666C7C,0x60304EF5); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111207
- packetKeys(0x2A610886,0x3E09165E,0x57C11888); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111214
- packetKeys(0x5151306B,0x7AE32886,0x53060628); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111220
- packetKeys(0x05D53871,0x7D0027B4,0x29975333); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20111228
- packetKeys(0x0FF87E93,0x6CFF7860,0x3A3D1DEC); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120104
- packetKeys(0x262034A1,0x674542A5,0x73A50BA5); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120111
- packetKeys(0x2B412AFC,0x4FF94487,0x6705339D); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120120
- packetKeys(0x504345D0,0x3D427B1B,0x794C2DCC); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120202
- packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120207
- packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120214
- packetKeys(0x7A255EFA,0x30977276,0x2D4A0448); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120229
- packetKeys(0x520B4C64,0x2800407D,0x47651458); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120307
- packetKeys(0x382A6DEF,0x5CBE7202,0x61F46637); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120314
- packetKeys(0x689C1729,0x11812639,0x60F82967); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120321
- packetKeys(0x21F9683F,0x710C5CA5,0x1FD910E9); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120328
- packetKeys(0x75B8553B,0x37F20B12,0x385C2B40); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120404
- packetKeys(0x0036310C,0x2DCD0BED,0x1EE62A78); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120410
- packetKeys(0x01581359,0x452D6FFA,0x6AFB6E2E); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120418
- packetKeys(0x01540E48,0x13041224,0x31247924); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120424
- packetKeys(0x411D1DBB,0x4CBA4848,0x1A432FC4); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120509
- packetKeys(0x16CF3301,0x1F472B9B,0x0B4A3CD2); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120515
- packetKeys(0x4A715EF9,0x79103E4F,0x405C1238); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120525
- packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120605
- packetKeys(0x68CA3080,0x31B74BDD,0x505208F1); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120612
- packetKeys(0x32E45D64,0x35643564,0x35643564); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120618
- packetKeys(0x261F261F,0x261F261F,0x261F261F); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120702
- packetKeys(0x25733B31,0x53486CFD,0x398649BD); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20120716
- packetKeys(0x76052205,0x22052205,0x22052205); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130320
- packetKeys(0x3F094C49,0x55F86C1E,0x58AA359A); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130514
- packetKeys(0x75794A38,0x58A96BC1,0x296E6FB8); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130522
- packetKeys(0x6948050B,0x06511D9D,0x725D4DF1); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130529
- packetKeys(0x023A6C87,0x14BF1F1E,0x5CC70CC9); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130605
- packetKeys(0x646E08D9,0x5F153AB5,0x61B509B5); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130612
- packetKeys(0x6D166F66,0x3C000FCF,0x295B0FCB); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130618
- packetKeys(0x434115DE,0x34A10FE9,0x6791428E); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130626
- packetKeys(0x38F453EF,0x6A040FD8,0X65BD6668); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130703
- packetKeys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130807
- packetKeys(0x7E241DE0,0x5E805580,0x3D807D80); /* Thanks to Shakto */
-#endif
-
-#if PACKETVER >= 20130814
- packetKeys(0x23A23148,0x0C41420E,0x53785AD7); /* Themon */
-#endif
-
-#if PACKETVER >= 20131218
- packetKeys(0x6A596301,0x76866D0E,0x32294A45);
-#endif
-
-#if PACKETVER >= 20131223
- packetKeys(0x631C511C,0x111C111C,0x111C111C);
-#endif
-
-#if PACKETVER >= 20131230
- packetKeys(0x611B7097,0x01F957A1,0x768A0FCB);
-#endif
-
-// 2014 Packet Keys
-
-#if PACKETVER >= 20140115
- packetKeys(0x63224335,0x0F3A1F27,0x6D217B24); /* Thanks to Yommy */
-#endif
-
-#if PACKETVER >= 20140205
- packetKeys(0x63DC7BDC,0x7BDC7BDC,0x7BDC7BDC); /* Themon */
-#endif
-
-#if PACKETVER >= 20140305
- packetKeys(0x116763F2,0x41117DAC,0x7FD13C45); /* Themon */
-#endif
-
-#if PACKETVER >= 20140402
- packetKeys(0x15D3271C,0x004D725B,0x111A3A37); /* Themon */
-#endif
-
-#if PACKETVER >= 20140416
- packetKeys(0x04810281,0x42814281,0x42814281); /* Themon */
-#endif
-
-#if PACKETVER >= 20141016
- packetKeys(0x2DFF467C,0x444B37EE,0x2C1B634F); /* YomRawr */
-#endif
-
-#if PACKETVER >= 20141022
- packetKeys(0x290551EA,0x2B952C75,0x2D67669B); /* YomRawr */
-#endif
-
-// 2015 Packet Keys
-
-#if PACKETVER == 20150107
- packetKeys(0x6C494A14,0x4DDB6427,0x3E6D7B65); /* 4144 */
-#endif
-
-#if PACKETVER == 20150114
- packetKeys(0x21C96102,0x13142934,0x1ABF4EA3); /* 4144 */
-#endif
-
-#if PACKETVER == 20150128
- packetKeys(0x77CA2D55,0x28B608F0,0x75B47957); /* 4144 */
-#endif
-
-#if PACKETVER == 20150204
- packetKeys(0x134529DB,0x5B4F6CEF,0x29EF11EF); /* 4144 */
-#endif
-
-#if PACKETVER == 20150225
- packetKeys(0x57FD4B7B,0x19CC16FB,0x0D255D72); /* 4144 */
-#endif
-
-#if PACKETVER == 20150226
- packetKeys(0x57FD4B7B,0x19CC16FB,0x0D255D72); /* 4144 */
-#endif
-
-#if PACKETVER == 20150311
- packetKeys(0x48C45D97,0x06CE09B0,0x5836642F); /* 4144 */
-#endif
-
-#if PACKETVER == 20150325
- packetKeys(0x68F62B8C,0x337C3468,0x38FC0AC7); /* 4144 */
-#endif
-
-#if PACKETVER == 20150401
- packetKeys(0x207F3A08,0x57E6160C,0x02A60382); /* 4144 */
-#endif
-
-#if PACKETVER == 20150422
- packetKeys(0x10D22CE2,0x69E279E2,0x79E279E2); /* 4144 */
-#endif
-
-#if PACKETVER == 20150429
- packetKeys(0x2BF61A71,0x565D5DDF,0x0FB90019); /* 4144 */
-#endif
-
-#if PACKETVER == 20150507
- packetKeys(0x55B54373,0x58967821,0x67F41832); /* 4144 */
-#endif
-
-#if PACKETVER >= 20150513
- packetKeys(0x62C86D09,0x75944F17,0x112C133D); /* Dastgir */
-#endif
-
-#if PACKETVER == 20150527
- packetKeys(0x35AE7BAE,0x3BAE3BAE,0x3BAE3BAE); /* 4144 */
-#endif
-
-#if PACKETVER == 20150617
- packetKeys(0x250F7E09,0x25416076,0x029A780E); /* 4144 */
-#endif
-
-#if PACKETVER == 20150618
- packetKeys(0x250F7E09,0x25416076,0x029A780E); /* 4144 */
-#endif
-
-#if PACKETVER == 20150819
- packetKeys(0x1A2400E0,0x736E5686,0x10F315D5); /* 4144 */
-#endif
-
-#if PACKETVER == 20150826
- packetKeys(0x77883C56,0x1829359F,0x0DE635B6); /* 4144 */
-#endif
-
-#if PACKETVER >= 20151001
- packetKeys(0x5CFF4561,0x32514AD1,0x06D126D1); /* Dastgir */
-#endif
-
-#if PACKETVER == 20151007
- packetKeys(0x3C6447A8,0x032170D7,0x6490476C); /* 4144 */
-#endif
-
-#if PACKETVER == 20151014
- packetKeys(0x402728A8,0x5D0E309F,0x240018FD); /* 4144 */
-#endif
-
-#if PACKETVER == 20151028
- packetKeys(0x45B945B9,0x45B945B9,0x45B945B9); /* 4144 */
-#endif
-
-#if PACKETVER >= 20151029
- packetKeys(0x45B945B9,0x45B945B9,0x45B945B9); /* Dastgir */
-#endif
-
-#if PACKETVER >= 20151104
- packetKeys(0x4C17382A,0x7ED174C9,0x29961E4F); /* ossi0110 */
-#endif
-
-#if PACKETVER == 20151118
- packetKeys(0x734C3241,0x6E846F34,0x731C06D6); /* 4144 */
-#endif
-
-#if PACKETVER == 20151202
- packetKeys(0x4EDE52DE,0x52DE52DE,0x52DE52DE); /* 4144 */
-#endif
-
-#if PACKETVER >= 20151216
- packetKeys(0x25DD643D,0x61AC39DE,0x77A8206D); /* Dastgir */
-#endif
-
-#if PACKETVER == 20151223
- packetKeys(0x347D68D0,0x2C705320,0x7B4A199D); /* 4144 */
-#endif
-
-#if PACKETVER == 20160127
- packetKeys(0x6B1E7146,0x612C47E6,0x274E56EE); /* 4144 */
-#endif
-
-#if PACKETVER == 20160203
- packetKeys(0x3E1411AF,0x6C744497,0x7CFA1BDE); /* 4144 */
-#endif
-
-#if PACKETVER == 20160217
- packetKeys(0x25895A8E,0x09421C19,0x763A2D7A); /* 4144 */
-#endif
-
-#if PACKETVER == 20160302
- packetKeys(0x7B4441B9,0x5BBC63AF,0x45DA0E71); /* 4144 */
-#endif
-
-#if PACKETVER == 20160309
- packetKeys(0x21587520,0x353A7706,0x1B722B25); /* 4144 */
-#endif
-
-#if PACKETVER == 20160330
- packetKeys(0x02050940,0x545336FF,0x7E7D4902); /* 4144 */
-#endif
-
-#if PACKETVER == 20160420
- packetKeys(0x67D2163A,0x3068215B,0x4835474D); /* 4144 */
-#endif
-
-#if PACKETVER == 20160511
- packetKeys(0x3C666FE2,0x27E84E3E,0x53E11BA5); /* 4144 */
-#endif
-
-#if PACKETVER == 20160525
- packetKeys(0x485C45B6,0x47DC6192,0x76B34A36); /* 4144 */
-#endif
-
-#if PACKETVER == 20160608
- packetKeys(0x11D74609,0x77C43E8A,0x44290F53); /* 4144 */
-#endif
-
-#if PACKETVER == 20160615
- packetKeys(0x062C5C26,0x6CF47E82,0x4DD53480); /* 4144 */
-#endif
-
-#if PACKETVER == 20160630
- packetKeys(0x0DF31CCC,0x54281606,0x5C4C6855); /* 4144 */
-#endif
-
-#if PACKETVER == 20160706
- packetKeys(0x33A766D0,0x743F04F8,0x0FA0276C); /* 4144 */
-#endif
-
-#if PACKETVER == 20160713
- packetKeys(0x714F2495,0x7DDC6F32,0x3FD8533D); /* 4144 */
+// 2017-05-24aRagexeRE
+#if PACKETVER == 20170524
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20160720
- packetKeys(0x4F8A19C0,0x2D8E085C,0x37BB67D6); /* 4144 */
+// 2017-05-31aRagexeRE
+#if PACKETVER == 20170531
+// shuffle packets
+ 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
+#endif
+
+// 2017-06-07bRagexeRE
+#if PACKETVER == 20170607
+// shuffle packets
+ 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
+#endif
+
+// 2017-06-14bRagexeRE
+#if PACKETVER == 20170614
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20160727
- packetKeys(0x3C6952AB,0x26E4077F,0x37E25DF7); /* 4144 */
+// 2017-06-14bRagexeRE
+#if PACKETVER >= 20170614
+// new packets
+ packet(0x0acf,52);
+ packet(0x0ad0,11);
+ packet(0x0ad1,-1);
#endif
-#if PACKETVER == 20160831
- packetKeys(0x564E13B0,0x7F680549,0x382D273B); /* 4144 */
+// 2017-06-21aRagexeRE
+#if PACKETVER == 20170621
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20160907
- packetKeys(0x32E5237D,0x57BD4DBD,0x5DBD5DBD); /* 4144 */
+// 2017-06-21aRagexeRE
+#if PACKETVER >= 20170621
+// changed packet sizes
+ packet(0x0acf,57);
#endif
-#if PACKETVER == 20160921
- packetKeys(0x11CD15CD,0x15CD15CD,0x15CD15CD); /* 4144 */
+// 2017-06-28bRagexeRE
+#if PACKETVER == 20170628
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20161012
- packetKeys(0x5E2311F2,0x14FD012C,0x76EB64F6); /* 4144 */
+// 2017-07-05aRagexeRE
+#if PACKETVER == 20170705
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20161026
- packetKeys(0x2CB86AE6,0x7D12660E,0x1B004DEB); /* 4144 */
+// 2017-07-05aRagexeRE
+#if PACKETVER >= 20170705
+// changed packet sizes
+ packet(0x0acf,64);
#endif
-#if PACKETVER == 20161109
- packetKeys(0x0A5277C0,0x2DB17506,0x0E8F26DA); /* 4144 */
+// 2017-07-12bRagexeRE
+#if PACKETVER == 20170712
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20161207
- packetKeys(0x52D267AA,0x4FE42156,0x1292153E); /* 4144 */
+// 2017-07-19aRagexeRE
+#if PACKETVER == 20170719
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20161214
- packetKeys(0x4DDE217B,0x07863AE0,0x5B591656); /* 4144 */
+// 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
-#if PACKETVER == 20161221
- packetKeys(0x69CB4F56,0x793C165E,0x673A2354); /* 4144 */
+// 2017-07-26cRagexeRE
+#if PACKETVER == 20170726
+// shuffle packets
+ 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
+#endif
+
+// 2017-07-26cRagexeRE
+#if PACKETVER >= 20170726
+// new packets
+ packet(0x0ada,30);
#endif
-#if PACKETVER == 20170125
- packetKeys(0x066E04FE,0x3004224A,0x04FF0458); /* 4144 */
+// 2017-08-01aRagexeRE
+#if PACKETVER == 20170801
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20170208
- packetKeys(0x6A764E5F,0x0609570D,0x28AE07FA); /* 4144 */
+// 2017-08-16cRagexeRE
+#if PACKETVER == 20170816
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20170228
- packetKeys(0x771D4F2B,0x20EF1F4C,0x0D5135C8); /* 4144 */
+// 2017-08-23aRagexeRE
+#if PACKETVER == 20170823
+// shuffle packets
+ packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); // CZ_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
#endif
-#if PACKETVER == 20170308
- packetKeys(0x653470A9,0x6B316A71,0x5C712C71); /* 4144 */
+// 2017-08-30bRagexeRE
+#if PACKETVER == 20170830
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20170315
- packetKeys(0x399A0856,0x56642A94,0x7F77157D); /* 4144 */
+// 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);
#endif
-#if PACKETVER == 20170322
- packetKeys(0x2050167B,0x01731233,0x40337033); /* 4144 */
+// 2017-09-06cRagexeRE
+#if PACKETVER == 20170906
+// shuffle packets
+ 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
#endif
-#if PACKETVER == 20170329
- packetKeys(0x18B31A80,0x1B0B1D56,0x16857D6A); /* 4144 */
+// 2017-09-06cRagexeRE
+#if PACKETVER >= 20170906
+// new packets
+ packet(0x0adc,6);
#endif
-#if PACKETVER == 20170405
- packetKeys(0x1FDE7DAC,0x2F9F5B63,0x3F2062AF); /* 4144 */
+// 2017-09-13bRagexeRE
+#if PACKETVER == 20170913
+// shuffle packets
+ 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
+#endif
+
+// 2017-09-13bRagexeRE
+#if PACKETVER >= 20170913
+// new packets
+ packet(0x0add,22);
#endif
-#if PACKETVER == 20170517
- packetKeys(0x2CC4749A,0x1FA954DC,0x72276857); /* 4144 */
+// 2017-09-20bRagexeRE
+#if PACKETVER == 20170920
+// shuffle packets
+ 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
#endif
-#if defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
- packetKeys(OBFUSCATIONKEY1,OBFUSCATIONKEY2,OBFUSCATIONKEY3);
+#if PACKETVER >= 20170920
+// new packets
+ packet(0x0ade,6);
+ packet(0x0adf,58);
#endif
#endif /* MAP_PACKETS_H */
diff --git a/src/map/packets_keys.h b/src/map/packets_keys.h
new file mode 100644
index 000000000..424956bc9
--- /dev/null
+++ b/src/map/packets_keys.h
@@ -0,0 +1,2139 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2013-2015 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef MAP_PACKETS_KEYS_H
+#define MAP_PACKETS_KEYS_H
+
+#ifndef packetKeys
+ #define packetKeys(a,b,c)
+#endif
+
+/* PacketKeys: http://herc.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */
+
+// 2010-11-23aRagexe, 2010-11-23aRagexeRE
+#if PACKETVER == 20101123
+ packetKeys(0x49357D72,0x22C370A1,0x5F836591);
+#endif
+
+// 2010-11-24aRagexe, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-24dRagexe, 2010-11-24eRagexe, 2010-11-24fRagexe
+#if PACKETVER == 20101124
+ packetKeys(0x49357D72,0x22C370A1,0x5F836591);
+#endif
+
+// 2010-11-26aRagexe, 2010-11-26aRagexeRE
+#if PACKETVER == 20101126
+ packetKeys(0x49357D72,0x22C370A1,0x5F836591);
+#endif
+
+// 2010-11-30aRagexe, 2010-11-30aRagexeRE
+#if PACKETVER == 20101130
+ packetKeys(0x3726593C,0x0EFD5EE8,0x79036DF9);
+#endif
+
+// 2010-12-07aRagexeRE, 2010-12-07bRagexe
+#if PACKETVER == 20101207
+ packetKeys(0x66111112,0x2B7B53AA,0x04E76DF8);
+#endif
+
+// 2010-12-14aRagexe, 2010-12-14aRagexeRE
+#if PACKETVER == 20101214
+ packetKeys(0x5E535D06,0x4E297F0E,0x400B6AD8);
+#endif
+
+// 2010-12-21aRagexe, 2010-12-21aRagexeRE
+#if PACKETVER == 20101221
+ packetKeys(0x0448466A,0x41554AC9,0x5B4710B2);
+#endif
+
+// 2010-12-28aRagexe, 2010-12-28aRagexeRE
+#if PACKETVER == 20101228
+ packetKeys(0x50C638A5,0x4BF86B20,0x480C3746);
+#endif
+
+// 2011-01-04aRagexe, 2011-01-04aRagexeRE
+#if PACKETVER == 20110104
+ packetKeys(0x55DB401F,0x047D4E02,0x6D8F2EA3);
+#endif
+
+// 2011-01-11aRagexe, 2011-01-11aRagexeRE
+#if PACKETVER == 20110111
+ packetKeys(0x2D5F6302,0x2A361CD6,0x39D661D6);
+#endif
+
+// 2011-01-18aRagexe, 2011-01-18aRagexeRE
+#if PACKETVER == 20110118
+ packetKeys(0x3C777D2D,0x00541A1D,0x5E0053A2);
+#endif
+
+// 2011-01-25aRagexe, 2011-01-25aRagexeRE
+#if PACKETVER == 20110125
+ packetKeys(0x6BB84BB0,0x4C004382,0x10AE3260);
+#endif
+
+// 2011-01-26aRagexe, 2011-01-26aRagexeRE, 2011-01-26bRagexe, 2011-01-26bRagexeRE
+#if PACKETVER == 20110126
+ packetKeys(0x6BB84BB0,0x4C004382,0x10AE3260);
+#endif
+
+// 2011-01-31aRagexe, 2011-01-31aRagexeRE, 2011-01-31bRagexe, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE
+#if PACKETVER == 20110131
+ packetKeys(0x6BB84BB0,0x4C004382,0x10AE3260);
+#endif
+
+// 2011-02-01aRagexe
+#if PACKETVER == 20110201
+ packetKeys(0x68871E62,0x60D17266,0x74726DAA);
+#endif
+
+// 2011-02-08aRagexe, 2011-02-08aRagexeRE
+#if PACKETVER == 20110208
+ packetKeys(0x72BA4E9D,0x281E1DF1,0x208255AA);
+#endif
+
+// 2011-02-10aRagexe, 2011-02-10bRagexe
+#if PACKETVER == 20110210
+ packetKeys(0x72BA4E9D,0x281E1DF1,0x208255AA);
+#endif
+
+// 2011-02-15aRagexe, 2011-02-15aRagexeRE
+#if PACKETVER == 20110215
+ packetKeys(0x1B174D76,0x32005014,0x7B8B72D5);
+#endif
+
+// 2011-02-22aRagexe, 2011-02-22aRagexeRE
+#if PACKETVER == 20110222
+ packetKeys(0x48F73B56,0x155F7D66,0x44AB57CE);
+#endif
+
+// 2011-02-23aRagexe, 2011-02-23aRagexeRE, 2011-02-23bRagexe, 2011-02-23bRagexeRE
+#if PACKETVER == 20110223
+ packetKeys(0x48F73B56,0x155F7D66,0x44AB57CE);
+#endif
+
+// 2011-02-24aRagexe, 2011-02-24aRagexeRE
+#if PACKETVER == 20110224
+ packetKeys(0x48F73B56,0x155F7D66,0x44AB57CE);
+#endif
+
+// 2011-02-25aRagexe, 2011-02-25aRagexeRE, 2011-02-25bRagexe
+#if PACKETVER == 20110225
+ packetKeys(0x48F73B56,0x155F7D66,0x44AB57CE);
+#endif
+
+// 2011-02-28aRagexe, 2011-02-28aRagexeRE
+#if PACKETVER == 20110228
+ packetKeys(0x26385EBF,0x7A8C7534,0x60AE2C34);
+#endif
+
+// 2011-03-08aRagexe, 2011-03-08aRagexeRE
+#if PACKETVER == 20110308
+ packetKeys(0x003F1B20,0x7A1E12A3,0x34994AAD);
+#endif
+
+// 2011-03-09aRagexe, 2011-03-09aRagexeRE, 2011-03-09bRagexe, 2011-03-09bRagexeRE, 2011-03-09cRagexe, 2011-03-09cRagexeRE, 2011-03-09dRagexe, 2011-03-09dRagexeRE
+#if PACKETVER == 20110309
+ packetKeys(0x003F1B20,0x7A1E12A3,0x34994AAD);
+#endif
+
+// 2011-03-15aRagexe, 2011-03-15aRagexeRE
+#if PACKETVER == 20110315
+ packetKeys(0x62967D7D,0x34833D1A,0x26D45ECA);
+#endif
+
+// 2011-03-16aRagexe
+#if PACKETVER == 20110316
+ packetKeys(0x62967D7D,0x34833D1A,0x26D45ECA);
+#endif
+
+// 2011-03-22aRagexe, 2011-03-22aRagexeRE
+#if PACKETVER == 20110322
+ packetKeys(0x5870617C,0x638D5376,0x739F4817);
+#endif
+
+// 2011-03-29aRagexe, 2011-03-29aRagexeRE
+#if PACKETVER == 20110329
+ packetKeys(0x06900BB7,0x45DB687B,0x197B017B);
+#endif
+
+// 2011-03-30aRagexe, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE
+#if PACKETVER == 20110330
+ packetKeys(0x06900BB7,0x45DB687B,0x197B017B);
+#endif
+
+// 2011-04-05aRagexe, 2011-04-05aRagexeRE
+#if PACKETVER == 20110405
+ packetKeys(0x248D5C37,0x1C6A1B37,0x1F644FDB);
+#endif
+
+// 2011-04-12aRagexeRE, 2011-04-12bRagexe
+#if PACKETVER == 20110412
+ packetKeys(0x3DE86BFC,0x0DD47F80,0x42481C9B);
+#endif
+
+// 2011-04-19aRagexe, 2011-04-19aRagexeRE
+#if PACKETVER == 20110419
+ packetKeys(0x26073204,0x62013A51,0x22AC58E0);
+#endif
+
+// 2011-04-26aRagexe, 2011-04-26aRagexeRE
+#if PACKETVER == 20110426
+ packetKeys(0x392813F9,0x09905054,0x40DB732E);
+#endif
+
+// 2011-05-03aRagexe, 2011-05-03aRagexeRE
+#if PACKETVER == 20110503
+ packetKeys(0x28BE32EE,0x1D506FCB,0x63832421);
+#endif
+
+// 2011-05-11aRagexe, 2011-05-11aRagexeRE
+#if PACKETVER == 20110511
+ packetKeys(0x6A715733,0x3C5C0D74,0x408A48EC);
+#endif
+
+// 2011-05-17aRagexe, 2011-05-17bRagexeRE
+#if PACKETVER == 20110517
+ packetKeys(0x07FE0C72,0x46766BAD,0x5EB5126A);
+#endif
+
+// 2011-05-23aRagexe
+#if PACKETVER == 20110523
+ packetKeys(0x69166916,0x69166916,0x69166916);
+#endif
+
+// 2011-05-26aRagexeRE, 2011-05-26bRagexe
+#if PACKETVER == 20110526
+ packetKeys(0x69166916,0x69166916,0x69166916);
+#endif
+
+// 2011-05-31aRagexe, 2011-05-31aRagexeRE
+#if PACKETVER == 20110531
+ packetKeys(0x5ABA2C7C,0x3CD22073,0x78953988);
+#endif
+
+// 2011-06-07aRagexe, 2011-06-07aRagexeRE
+#if PACKETVER == 20110607
+ packetKeys(0x76B0426C,0x0DD74DEB,0x1F92228E);
+#endif
+
+// 2011-06-08aRagexe, 2011-06-08aRagexeRE, 2011-06-08bRagexe, 2011-06-08bRagexeRE, 2011-06-08cRagexe, 2011-06-08cRagexeRE
+#if PACKETVER == 20110608
+ packetKeys(0x76B0426C,0x0DD74DEB,0x1F92228E);
+#endif
+
+// 2011-06-09aRagexe, 2011-06-09aRagexeRE
+#if PACKETVER == 20110609
+ packetKeys(0x76B0426C,0x0DD74DEB,0x1F92228E);
+#endif
+
+// 2011-06-14aRagexe, 2011-06-14bRagexeRE
+#if PACKETVER == 20110614
+ packetKeys(0x5749027B,0x71710972,0x5B096475);
+#endif
+
+// 2011-06-20aRagexe
+#if PACKETVER == 20110620
+ packetKeys(0x3A1760D4,0x254E0DF9,0x440E2357);
+#endif
+
+// 2011-06-27aRagexe
+#if PACKETVER == 20110627
+ packetKeys(0x3EFC29BD,0x699E4B11,0x7B900A13);
+#endif
+
+// 2011-07-05aRagexe
+#if PACKETVER == 20110705
+ packetKeys(0x48801A5E,0x68FC7726,0x081D7F6E);
+#endif
+
+// 2011-07-11bRagexe
+#if PACKETVER == 20110711
+ packetKeys(0x489C544B,0x33BA1C25,0x2DE66E4E);
+#endif
+
+// 2011-07-13aRagexe, 2011-07-13aRagexeRE, 2011-07-13bRagexe, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE
+#if PACKETVER == 20110713
+ packetKeys(0x489C544B,0x33BA1C25,0x2DE66E4E);
+#endif
+
+// 2011-07-18aRagexe
+#if PACKETVER == 20110718
+ packetKeys(0x08464674,0x1EEB3BD5,0x33395199);
+#endif
+
+// 2011-07-26aRagexe, 2011-07-26aRagexeRE
+#if PACKETVER == 20110726
+ packetKeys(0x41E5730B,0x119C6C11,0x5356524A);
+#endif
+
+// 2011-08-02aRagexe
+#if PACKETVER == 20110802
+ packetKeys(0x607C08A1,0x65B20528,0x360571E9);
+#endif
+
+// 2011-08-09aRagexe
+#if PACKETVER == 20110809
+ packetKeys(0x742A559A,0x047F425D,0x5C8C2CA0);
+#endif
+
+// 2011-08-16aRagexe, 2011-08-16aRagexeRE
+#if PACKETVER == 20110816
+ packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED);
+#endif
+
+// 2011-08-17aRagexe, 2011-08-17aRagexeRE, 2011-08-17bRagexe, 2011-08-17bRagexeRE
+#if PACKETVER == 20110817
+ packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED);
+#endif
+
+// 2011-08-23aRagexe, 2011-08-23aRagexeRE
+#if PACKETVER == 20110823
+ packetKeys(0x35C91401,0x262A5556,0x28FA03AA);
+#endif
+
+// 2011-08-24aRagexe, 2011-08-24aRagexeRE, 2011-08-24bRagexeRE
+#if PACKETVER == 20110824
+ 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);
+#endif
+
+// 2011-09-06aRagexe, 2011-09-06aRagexeRE
+#if PACKETVER == 20110906
+ packetKeys(0x350124EC,0x39A14595,0x0DE56125);
+#endif
+
+// 2011-09-14aRagexe, 2011-09-14aRagexeRE
+#if PACKETVER == 20110914
+ packetKeys(0x350124EC,0x39A14595,0x0DE56125);
+#endif
+
+// 2011-09-20aRagexe, 2011-09-20aRagexeRE, 2011-09-20aRagexeRE2
+#if PACKETVER == 20110920
+ packetKeys(0x79C91A12,0x20450CC0,0x584B2A38);
+#endif
+
+// 2011-09-28aRagexe, 2011-09-28aRagexe-retry, 2011-09-28aRagexeRE
+#if PACKETVER == 20110928
+ packetKeys(0x26567512,0x4B0732DF,0x57D266C6);
+#endif
+
+// 2011-09-29aRagexe, 2011-09-29aRagexeRE
+#if PACKETVER == 20110929
+ packetKeys(0x26567512,0x4B0732DF,0x57D266C6);
+#endif
+
+// 2011-10-04aRagexe, 2011-10-04aRagexeRE
+#if PACKETVER == 20111004
+ packetKeys(0x291E6762,0x77CD391A,0x60AC2F16);
+#endif
+
+// 2011-10-05aRagexe, 2011-10-05aRagexeRE
+#if PACKETVER == 20111005
+ packetKeys(0x291E6762,0x77CD391A,0x60AC2F16);
+#endif
+
+// 2011-10-10aRagexe, 2011-10-10bRagexeRE
+#if PACKETVER == 20111010
+ packetKeys(0x7F3C2D29,0x59B01DE6,0x1DBB44CA);
+#endif
+
+// 2011-10-12aRagexeRE, 2011-10-12bRagexe
+#if PACKETVER == 20111012
+ packetKeys(0x7F3C2D29,0x59B01DE6,0x1DBB44CA);
+#endif
+
+// 2011-10-17aRagexe, 2011-10-17aRagexeRE
+#if PACKETVER == 20111017
+ packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5);
+#endif
+
+// 2011-10-19aRagexeRE, 2011-10-19bRagexeRE
+#if PACKETVER == 20111019
+ packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5);
+#endif
+
+// 2011-10-21aRagexe, 2011-10-21aRagexeRE, 2011-10-21cRagexe
+#if PACKETVER == 20111021
+ packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5);
+#endif
+
+// 2011-10-25aRagexe, 2011-10-25aRagexeRE
+#if PACKETVER == 20111025
+ packetKeys(0x50AE1A63,0x3CE579B5,0x29C10406);
+#endif
+
+// 2011-11-01cRagexe, 2011-11-01cRagexeRE
+#if PACKETVER == 20111101
+ packetKeys(0x5324329D,0x5D545D52,0x06137269);
+#endif
+
+// 2011-11-02aRagexe, 2011-11-02aRagexeRE
+#if PACKETVER == 20111102
+ packetKeys(0x5324329D,0x5D545D52,0x06137269);
+#endif
+
+// 2011-11-08aRagexe, 2011-11-08aRagexeRE
+#if PACKETVER == 20111108
+ packetKeys(0x0B642BDA,0x6ECB1D1C,0x61C7454B);
+#endif
+
+// 2011-11-09aRagexe, 2011-11-09aRagexeRE, 2011-11-09bRagexe, 2011-11-09cRagexe, 2011-11-09dRagexe, 2011-11-09eRagexe
+#if PACKETVER == 20111109
+ packetKeys(0x0B642BDA,0x6ECB1D1C,0x61C7454B);
+#endif
+
+// 2011-11-14aRagexe, 2011-11-14aRagexeRE
+#if PACKETVER == 20111114
+ packetKeys(0x419D0DB0,0x74916BF4,0x027371B4);
+#endif
+
+// 2011-11-16aRagexe, 2011-11-16aRagexeRE
+#if PACKETVER == 20111116
+ packetKeys(0x419D0DB0,0x74916BF4,0x027371B4);
+#endif
+
+// 2011-11-22aRagexe, 2011-11-22aRagexeRE
+#if PACKETVER == 20111122
+ packetKeys(0x3B550F07,0x1F666C7C,0x60304EF5);
+#endif
+
+// 2011-11-23aRagexe
+#if PACKETVER == 20111123
+ packetKeys(0x3B550F07,0x1F666C7C,0x60304EF5);
+#endif
+
+// 2011-12-07aRagexe, 2011-12-07aRagexeRE
+#if PACKETVER == 20111207
+ packetKeys(0x2A610886,0x3E09165E,0x57C11888);
+#endif
+
+// 2011-12-13aRagexe, 2011-12-13aRagexeRE
+#if PACKETVER == 20111213
+ packetKeys(0x5151306B,0x7AE32886,0x53060628);
+#endif
+
+// 2011-12-14aRagexe, 2011-12-14aRagexeRE, 2011-12-14bRagexeRE, 2011-12-14cRagexeRE
+#if PACKETVER == 20111214
+ packetKeys(0x5151306B,0x7AE32886,0x53060628);
+#endif
+
+// 2011-12-20bRagexe, 2011-12-20bRagexeRE
+#if PACKETVER == 20111220
+ packetKeys(0x05D53871,0x7D0027B4,0x29975333);
+#endif
+
+// 2011-12-27aRagexe, 2011-12-27aRagexeRE
+#if PACKETVER == 20111227
+ packetKeys(0x0FF87E93,0x6CFF7860,0x3A3D1DEC);
+#endif
+
+// 2011-12-28aRagexe, 2011-12-28aRagexeRE
+#if PACKETVER == 20111228
+ packetKeys(0x0FF87E93,0x6CFF7860,0x3A3D1DEC);
+#endif
+
+// 2012-01-03aRagexe, 2012-01-03bRagexeRE
+#if PACKETVER == 20120103
+ packetKeys(0x262034A1,0x674542A5,0x73A50BA5);
+#endif
+
+// 2012-01-04aRagexe, 2012-01-04aRagexeRE, 2012-01-04bRagexe
+#if PACKETVER == 20120104
+ packetKeys(0x262034A1,0x674542A5,0x73A50BA5);
+#endif
+
+// 2012-01-10aRagexeRE, 2012-01-10bRagexe
+#if PACKETVER == 20120110
+ packetKeys(0x2B412AFC,0x4FF94487,0x6705339D);
+#endif
+
+// 2012-01-17aRagexe, 2012-01-17aRagexeRE
+#if PACKETVER == 20120117
+ packetKeys(0x24E32C2E,0x48DD17A5,0x64F8771A);
+#endif
+
+// 2012-01-18aRagexe
+#if PACKETVER == 20120118
+ packetKeys(0x24E32C2E,0x48DD17A5,0x64F8771A);
+#endif
+
+// 2012-01-20aRagexe, 2012-01-20aRagexeRE
+#if PACKETVER == 20120120
+ packetKeys(0x504345D0,0x3D427B1B,0x794C2DCC);
+#endif
+
+// 2012-01-31aRagexe, 2012-01-31cRagexeRE
+#if PACKETVER == 20120131
+ packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0);
+#endif
+
+// 2012-02-01aRagexeRE
+#if PACKETVER == 20120201
+ packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0);
+#endif
+
+// 2012-02-02aRagexe, 2012-02-02aRagexeRE, 2012-02-02bRagexe, 2012-02-02bRagexeRE
+#if PACKETVER == 20120202
+ packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0);
+#endif
+
+// 2012-02-07bRagexe, 2012-02-07bRagexeRE
+#if PACKETVER == 20120207
+ packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D);
+#endif
+
+// 2012-02-08aRagexe
+#if PACKETVER == 20120208
+ packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D);
+#endif
+
+// 2012-02-09aRagexe
+#if PACKETVER == 20120209
+ packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D);
+#endif
+
+// 2012-02-14bRagexe, 2012-02-14bRagexeRE
+#if PACKETVER == 20120214
+ packetKeys(0x7A255EFA,0x30977276,0x2D4A0448);
+#endif
+
+// 2012-02-15aRagexe
+#if PACKETVER == 20120215
+ packetKeys(0x7A255EFA,0x30977276,0x2D4A0448);
+#endif
+
+// 2012-02-21aRagexe, 2012-02-21aRagexeRE
+#if PACKETVER == 20120221
+ packetKeys(0x1CA5130F,0x43ED240A,0x7FEA3BE0);
+#endif
+
+// 2012-02-22aRagexe, 2012-02-22aRagexeRE
+#if PACKETVER == 20120222
+ packetKeys(0x1CA5130F,0x43ED240A,0x7FEA3BE0);
+#endif
+
+// 2012-02-28bRagexe, 2012-02-28bRagexeRE
+#if PACKETVER == 20120228
+ packetKeys(0x520B4C64,0x2800407D,0x47651458);
+#endif
+
+// 2012-02-29aRagexe, 2012-02-29aRagexeRE
+#if PACKETVER == 20120229
+ 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);
+#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);
+#endif
+
+// 2012-03-20aRagexe, 2012-03-20aRagexeRE
+#if PACKETVER == 20120320
+ packetKeys(0x21F9683F,0x710C5CA5,0x1FD910E9);
+#endif
+
+// 2012-03-21aRagexeRE
+#if PACKETVER == 20120321
+ 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);
+#endif
+
+// 2012-04-04aRagexe, 2012-04-04aRagexeRE
+#if PACKETVER == 20120404
+ packetKeys(0x0036310C,0x2DCD0BED,0x1EE62A78);
+#endif
+
+// 2012-04-10aRagexe, 2012-04-10aRagexeRE
+#if PACKETVER == 20120410
+ packetKeys(0x01581359,0x452D6FFA,0x6AFB6E2E);
+#endif
+
+// 2012-04-17aRagexe, 2012-04-17aRagexeRE
+#if PACKETVER == 20120417
+ packetKeys(0x01540E48,0x13041224,0x31247924);
+#endif
+
+// 2012-04-18aRagexeRE
+#if PACKETVER == 20120418
+ packetKeys(0x01540E48,0x13041224,0x31247924);
+#endif
+
+// 2012-04-24aRagexe, 2012-04-24aRagexeRE
+#if PACKETVER == 20120424
+ packetKeys(0x411D1DBB,0x4CBA4848,0x1A432FC4);
+#endif
+
+// 2012-05-02aRagexeRE
+#if PACKETVER == 20120502
+ packetKeys(0x37A91D19,0x10190019,0x00190019);
+#endif
+
+// 2012-05-03aRagexe, 2012-05-03aRagexeRE, 2012-05-03bRagexe
+#if PACKETVER == 20120503
+ packetKeys(0x37A91D19,0x10190019,0x00190019);
+#endif
+
+// 2012-05-08aRagexe, 2012-05-08aRagexeRE
+#if PACKETVER == 20120508
+ packetKeys(0x16CF3301,0x1F472B9B,0x0B4A3CD2);
+#endif
+
+// 2012-05-09aRagexeRE, 2012-05-09bRagexeRE
+#if PACKETVER == 20120509
+ packetKeys(0x16CF3301,0x1F472B9B,0x0B4A3CD2);
+#endif
+
+// 2012-05-15aRagexe, 2012-05-15aRagexeRE
+#if PACKETVER == 20120515
+ packetKeys(0x4A715EF9,0x79103E4F,0x405C1238);
+#endif
+
+// 2012-05-22aRagexe
+#if PACKETVER == 20120522
+ packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08);
+#endif
+
+// 2012-05-23aRagexe, 2012-05-23aRagexeRE, 2012-05-23bRagexeRE
+#if PACKETVER == 20120523
+ packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08);
+#endif
+
+// 2012-05-25aRagexeRE
+#if PACKETVER == 20120525
+ packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08);
+#endif
+
+// 2012-05-29bRagexe, 2012-05-29bRagexeRE, 2012-05-29bragexe
+#if PACKETVER == 20120529
+ packetKeys(0x53415DDE,0x34953E16,0x27623DF2);
+#endif
+
+// 2012-06-01aRagexeRE
+#if PACKETVER == 20120601
+ packetKeys(0x68CA3080,0x31B74BDD,0x505208F1);
+#endif
+
+// 2012-06-04aRagexe, 2012-06-04aragexe
+#if PACKETVER == 20120604
+ packetKeys(0x68CA3080,0x31B74BDD,0x505208F1);
+#endif
+
+// 2012-06-05aRagexeRE
+#if PACKETVER == 20120605
+ packetKeys(0x68CA3080,0x31B74BDD,0x505208F1);
+#endif
+
+// 2012-06-12aRagexe, 2012-06-12aRagexeRE, 2012-06-12aragexe
+#if PACKETVER == 20120612
+ packetKeys(0x32E45D64,0x35643564,0x35643564);
+#endif
+
+// 2012-06-18aRagexe, 2012-06-18aRagexeRE, 2012-06-18aragexe
+#if PACKETVER == 20120618
+ packetKeys(0x261F261F,0x261F261F,0x261F261F);
+#endif
+
+// 2012-06-26aRagexe, 2012-06-26aRagexeRE, 2012-06-26aragexe
+#if PACKETVER == 20120626
+ packetKeys(0x02277E66,0x045723F1,0x7107392C);
+#endif
+
+// 2012-06-27aRagexe, 2012-06-27aRagexeRE, 2012-06-27aragexe
+#if PACKETVER == 20120627
+ packetKeys(0x02277E66,0x045723F1,0x7107392C);
+#endif
+
+// 2012-07-02aRagexe, 2012-07-02aRagexeRE, 2012-07-02aragexe
+#if PACKETVER == 20120702
+ packetKeys(0x25733B31,0x53486CFD,0x398649BD);
+#endif
+
+// 2012-07-10aRagexe, 2012-07-10aRagexeRE
+#if PACKETVER == 20120710
+ packetKeys(0x0E8B7AFB,0x6930362D,0x42D33A57);
+#endif
+
+// 2012-07-12aRagexe, 2012-07-12aRagexeRE
+#if PACKETVER == 20120712
+ packetKeys(0x0E8B7AFB,0x6930362D,0x42D33A57);
+#endif
+
+// 2012-07-16aRagexe, 2012-07-16aRagexeRE
+#if PACKETVER == 20120716
+ packetKeys(0x76052205,0x22052205,0x22052205);
+#endif
+
+// 2012-07-24aRagexe, 2012-07-24aRagexeRE
+#if PACKETVER == 20120724
+ packetKeys(0x783D5BC6,0x3AAC2176,0x66616F02);
+#endif
+
+// 2012-08-01aRagexe, 2012-08-01aRagexeRE, 2012-08-01bRagexe, 2012-08-01bRagexeRE
+#if PACKETVER == 20120801
+ 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);
+#endif
+
+// 2012-08-14aRagexe, 2012-08-14aRagexeRE, 2012-08-14bRagexe, 2012-08-14bRagexeRE
+#if PACKETVER == 20120814
+ 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);
+#endif
+
+// 2012-08-30aRagexe, 2012-08-30aRagexeRE, 2012-08-30bRagexeRE
+#if PACKETVER == 20120830
+ packetKeys(0x0AF1363D,0x4AB33E3B,0x48421DBE);
+#endif
+
+// 2012-09-05aRagexe, 2012-09-05aRagexeRE
+#if PACKETVER == 20120905
+ packetKeys(0x04F50D80,0x092F5C4D,0x29BF3DCF);
+#endif
+
+// 2012-09-11aRagexe, 2012-09-11aRagexeRE
+#if PACKETVER == 20120911
+ packetKeys(0x1F3D1145,0x02DB3C32,0x4BE34C49);
+#endif
+
+// 2012-09-19aRagexe, 2012-09-19aRagexeRE
+#if PACKETVER == 20120919
+ packetKeys(0x72E00F24,0x4EA02D80,0x7C803480);
+#endif
+
+// 2012-09-25aRagexe, 2012-09-25aRagexeRE
+#if PACKETVER == 20120925
+ packetKeys(0x43A66E22,0x36C2229F,0x08172ECE);
+#endif
+
+// 2012-09-26aRagexe, 2012-09-26aRagexeRE
+#if PACKETVER == 20120926
+ packetKeys(0x43A66E22,0x36C2229F,0x08172ECE);
+#endif
+
+// 2012-10-10aRagexe, 2012-10-10aRagexeRE, 2012-10-10bRagexe, 2012-10-10bRagexeRE
+#if PACKETVER == 20121010
+ packetKeys(0x169733E2,0x4C4640DC,0x31636531);
+#endif
+
+// 2012-10-11aRagexeRE
+#if PACKETVER == 20121011
+ packetKeys(0x169733E2,0x4C4640DC,0x31636531);
+#endif
+
+// 2012-10-17aRagexe, 2012-10-17aRagexeRE, 2012-10-17bRagexe, 2012-10-17bRagexeRE
+#if PACKETVER == 20121017
+ packetKeys(0x340C0C31,0x33205EA8,0x55964BFF);
+#endif
+
+// 2012-10-24aRagexe, 2012-10-24aRagexeRE
+#if PACKETVER == 20121024
+ packetKeys(0x6166335C,0x45393483,0x7EDC5478);
+#endif
+
+// 2012-10-31aRagexe, 2012-10-31aRagexeRE
+#if PACKETVER == 20121031
+ packetKeys(0x66EB7ADB,0x242864BB,0x354A4CDE);
+#endif
+
+// 2012-11-07aRagexe, 2012-11-07aRagexeRE
+#if PACKETVER == 20121107
+ packetKeys(0x49967892,0x48025276,0x1E192CA3);
+#endif
+
+// 2012-11-14aRagexe, 2012-11-14aRagexeRE
+#if PACKETVER == 20121114
+ packetKeys(0x3473545C,0x2706445C,0x79647616);
+#endif
+
+// 2012-11-21aRagexe, 2012-11-21aRagexeRE
+#if PACKETVER == 20121121
+ packetKeys(0x6EB54B0B,0x3F2A6BE5,0x0B2866E6);
+#endif
+
+// 2012-11-28aRagexe, 2012-11-28aRagexeRE
+#if PACKETVER == 20121128
+ packetKeys(0x146D4D5E,0x5C3D161B,0x759250B8);
+#endif
+
+// 2012-12-05aRagexe, 2012-12-05aRagexeRE, 2012-12-05bRagexe, 2012-12-05bRagexeRE
+#if PACKETVER == 20121205
+ 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);
+#endif
+
+// 2012-12-18aRagexe, 2012-12-18aRagexeRE, 2012-12-18bRagexe, 2012-12-18bRagexeRE
+#if PACKETVER == 20121218
+ packetKeys(0x6A5450A2,0x4322498A,0x2C6574FB);
+#endif
+
+// 2012-12-27aRagexe, 2012-12-27aRagexeRE
+#if PACKETVER == 20121227
+ packetKeys(0x71773018,0x36A14EEB,0x28CD5A20);
+#endif
+
+// 2013-01-03aRagexe, 2013-01-03aRagexeRE
+#if PACKETVER == 20130103
+ packetKeys(0x1E1A559A,0x199A799A,0x799A799A);
+#endif
+
+// 2013-01-07aRagexe
+#if PACKETVER == 20130107
+ packetKeys(0x1E1A559A,0x199A799A,0x799A799A);
+#endif
+
+// 2013-01-09aRagexe, 2013-01-09aRagexeRE
+#if PACKETVER == 20130109
+ packetKeys(0x6435360F,0x0A283678,0x64A04AC7);
+#endif
+
+// 2013-01-15aRagexeRE, 2013-01-15bRagexe
+#if PACKETVER == 20130115
+ packetKeys(0x273C25CD,0x06AA48AF,0x45A01BD4);
+#endif
+
+// 2013-01-16aRagexe, 2013-01-16aRagexeRE, 2013-01-16bRagexe
+#if PACKETVER == 20130116
+ packetKeys(0x273C25CD,0x06AA48AF,0x45A01BD4);
+#endif
+
+// 2013-01-21aRagexe, 2013-01-21aRagexeRE
+#if PACKETVER == 20130121
+ packetKeys(0x5DD874B0,0x7D98233F,0x28FF5566);
+#endif
+
+// 2013-01-30aRagexe, 2013-01-30aRagexeRE
+#if PACKETVER == 20130130
+ packetKeys(0x1EA57961,0x27786856,0x30301FA0);
+#endif
+
+// 2013-02-06aRagexe, 2013-02-06aRagexeRE
+#if PACKETVER == 20130206
+ packetKeys(0x1D8F4227,0x675812AA,0x29132929);
+#endif
+
+// 2013-02-15aRagexe, 2013-02-15aRagexeRE, 2013-02-15bRagexe
+#if PACKETVER == 20130215
+ packetKeys(0x69FB1C38,0x7D386860,0x62805311);
+#endif
+
+// 2013-02-20aRagexe, 2013-02-20bRagexeRE
+#if PACKETVER == 20130220
+ packetKeys(0x0D555256,0x28C26722,0x72220A22);
+#endif
+
+// 2013-02-27aRagexe, 2013-02-27aRagexeRE
+#if PACKETVER == 20130227
+ packetKeys(0x44F86842,0x43786A7A,0x71654528);
+#endif
+
+// 2013-03-06aRagexe, 2013-03-06aRagexeRE, 2013-03-06bRagexeRE
+#if PACKETVER == 20130306
+ packetKeys(0x7E274326,0x7D182DF2,0x4FC27DFA);
+#endif
+
+// 2013-03-13aRagexe, 2013-03-13aRagexeRE, 2013-03-13bRagexeRE, 2013-03-13cRagexeRE
+#if PACKETVER == 20130313
+ packetKeys(0x560021C3,0x6A5D110F,0x52BD40A5);
+#endif
+
+// 2013-03-20bRagexeRE, 2013-03-20cRagexeRE, 2013-03-20dRagexe, 2013-03-20eRagexe
+#if PACKETVER == 20130320
+ packetKeys(0x3F094C49,0x55F86C1E,0x58AA359A);
+#endif
+
+// 2013-03-27bRagexe, 2013-03-27bRagexeRE
+#if PACKETVER == 20130327
+ packetKeys(0x114B1BA0,0x2C4F0AE2,0x5FA1183F);
+#endif
+
+// 2013-04-03aRagexe, 2013-04-03aRagexeRE
+#if PACKETVER == 20130403
+ packetKeys(0x424A43AE,0x4A9D5EBE,0x4B3518A9);
+#endif
+
+// 2013-04-10aRagexe, 2013-04-10aRagexeRE
+#if PACKETVER == 20130410
+ packetKeys(0x3AD52ACA,0x314D1AED,0x086E415E);
+#endif
+
+// 2013-04-17aRagexe, 2013-04-17aRagexeRE
+#if PACKETVER == 20130417
+ packetKeys(0x7FB13B83,0x6E003749,0x07A02B94);
+#endif
+
+// 2013-04-24aRagexe, 2013-04-24aRagexeRE
+#if PACKETVER == 20130424
+ packetKeys(0x79F679F6,0x79F679F6,0x79F679F6);
+#endif
+
+// 2013-05-02aRagexe, 2013-05-02aRagexeRE, 2013-05-02bRagexe
+#if PACKETVER == 20130502
+ 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);
+#endif
+
+// 2013-05-15aRagexe, 2013-05-15aRagexeRE
+#if PACKETVER == 20130515
+ packetKeys(0x75794A38,0x58A96BC1,0x296E6FB8);
+#endif
+
+// 2013-05-22Ragexe, 2013-05-22aRagexe, 2013-05-22aRagexeRE
+#if PACKETVER == 20130522
+ packetKeys(0x6948050B,0x06511D9D,0x725D4DF1);
+#endif
+
+// 2013-05-29Ragexe, 2013-05-29aRagexe, 2013-05-29aRagexeRE
+#if PACKETVER == 20130529
+ packetKeys(0x023A6C87,0x14BF1F1E,0x5CC70CC9);
+#endif
+
+// 2013-06-05Ragexe, 2013-06-05aRagexe, 2013-06-05bRagexe, 2013-06-05cRagexeRE
+#if PACKETVER == 20130605
+ 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);
+#endif
+
+// 2013-06-18aRagexe, 2013-06-18aRagexeRE
+#if PACKETVER == 20130618
+ packetKeys(0x434115DE,0x34A10FE9,0x6791428E);
+#endif
+
+// 2013-06-26aRagexeRE, 2013-06-26bRagexe, 2013-06-26bRagexeRE, 2013-06-26cRagexe
+#if PACKETVER == 20130626
+ packetKeys(0x38F453EF,0x6A040FD8,0x65BD6668);
+#endif
+
+// 2013-07-03aRagexe, 2013-07-03bRagexeRE
+#if PACKETVER == 20130703
+ 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);
+#endif
+
+// 2013-07-17cRagexe, 2013-07-17cRagexeRE, 2013-07-17dRagexeRE, 2013-07-17eRagexeRE
+#if PACKETVER == 20130717
+ packetKeys(0x5EE5520C,0x5F9E00CF,0x2BED4F91);
+#endif
+
+// 2013-07-24eRagexe, 2013-07-24eRagexeRE, 2013-07-24fRagexeRE
+#if PACKETVER == 20130724
+ packetKeys(0x3C243BF5,0x42CC4E2F,0x02106EC6);
+#endif
+
+// 2013-07-31cRagexe, 2013-07-31cRagexeRE
+#if PACKETVER == 20130731
+ packetKeys(0x1E9D11A6,0x21A232B8,0x6A9E02B7);
+#endif
+
+// 2013-08-07aRagexe, 2013-08-07aRagexeRE
+#if PACKETVER == 20130807
+ packetKeys(0x7E241DE0,0x5E805580,0x3D807D80);
+#endif
+
+// 2013-08-14aRagexe, 2013-08-14aRagexeRE
+#if PACKETVER == 20130814
+ packetKeys(0x23A23148,0x0C41420E,0x53785AD7);
+#endif
+
+// 2013-08-21bRagexe, 2013-08-21dRagexeRE
+#if PACKETVER == 20130821
+ packetKeys(0x51673F38,0x01663512,0x5CFF0B3D);
+#endif
+
+// 2013-08-28bRagexe, 2013-08-28bRagexeRE, 2013-08-28cRagexe, 2013-08-28cRagexeRE
+#if PACKETVER == 20130828
+ packetKeys(0x02EF7A9A,0x4882042F,0x76796678);
+#endif
+
+// 2013-09-04aRagexe, 2013-09-04bRagexeRE
+#if PACKETVER == 20130904
+ packetKeys(0x41AF20C5,0x0997799E,0x4AE803A0);
+#endif
+
+// 2013-09-11aRagexe, 2013-09-11aRagexeRE, 2013-09-11bRagexe, 2013-09-11bRagexeRE
+#if PACKETVER == 20130911
+ packetKeys(0x232B3F47,0x0AD0515F,0x1CA31828);
+#endif
+
+// 2013-09-17aRagexe, 2013-09-17aRagexeRE
+#if PACKETVER == 20130917
+ 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);
+#endif
+
+// 2013-10-02aRagexe, 2013-10-02aRagexeRE
+#if PACKETVER == 20131002
+ packetKeys(0x63A466F7,0x635362F3,0x41F369F3);
+#endif
+
+// 2013-10-08aRagexe, 2013-10-08bRagexeRE
+#if PACKETVER == 20131008
+ packetKeys(0x64924AAD,0x08CA0445,0x1CBC36DE);
+#endif
+
+// 2013-10-16aRagexe, 2013-10-16aRagexeRE, 2013-10-16bRagexe, 2013-10-16bRagexeRE
+#if PACKETVER == 20131016
+ packetKeys(0x33AD7A93,0x720C7C49,0x12C4205A);
+#endif
+
+// 2013-10-23aRagexe, 2013-10-23aRagexeRE
+#if PACKETVER == 20131023
+ packetKeys(0x02EF6163,0x2B774814,0x58EC3036);
+#endif
+
+// 2013-10-30aRagexe, 2013-10-30aRagexeRE
+#if PACKETVER == 20131030
+ packetKeys(0x4A6A3EFF,0x7E2D5237,0x01CA019E);
+#endif
+
+// 2013-11-06aRagexe, 2013-11-06aRagexeRE
+#if PACKETVER == 20131106
+ packetKeys(0x143E528F,0x5CA05899,0x44B85B23);
+#endif
+
+// 2013-11-07aRagexe, 2013-11-07cRagexe
+#if PACKETVER == 20131107
+ packetKeys(0x143E528F,0x5CA05899,0x44B85B23);
+#endif
+
+// 2013-11-08aRagexe
+#if PACKETVER == 20131108
+ packetKeys(0x143E528F,0x5CA05899,0x44B85B23);
+#endif
+
+// 2013-11-13aRagexeRE, 2013-11-13bRagexe
+#if PACKETVER == 20131113
+ packetKeys(0x44EA14CD,0x49311C88,0x40C86C31);
+#endif
+
+// 2013-11-20dRagexe, 2013-11-20eRagexeRE
+#if PACKETVER == 20131120
+ packetKeys(0x541E5172,0x1B1D30A0,0x28AA7CE5);
+#endif
+
+// 2013-11-27aRagexeRE, 2013-11-27bRagexe, 2013-11-27bRagexeRE
+#if PACKETVER == 20131127
+ packetKeys(0x21426A48,0x5C505D6A,0x046D06AD);
+#endif
+
+// 2013-12-04dRagexeRE, 2013-12-04eRagexe, 2013-12-04eRagexeRE
+#if PACKETVER == 20131204
+ packetKeys(0x792760B2,0x5AF45387,0x36165603);
+#endif
+
+// 2013-12-11cRagexeRE, 2013-12-11dRagexe, 2013-12-11eRagexeRE
+#if PACKETVER == 20131211
+ packetKeys(0x55B0394E,0x4D341FF2,0x60BC1DC3);
+#endif
+
+// 2013-12-18aRagexeRE, 2013-12-18bRagexe
+#if PACKETVER == 20131218
+ packetKeys(0x6A596301,0x76866D0E,0x32294A45);
+#endif
+
+// 2013-12-23aRagexeRE, 2013-12-23bRagexe, 2013-12-23bRagexeRE, 2013-12-23cRagexe, 2013-12-23xRagexeRE
+#if PACKETVER == 20131223
+ packetKeys(0x631C511C,0x111C111C,0x111C111C);
+#endif
+
+// 2013-12-30aRagexe, 2013-12-30aRagexeRE
+#if PACKETVER == 20131230
+ packetKeys(0x611B7097,0x01F957A1,0x768A0FCB);
+#endif
+
+// 2014-01-08bRagexeRE, 2014-01-08cRagexe, 2014-01-08cRagexeRE, 2014-01-08dRagexe
+#if PACKETVER == 20140108
+ packetKeys(0x4A1E26F2,0x231E7EFE,0x61FE19FE);
+#endif
+
+// 2014-01-15aRagexe, 2014-01-15bRagexe, 2014-01-15cRagexeRE, 2014-01-15dRagexeRE, 2014-01-15eRagexe, 2014-01-15eRagexeRE
+#if PACKETVER == 20140115
+ packetKeys(0x63224335,0x0F3A1F27,0x6D217B24);
+#endif
+
+// 2014-01-22aRagexe, 2014-01-22aRagexeRE
+#if PACKETVER == 20140122
+ packetKeys(0x6123177B,0x05B42C99,0x71702594);
+#endif
+
+// 2014-01-29aRagexe, 2014-01-29bRagexeRE, 2014-01-29cRagexe
+#if PACKETVER == 20140129
+ packetKeys(0x2E52163C,0x605E518B,0x3C7A62CB);
+#endif
+
+// 2014-02-05bRagexe, 2014-02-05bRagexeRE
+#if PACKETVER == 20140205
+ packetKeys(0x63DC7BDC,0x7BDC7BDC,0x7BDC7BDC);
+#endif
+
+// 2014-02-12aRagexe, 2014-02-12aRagexeRE
+#if PACKETVER == 20140212
+ packetKeys(0x46837074,0x65292E89,0x77237F9C);
+#endif
+
+// 2014-02-19aRagexe, 2014-02-19aRagexeRE, 2014-02-19bRagexeRE
+#if PACKETVER == 20140219
+ packetKeys(0x4E3C5327,0x3A6B5469,0x2CE36AED);
+#endif
+
+// 2014-02-26aRagexe, 2014-02-26aRagexeRE, 2014-02-26bRagexeRE
+#if PACKETVER == 20140226
+ packetKeys(0x36D71056,0x52122F5E,0x6FF76E99);
+#endif
+
+// 2014-03-05aRagexe, 2014-03-05aRagexeRE, 2014-03-05bRagexe, 2014-03-05bRagexeRE
+#if PACKETVER == 20140305
+ packetKeys(0x116763F2,0x41117DAC,0x7FD13C45);
+#endif
+
+// 2014-03-12bRagexeRE, 2014-03-12dRagexe
+#if PACKETVER == 20140312
+ packetKeys(0x48911E4E,0x58CB2EB3,0x05232619);
+#endif
+
+// 2014-03-19aRagexeRE
+#if PACKETVER == 20140319
+ packetKeys(0x3DA44383,0x1ABB165F,0x5B6846B9);
+#endif
+
+// 2014-03-26aRagexe, 2014-03-26cRagexeRE
+#if PACKETVER == 20140326
+ packetKeys(0x68E72AF6,0x27DB4C3D,0x348F2677);
+#endif
+
+// 2014-04-02eRagexeRE, 2014-04-02fRagexe, 2014-04-02fRagexeRE, 2014-04-02gRagexe
+#if PACKETVER == 20140402
+ packetKeys(0x15D3271C,0x004D725B,0x111A3A37);
+#endif
+
+// 2014-04-09aRagexe, 2014-04-09aRagexeRE, 2014-04-09bRagexe
+#if PACKETVER == 20140409
+ packetKeys(0x7F6C390F,0x139C254C,0x7F25708C);
+#endif
+
+// 2014-04-16aRagexe, 2014-04-16aRagexeRE, 2014-04-16bRagexe
+#if PACKETVER == 20140416
+ packetKeys(0x04810281,0x42814281,0x42814281);
+#endif
+
+// 2014-04-23aRagexe, 2014-04-23aRagexeRE
+#if PACKETVER == 20140423
+ packetKeys(0x7E0D6B56,0x74673CD3,0x2EBA4940);
+#endif
+
+// 2014-04-30aRagexeRE
+#if PACKETVER == 20140430
+ packetKeys(0x400145D8,0x3FE50155,0x11624F70);
+#endif
+
+// 2014-05-08aRagexe, 2014-05-08bRagexe, 2014-05-08bRagexeRE
+#if PACKETVER == 20140508
+ packetKeys(0x087E57EC,0x25224F4A,0x024F12C6);
+#endif
+
+// 2014-05-14bRagexe, 2014-05-14bRagexeRE, 2014-05-14cRagexeRE
+#if PACKETVER == 20140514
+ packetKeys(0x4BE46730,0x047926E0,0x37773BBB);
+#endif
+
+// 2014-05-21aRagexeRE, 2014-05-21bRagexe
+#if PACKETVER == 20140521
+ packetKeys(0x14ED2D86,0x17371C33,0x2D0473C8);
+#endif
+
+// 2014-05-28aRagexe, 2014-05-28aRagexeRE
+#if PACKETVER == 20140528
+ packetKeys(0x579445EB,0x26734878,0x7C861628);
+#endif
+
+// 2014-06-05aRagexe, 2014-06-05aRagexeRE, 2014-06-05bRagexe
+#if PACKETVER == 20140605
+ packetKeys(0x5ABC4223,0x04DD2636,0x0D5850E0);
+#endif
+
+// 2014-06-11bRagexeRE, 2014-06-11cRagexe, 2014-06-11dRagexe, 2014-06-11eRagexe, 2014-06-11hRagexe
+#if PACKETVER == 20140611
+ packetKeys(0x4FC83479,0x3AB04D1F,0x477B4010);
+#endif
+
+// 2014-06-12aRagexe
+#if PACKETVER == 20140612
+ packetKeys(0x4FC83479,0x3AB04D1F,0x477B4010);
+#endif
+
+// 2014-06-13aRagexe
+#if PACKETVER == 20140613
+ packetKeys(0x4FC83479,0x3AB04D1F,0x477B4010);
+#endif
+
+// 2014-06-18aRagexe, 2014-06-18cRagexeRE
+#if PACKETVER == 20140618
+ packetKeys(0x2DB507BB,0x11BA12E7,0x7F447760);
+#endif
+
+// 2014-06-25aRagexe, 2014-06-25aRagexeRE, 2014-06-25bRagexe
+#if PACKETVER == 20140625
+ packetKeys(0x09987045,0x644B1051,0x1A091CB8);
+#endif
+
+// 2014-07-02aRagexe, 2014-07-02aRagexeRE
+#if PACKETVER == 20140702
+ packetKeys(0x5C4574F4,0x5D446386,0x48BD24C9);
+#endif
+
+// 2014-07-09aRagexe, 2014-07-09aRagexeRE
+#if PACKETVER == 20140709
+ packetKeys(0x2C7A6E92,0x324F1B85,0x29916FC2);
+#endif
+
+// 2014-07-16aRagexe, 2014-07-16aRagexeRE, 2014-07-16bRagexe, 2014-07-16cRagexe
+#if PACKETVER == 20140716
+ packetKeys(0x0EB20408,0x6D6C4292,0x4F6E4CF3);
+#endif
+
+// 2014-07-23aRagexe, 2014-07-23aRagexeRE, 2014-07-23bRagexe, 2014-07-23bRagexeRE
+#if PACKETVER == 20140723
+ packetKeys(0x42A21713,0x51CE6EAD,0x102F7B0B);
+#endif
+
+// 2014-07-30aRagexe, 2014-07-30bRagexeRE
+#if PACKETVER == 20140730
+ packetKeys(0x63CE4E53,0x04F969A3,0x690954DB);
+#endif
+
+// 2014-08-06aRagexe, 2014-08-06aRagexeRE, 2014-08-06bRagexe
+#if PACKETVER == 20140806
+ packetKeys(0x0D5B69AC,0x3C001F20,0x0C201420);
+#endif
+
+// 2014-08-13aRagexe, 2014-08-13aRagexeRE, 2014-08-13bRagexe
+#if PACKETVER == 20140813
+ packetKeys(0x7AD51E0A,0x28C72C46,0x210205BD);
+#endif
+
+// 2014-08-14aRagexe
+#if PACKETVER == 20140814
+ packetKeys(0x7AD51E0A,0x28C72C46,0x210205BD);
+#endif
+
+// 2014-08-20aRagexe, 2014-08-20aRagexeRE
+#if PACKETVER == 20140820
+ packetKeys(0x374F15D0,0x64C87DEC,0x65CE2A41);
+#endif
+
+// 2014-08-27aRagexe
+#if PACKETVER == 20140827
+ packetKeys(0x53814CA2,0x27DE193E,0x503E683E);
+#endif
+
+// 2014-09-03aRagexe, 2014-09-03aRagexeRE
+#if PACKETVER == 20140903
+ packetKeys(0x2F386F34,0x0F935365,0x76A43888);
+#endif
+
+// 2014-09-17aRagexe
+#if PACKETVER == 20140917
+ packetKeys(0x180118EA,0x440134CF,0x3A99179D);
+#endif
+
+// 2014-09-24bRagexeRE, 2014-09-24cRagexe, 2014-09-24cRagexeRE
+#if PACKETVER == 20140924
+ packetKeys(0x6F5222D8,0x593B798C,0x4CBD655E);
+#endif
+
+// 2014-10-01aRagexe, 2014-10-01bRagexeRE, 2014-10-01cRagexeRE
+#if PACKETVER == 20141001
+ 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);
+#endif
+
+// 2014-10-15bRagexe, 2014-10-15bRagexeRE, 2014-10-15cRagexe, 2014-10-15dRagexe
+#if PACKETVER == 20141015
+ packetKeys(0x2DFF467C,0x444B37EE,0x2C1B634F);
+#endif
+
+// 2014-10-16aRagexe, 2014-10-16aRagexeRE
+#if PACKETVER == 20141016
+ packetKeys(0x2DFF467C,0x444B37EE,0x2C1B634F);
+#endif
+
+// 2014-10-22aRagexeRE, 2014-10-22bRagexe
+#if PACKETVER == 20141022
+ packetKeys(0x290551EA,0x2B952C75,0x2D67669B);
+#endif
+
+// 2014-10-29aRagexe, 2014-10-29aRagexeRE
+#if PACKETVER == 20141029
+ packetKeys(0x1AFD581D,0x2E1D4E1D,0x4E1D4E1D);
+#endif
+
+// 2014-11-05aRagexe, 2014-11-05aRagexeRE, 2014-11-05bRagexe, 2014-11-05bRagexeRE
+#if PACKETVER == 20141105
+ packetKeys(0x7F310819,0x5FF45401,0x2D303DD9);
+#endif
+
+// 2014-11-12aRagexeRE, 2014-11-12cRagexe, 2014-11-12dRagexe
+#if PACKETVER == 20141112
+ packetKeys(0x430C0C27,0x067153CF,0x5E5439A9);
+#endif
+
+// 2014-11-19bRagexeRE, 2014-11-19dRagexe
+#if PACKETVER == 20141119
+ 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);
+#endif
+
+// 2014-12-03aRagexe, 2014-12-03aRagexeRE
+#if PACKETVER == 20141203
+ packetKeys(0x66CB52E4,0x1EB84093,0x33563E18);
+#endif
+
+// 2014-12-10bRagexe, 2014-12-10cRagexe, 2014-12-10cRagexeRE
+#if PACKETVER == 20141210
+ packetKeys(0x0B0B1DD3,0x26EF1797,0x4F40370B);
+#endif
+
+// 2014-12-17aRagexeRE
+#if PACKETVER == 20141217
+ packetKeys(0x01AB478C,0x0FDE58F2,0x1DAC7303);
+#endif
+
+// 2014-12-23cRagexeRE
+#if PACKETVER == 20141223
+ packetKeys(0x2E8936E6,0x34463C46,0x67CD3885);
+#endif
+
+// 2014-12-24aRagexe
+#if PACKETVER == 20141224
+ packetKeys(0x2E8936E6,0x34463C46,0x67CD3885);
+#endif
+
+// 2014-12-31aRagexe, 2014-12-31aRagexeRE
+#if PACKETVER == 20141231
+ packetKeys(0x154C347E,0x54B26512,0x52126A12);
+#endif
+
+// 2015-01-07aRagexe, 2015-01-07aRagexeRE
+#if PACKETVER == 20150107
+ 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);
+#endif
+
+// 2015-01-21aRagexe, 2015-01-21aRagexeRE, 2015-01-21bRagexeRE
+#if PACKETVER == 20150121
+ packetKeys(0x0B9D2AF5,0x658A3346,0x379E3654);
+#endif
+
+// 2015-01-28aRagexe, 2015-01-28aRagexeRE
+#if PACKETVER == 20150128
+ packetKeys(0x77CA2D55,0x28B608F0,0x75B47957);
+#endif
+
+// 2015-01-29aRagexe
+#if PACKETVER == 20150129
+ packetKeys(0x77CA2D55,0x28B608F0,0x75B47957);
+#endif
+
+// 2015-01-30aRagexe
+#if PACKETVER == 20150130
+ packetKeys(0x77CA2D55,0x28B608F0,0x75B47957);
+#endif
+
+// 2015-02-04aRagexe, 2015-02-04cRagexeRE
+#if PACKETVER == 20150204
+ packetKeys(0x134529DB,0x5B4F6CEF,0x29EF11EF);
+#endif
+
+// 2015-02-11aRagexe, 2015-02-11aRagexeRE
+#if PACKETVER == 20150211
+ packetKeys(0x33911A25,0x1E6945FD,0x7385623A);
+#endif
+
+// 2015-02-17aRagexe, 2015-02-17aRagexeRE
+#if PACKETVER == 20150217
+ 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-25hRagexe, 2015-02-25iRagexe, 2015-02-25jRagexe
+#if PACKETVER == 20150225
+ packetKeys(0x57FD4B7B,0x19CC16FB,0x0D255D72);
+#endif
+
+// 2015-02-26aRagexe, 2015-02-26aRagexeRE
+#if PACKETVER == 20150226
+ packetKeys(0x57FD4B7B,0x19CC16FB,0x0D255D72);
+#endif
+
+// 2015-03-04aRagexe, 2015-03-04aRagexeRE, 2015-03-04bRagexeRE
+#if PACKETVER == 20150304
+ packetKeys(0x1A657B1C,0x7E1806E7,0x55396A5C);
+#endif
+
+// 2015-03-11aRagexe, 2015-03-11aRagexeRE, 2015-03-11bRagexe, 2015-03-11bRagexeRE
+#if PACKETVER == 20150311
+ 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);
+#endif
+
+// 2015-03-25aRagexe, 2015-03-25bRagexeRE, 2015-03-25cRagexeRE
+#if PACKETVER == 20150325
+ packetKeys(0x68F62B8C,0x337C3468,0x38FC0AC7);
+#endif
+
+// 2015-04-01aRagexe, 2015-04-01bRagexeRE
+#if PACKETVER == 20150401
+ packetKeys(0x207F3A08,0x57E6160C,0x02A60382);
+#endif
+
+// 2015-04-08aRagexe, 2015-04-08aRagexeRE
+#if PACKETVER == 20150408
+ packetKeys(0x39812C9D,0x23DA516E,0x59A33DD2);
+#endif
+
+// 2015-04-15aRagexe, 2015-04-15aRagexeRE
+#if PACKETVER == 20150415
+ packetKeys(0x7EC44F6A,0x7DE57139,0x60DA5436);
+#endif
+
+// 2015-04-22aRagexe, 2015-04-22aRagexeRE
+#if PACKETVER == 20150422
+ packetKeys(0x10D22CE2,0x69E279E2,0x79E279E2);
+#endif
+
+// 2015-04-29aRagexe, 2015-04-29aRagexeRE
+#if PACKETVER == 20150429
+ packetKeys(0x2BF61A71,0x565D5DDF,0x0FB90019);
+#endif
+
+// 2015-05-07bRagexe, 2015-05-07bRagexeRE, 2015-05-07cRagexe
+#if PACKETVER == 20150507
+ packetKeys(0x55B54373,0x58967821,0x67F41832);
+#endif
+
+// 2015-05-13aRagexe, 2015-05-13aRagexeRE
+#if PACKETVER == 20150513
+ packetKeys(0x62C86D09,0x75944F17,0x112C133D);
+#endif
+
+// 2015-05-20aRagexe, 2015-05-20aRagexeRE
+#if PACKETVER == 20150520
+ packetKeys(0x17430238,0x44DE585F,0x56A40616);
+#endif
+
+// 2015-05-27aRagexe, 2015-05-27aRagexeRE
+#if PACKETVER == 20150527
+ packetKeys(0x35AE7BAE,0x3BAE3BAE,0x3BAE3BAE);
+#endif
+
+// 2015-06-03aRagexe, 2015-06-03bRagexeRE
+#if PACKETVER == 20150603
+ packetKeys(0x1DDD245D,0x309446E0,0x58E53F1F);
+#endif
+
+// 2015-06-10aRagexe, 2015-06-10aRagexeRE
+#if PACKETVER == 20150610
+ packetKeys(0x2FC406D3,0x7B3E32F5,0x02B80B47);
+#endif
+
+// 2015-06-17aRagexe, 2015-06-17aRagexeRE
+#if PACKETVER == 20150617
+ packetKeys(0x250F7E09,0x25416076,0x029A780E);
+#endif
+
+// 2015-06-18aRagexe, 2015-06-18aRagexeRE
+#if PACKETVER == 20150618
+ packetKeys(0x250F7E09,0x25416076,0x029A780E);
+#endif
+
+// 2015-06-24aRagexe, 2015-06-24aRagexeRE
+#if PACKETVER == 20150624
+ packetKeys(0x440B0E24,0x1BEA7A4C,0x2C646784);
+#endif
+
+// 2015-07-01bRagexeRE
+#if PACKETVER == 20150701
+ packetKeys(0x4DD55F9B,0x70C67B03,0x78C60DB6);
+#endif
+
+// 2015-07-02aRagexe
+#if PACKETVER == 20150702
+ packetKeys(0x4DD55F9B,0x70C67B03,0x78C60DB6);
+#endif
+
+// 2015-07-08bRagexeRE, 2015-07-08cRagexe, 2015-07-08cRagexeRE, 2015-07-08dRagexeRE
+#if PACKETVER == 20150708
+ packetKeys(0x451C5E19,0x5661750B,0x2F4644AC);
+#endif
+
+// 2015-07-15aRagexe, 2015-07-15aRagexeRE
+#if PACKETVER == 20150715
+ packetKeys(0x1F805483,0x67745585,0x7FCE189C);
+#endif
+
+// 2015-07-22bRagexeRE
+#if PACKETVER == 20150722
+ packetKeys(0x41FA53D4,0x2CF044E2,0x663A3F1D);
+#endif
+
+// 2015-07-29aRagexe, 2015-07-29aRagexeRE
+#if PACKETVER == 20150729
+ packetKeys(0x08EE40A9,0x206F3D7F,0x0AE37339);
+#endif
+
+// 2015-08-05aRagexe, 2015-08-05dRagexeRE
+#if PACKETVER == 20150805
+ packetKeys(0x1C3F243F,0x243F243F,0x243F243F);
+#endif
+
+// 2015-08-12aRagexe, 2015-08-12aRagexeRE
+#if PACKETVER == 20150812
+ packetKeys(0x0B6F64A8,0x5BCC47EC,0x00EC08EC);
+#endif
+
+// 2015-08-19aRagexe, 2015-08-19aRagexeRE, 2015-08-19bRagexeRE
+#if PACKETVER == 20150819
+ packetKeys(0x1A2400E0,0x736E5686,0x10F315D5);
+#endif
+
+// 2015-08-26aRagexe, 2015-08-26aRagexeRE, 2015-08-26bRagexe, 2015-08-26bRagexeRE
+#if PACKETVER == 20150826
+ packetKeys(0x77883C56,0x1829359F,0x0DE635B6);
+#endif
+
+// 2015-09-02aRagexe, 2015-09-02aRagexeRE
+#if PACKETVER == 20150902
+ packetKeys(0x4EDB18C1,0x6B9355BA,0x38AA6239);
+#endif
+
+// 2015-09-09aRagexe, 2015-09-09aRagexeRE
+#if PACKETVER == 20150909
+ packetKeys(0x19AB2BF0,0x04754299,0x48770736);
+#endif
+
+// 2015-09-16aRagexe, 2015-09-16aRagexeRE, 2015-09-16cRagexe, 2015-09-16cRagexeRE
+#if PACKETVER == 20150916
+ packetKeys(0x17F83A19,0x116944F4,0x1CC541E9);
+#endif
+
+// 2015-09-23bRagexe, 2015-09-23bRagexeRE, 2015-09-23cRagexe, 2015-09-23eRagexe, 2015-09-23eRagexeRE, 2015-09-23fRagexe, 2015-09-23fRagexeRE
+#if PACKETVER == 20150923
+ packetKeys(0x765742B9,0x22D61C2F,0x7DA94FB2);
+#endif
+
+// 2015-10-01aRagexe, 2015-10-01bRagexeRE
+#if PACKETVER == 20151001
+ packetKeys(0x5CFF4561,0x32514AD1,0x06D126D1);
+#endif
+
+// 2015-10-07aRagexe, 2015-10-07aRagexeRE
+#if PACKETVER == 20151007
+ packetKeys(0x3C6447A8,0x032170D7,0x6490476C);
+#endif
+
+// 2015-10-14bRagexe, 2015-10-14bRagexeRE
+#if PACKETVER == 20151014
+ packetKeys(0x402728A8,0x5D0E309F,0x240018FD);
+#endif
+
+// 2015-10-21aRagexe
+#if PACKETVER == 20151021
+ packetKeys(0x0311104D,0x46C326D6,0x00E82720);
+#endif
+
+// 2015-10-22aRagexe, 2015-10-22aRagexeRE
+#if PACKETVER == 20151022
+ packetKeys(0x0311104D,0x46C326D6,0x00E82720);
+#endif
+
+// 2015-10-28cRagexe, 2015-10-28cRagexeRE, 2015-10-28dRagexe, 2015-10-28dRagexeRE
+#if PACKETVER == 20151028
+ packetKeys(0x45B945B9,0x45B945B9,0x45B945B9);
+#endif
+
+// 2015-10-29aRagexe, 2015-10-29aRagexeRE
+#if PACKETVER == 20151029
+ packetKeys(0x45B945B9,0x45B945B9,0x45B945B9);
+#endif
+
+// 2015-11-04aRagexe, 2015-11-04aRagexeRE
+#if PACKETVER == 20151104
+ packetKeys(0x4C17382A,0x7ED174C9,0x29961E4F);
+#endif
+
+// 2015-11-11aRagexe, 2015-11-11aRagexeRE, 2015-11-11bRagexe
+#if PACKETVER == 20151111
+ packetKeys(0x46097C77,0x5F193871,0x29140A21);
+#endif
+
+// 2015-11-18aRagexe, 2015-11-18aRagexeRE
+#if PACKETVER == 20151118
+ 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);
+#endif
+
+// 2015-12-02aRagexe, 2015-12-02bRagexeRE
+#if PACKETVER == 20151202
+ packetKeys(0x4EDE52DE,0x52DE52DE,0x52DE52DE);
+#endif
+
+// 2015-12-09aRagexe, 2015-12-09aRagexeRE
+#if PACKETVER == 20151209
+ packetKeys(0x652C5898,0x7A351FB3,0x67EA2886);
+#endif
+
+// 2015-12-16aRagexe, 2015-12-16aRagexeRE
+#if PACKETVER == 20151216
+ packetKeys(0x25DD643D,0x61AC39DE,0x77A8206D);
+#endif
+
+// 2015-12-23bRagexe, 2015-12-23bRagexeRE
+#if PACKETVER == 20151223
+ packetKeys(0x347D68D0,0x2C705320,0x7B4A199D);
+#endif
+
+// 2015-12-30aRagexe
+#if PACKETVER == 20151230
+ packetKeys(0x54C51241,0x33883499,0x3CDA35F0);
+#endif
+
+// 2016-01-06aRagexe, 2016-01-06aRagexeRE
+#if PACKETVER == 20160106
+ packetKeys(0x40520265,0x33FE26FC,0x7136294F);
+#endif
+
+// 2016-01-13aRagexe, 2016-01-13aRagexeRE, 2016-01-13bRagexe, 2016-01-13bRagexeRE, 2016-01-13cRagexeRE
+#if PACKETVER == 20160113
+ packetKeys(0x18005C4B,0x19A94A72,0x73F678EC);
+#endif
+
+// 2016-01-20aRagexe, 2016-01-20aRagexeRE
+#if PACKETVER == 20160120
+ packetKeys(0x51495149,0x51495149,0x51495149);
+#endif
+
+// 2016-01-27aRagexeRE, 2016-01-27bRagexeRE, 2016-01-27cRagexe, 2016-01-27dRagexe
+#if PACKETVER == 20160127
+ packetKeys(0x6B1E7146,0x612C47E6,0x274E56EE);
+#endif
+
+// 2016-02-03aRagexe, 2016-02-03aRagexeRE
+#if PACKETVER == 20160203
+ packetKeys(0x3E1411AF,0x6C744497,0x7CFA1BDE);
+#endif
+
+// 2016-02-11aRagexe, 2016-02-11aRagexeRE
+#if PACKETVER == 20160211
+ packetKeys(0x613813EA,0x05251DAB,0x1FD35E33);
+#endif
+
+// 2016-02-17aRagexe, 2016-02-17aRagexeRE, 2016-02-17bRagexeRE, 2016-02-17cRagexeRE
+#if PACKETVER == 20160217
+ packetKeys(0x25895A8E,0x09421C19,0x763A2D7A);
+#endif
+
+// 2016-02-24aRagexe, 2016-02-24aRagexeRE, 2016-02-24bRagexeRE
+#if PACKETVER == 20160224
+ packetKeys(0x7088019A,0x13471F02,0x42356A7D);
+#endif
+
+// 2016-03-02bRagexe, 2016-03-02bRagexeRE
+#if PACKETVER == 20160302
+ packetKeys(0x7B4441B9,0x5BBC63AF,0x45DA0E71);
+#endif
+
+// 2016-03-09aRagexeRE, 2016-03-09cRagexe
+#if PACKETVER == 20160309
+ packetKeys(0x21587520,0x353A7706,0x1B722B25);
+#endif
+
+// 2016-03-16aRagexe, 2016-03-16aRagexeRE
+#if PACKETVER == 20160316
+ packetKeys(0x62363E36,0x3E363E36,0x3E363E36);
+#endif
+
+// 2016-03-18aRagexe
+#if PACKETVER == 20160318
+ packetKeys(0x62363E36,0x3E363E36,0x3E363E36);
+#endif
+
+// 2016-03-23aRagexe, 2016-03-23aRagexeRE, 2016-03-23bRagexe
+#if PACKETVER == 20160323
+ packetKeys(0x73E35A83,0x62142FA8,0x12BA36BD);
+#endif
+
+// 2016-03-30aRagexe, 2016-03-30aRagexeRE, 2016-03-30bRagexe
+#if PACKETVER == 20160330
+ packetKeys(0x02050940,0x545336FF,0x7E7D4902);
+#endif
+
+// 2016-04-06aRagexe, 2016-04-06aRagexeRE, 2016-04-06bRagexe
+#if PACKETVER == 20160406
+ packetKeys(0x568611EA,0x32457D8D,0x2B020477);
+#endif
+
+// 2016-04-14aRagexe, 2016-04-14aRagexeRE, 2016-04-14bRagexe, 2016-04-14bRagexeRE, 2016-04-14cRagexe
+#if PACKETVER == 20160414
+ packetKeys(0x31BD479A,0x40C61398,0x397C1A80);
+#endif
+
+// 2016-04-20aRagexeRE, 2016-04-20cRagexe
+#if PACKETVER == 20160420
+ packetKeys(0x67D2163A,0x3068215B,0x4835474D);
+#endif
+
+// 2016-04-27aRagexeRE
+#if PACKETVER == 20160427
+ packetKeys(0x12DC378E,0x4E3E7EBE,0x0ABE2ABE);
+#endif
+
+// 2016-05-04aRagexe, 2016-05-04aRagexeRE
+#if PACKETVER == 20160504
+ packetKeys(0x09E0544C,0x0231251D,0x2F4E195F);
+#endif
+
+// 2016-05-11aRagexe, 2016-05-11aRagexeRE, 2016-05-11bRagexeRE
+#if PACKETVER == 20160511
+ packetKeys(0x3C666FE2,0x27E84E3E,0x53E11BA5);
+#endif
+
+// 2016-05-18aRagexe, 2016-05-18aRagexeRE
+#if PACKETVER == 20160518
+ packetKeys(0x57DB7CA1,0x1FEA1629,0x26DD244D);
+#endif
+
+// 2016-05-25aRagexe, 2016-05-25aRagexeRE
+#if PACKETVER == 20160525
+ packetKeys(0x485C45B6,0x47DC6192,0x76B34A36);
+#endif
+
+// 2016-05-26aRagexe
+#if PACKETVER == 20160526
+ packetKeys(0x485C45B6,0x47DC6192,0x76B34A36);
+#endif
+
+// 2016-06-01aRagexe, 2016-06-01aRagexeRE
+#if PACKETVER == 20160601
+ packetKeys(0x3DAD32C4,0x59F001BE,0x73F65E56);
+#endif
+
+// 2016-06-08aRagexe, 2016-06-08aRagexeRE, 2016-06-08bRagexe, 2016-06-08bRagexeRE
+#if PACKETVER == 20160608
+ packetKeys(0x11D74609,0x77C43E8A,0x44290F53);
+#endif
+
+// 2016-06-09aRagexe
+#if PACKETVER == 20160609
+ packetKeys(0x11D74609,0x77C43E8A,0x44290F53);
+#endif
+
+// 2016-06-15aRagexe, 2016-06-15aRagexeRE
+#if PACKETVER == 20160615
+ packetKeys(0x062C5C26,0x6CF47E82,0x4DD53480);
+#endif
+
+// 2016-06-22aRagexe, 2016-06-22aRagexeRE
+#if PACKETVER == 20160622
+ packetKeys(0x426548AB,0x5C0F5DD4,0x03022710);
+#endif
+
+// 2016-06-29aRagexe, 2016-06-29aRagexeRE
+#if PACKETVER == 20160629
+ packetKeys(0x0DF31CCC,0x54281606,0x5C4C6855);
+#endif
+
+// 2016-06-30aRagexe, 2016-06-30aRagexeRE
+#if PACKETVER == 20160630
+ packetKeys(0x0DF31CCC,0x54281606,0x5C4C6855);
+#endif
+
+// 2016-07-06bRagexe, 2016-07-06cRagexeRE
+#if PACKETVER == 20160706
+ packetKeys(0x33A766D0,0x743F04F8,0x0FA0276C);
+#endif
+
+// 2016-07-13aRagexe, 2016-07-13aRagexeRE, 2016-07-13bRagexeRE, 2016-07-13cRagexe, 2016-07-13dRagexe
+#if PACKETVER == 20160713
+ packetKeys(0x714F2495,0x7DDC6F32,0x3FD8533D);
+#endif
+
+// 2016-07-20aRagexe, 2016-07-20aRagexeRE, 2016-07-20bRagexe, 2016-07-20bRagexeRE
+#if PACKETVER == 20160720
+ packetKeys(0x4F8A19C0,0x2D8E085C,0x37BB67D6);
+#endif
+
+// 2016-07-27aRagexe, 2016-07-27aRagexeRE, 2016-07-27bRagexe, 2016-07-27bRagexeRE
+#if PACKETVER == 20160727
+ packetKeys(0x3C6952AB,0x26E4077F,0x37E25DF7);
+#endif
+
+// 2016-08-03bRagexe, 2016-08-03bRagexeRE
+#if PACKETVER == 20160803
+ packetKeys(0x67F438C2,0x512A4EB7,0x2D353182);
+#endif
+
+// 2016-08-10aRagexe, 2016-08-10aRagexeRE
+#if PACKETVER == 20160810
+ packetKeys(0x2F252886,0x242234A2,0x48BC5032);
+#endif
+
+// 2016-08-17aRagexe
+#if PACKETVER == 20160817
+ packetKeys(0x675E6900,0x3F8E1D16,0x58D650E5);
+#endif
+
+// 2016-08-31aRagexeRE, 2016-08-31bRagexeRE
+#if PACKETVER == 20160831
+ packetKeys(0x564E13B0,0x7F680549,0x382D273B);
+#endif
+
+// 2016-09-07aRagexe, 2016-09-07aRagexeRE
+#if PACKETVER == 20160907
+ packetKeys(0x32E5237D,0x57BD4DBD,0x5DBD5DBD);
+#endif
+
+// 2016-09-13aRagexe, 2016-09-13aRagexeRE
+#if PACKETVER == 20160913
+ packetKeys(0x7C79748F,0x1AA03B1D,0x6EAC4747);
+#endif
+
+// 2016-09-21bRagexeRE
+#if PACKETVER == 20160921
+ packetKeys(0x11CD15CD,0x15CD15CD,0x15CD15CD);
+#endif
+
+// 2016-09-28cRagexeRE, 2016-09-28dRagexeRE
+#if PACKETVER == 20160928
+ packetKeys(0x2F8C67F5,0x22D42C38,0x57513774);
+#endif
+
+// 2016-10-05aRagexeRE
+#if PACKETVER == 20161005
+ packetKeys(0x5BAE21F8,0x021E2FFC,0x3BEB7C31);
+#endif
+
+// 2016-10-12aRagexeRE
+#if PACKETVER == 20161012
+ packetKeys(0x5E2311F2,0x14FD012C,0x76EB64F6);
+#endif
+
+// 2016-10-19aRagexeRE
+#if PACKETVER == 20161019
+ packetKeys(0x34882F11,0x7C870E70,0x7E61350D);
+#endif
+
+// 2016-10-26bRagexeRE, 2016-10-26cRagexeRE
+#if PACKETVER == 20161026
+ packetKeys(0x2CB86AE6,0x7D12660E,0x1B004DEB);
+#endif
+
+// 2016-11-02aRagexe, 2016-11-02aRagexeRE
+#if PACKETVER == 20161102
+ packetKeys(0x76725C17,0x72FE4EC1,0x07A91BFD);
+#endif
+
+// 2016-11-03aRagexeRE
+#if PACKETVER == 20161103
+ packetKeys(0x76725C17,0x72FE4EC1,0x07A91BFD);
+#endif
+
+// 2016-11-09aRagexe, 2016-11-09bRagexeRE, 2016-11-09cRagexeRE, 2016-11-09dRagexeRE
+#if PACKETVER == 20161109
+ packetKeys(0x0A5277C0,0x2DB17506,0x0E8F26DA);
+#endif
+
+// 2016-11-16aRagexe, 2016-11-16bRagexeRE, 2016-11-16cRagexeRE
+#if PACKETVER == 20161116
+ packetKeys(0x780C5C3F,0x15E92272,0x2BA770C5);
+#endif
+
+// 2016-11-23aRagexe, 2016-11-23aRagexeRE
+#if PACKETVER == 20161123
+ packetKeys(0x66FF559F,0x00D3535B,0x236246F7);
+#endif
+
+// 2016-11-30aRagexeRE, 2016-11-30bRagexeRE
+#if PACKETVER == 20161130
+ packetKeys(0x2ED80296,0x0D837373,0x20266F9A);
+#endif
+
+// 2016-12-07cRagexeRE, 2016-12-07dRagexeRE, 2016-12-07eRagexeRE
+#if PACKETVER == 20161207
+ packetKeys(0x52D267AA,0x4FE42156,0x1292153E);
+#endif
+
+// 2016-12-14bRagexeRE, 2016-12-14cRagexe, 2016-12-14cRagexeRE
+#if PACKETVER == 20161214
+ packetKeys(0x4DDE217B,0x07863AE0,0x5B591656);
+#endif
+
+// 2016-12-21aRagexeRE, 2016-12-21bRagexeRE, 2016-12-21cRagexeRE, 2016-12-21dRagexeRE
+#if PACKETVER == 20161221
+ packetKeys(0x69CB4F56,0x793C165E,0x673A2354);
+#endif
+
+// 2016-12-28aRagexe, 2016-12-28aRagexeRE
+#if PACKETVER == 20161228
+ packetKeys(0x09366971,0x005672F1,0x6F3712AE);
+#endif
+
+// 2017-01-04bRagexeRE
+#if PACKETVER == 20170104
+ packetKeys(0x44416BC3,0x6C8D1817,0x072D75D5);
+#endif
+
+// 2017-01-11aRagexeRE
+#if PACKETVER == 20170111
+ packetKeys(0x19B637F9,0x0E9C378A,0x41673186);
+#endif
+
+// 2017-01-18aRagexe, 2017-01-18aRagexeRE
+#if PACKETVER == 20170118
+ packetKeys(0x456B36EB,0x15EB34B0,0x18C42E43);
+#endif
+
+// 2017-01-25aRagexe, 2017-01-25aRagexeRE
+#if PACKETVER == 20170125
+ packetKeys(0x066E04FE,0x3004224A,0x04FF0458);
+#endif
+
+// 2017-02-01aRagexe, 2017-02-01aRagexeRE
+#if PACKETVER == 20170201
+ packetKeys(0x2011228E,0x00453005,0x628E7F0A);
+#endif
+
+// 2017-02-08aRagexeRE, 2017-02-08bRagexeRE
+#if PACKETVER == 20170208
+ packetKeys(0x6A764E5F,0x0609570D,0x28AE07FA);
+#endif
+
+// 2017-02-15aRagexeRE
+#if PACKETVER == 20170215
+ packetKeys(0x50C01315,0x51012A42,0x679E16C3);
+#endif
+
+// 2017-02-22aRagexe, 2017-02-22aRagexeRE
+#if PACKETVER == 20170222
+ packetKeys(0x5A242F2F,0x6C556187,0x73C022CB);
+#endif
+
+// 2017-02-28aRagexe, 2017-02-28aRagexeRE, 2017-02-28bRagexe
+#if PACKETVER == 20170228
+ packetKeys(0x771D4F2B,0x20EF1F4C,0x0D5135C8);
+#endif
+
+// 2017-03-08bRagexeRE
+#if PACKETVER == 20170308
+ packetKeys(0x653470A9,0x6B316A71,0x5C712C71);
+#endif
+
+// 2017-03-15cRagexe, 2017-03-15cRagexeRE
+#if PACKETVER == 20170315
+ packetKeys(0x399A0856,0x56642A94,0x7F77157D);
+#endif
+
+// 2017-03-22aRagexeRE, 2017-03-22bRagexeRE
+#if PACKETVER == 20170322
+ packetKeys(0x2050167B,0x01731233,0x40337033);
+#endif
+
+// 2017-03-29cRagexe, 2017-03-29cRagexeRE, 2017-03-29dRagexeRE
+#if PACKETVER == 20170329
+ packetKeys(0x18B31A80,0x1B0B1D56,0x16857D6A);
+#endif
+
+// 2017-04-05bRagexe, 2017-04-05bRagexeRE, 2017-04-05cRagexe, 2017-04-05cRagexeRE
+#if PACKETVER == 20170405
+ packetKeys(0x1FDE7DAC,0x2F9F5B63,0x3F2062AF);
+#endif
+
+// 2017-04-12aRagexe, 2017-04-12aRagexeRE
+#if PACKETVER == 20170412
+ packetKeys(0x39223393,0x5C847779,0x10217985);
+#endif
+
+// 2017-04-19bRagexeRE
+#if PACKETVER == 20170419
+ packetKeys(0x1F8F4B3F,0x2E481F03,0x39ED4178);
+#endif
+
+// 2017-04-26dRagexeRE
+#if PACKETVER == 20170426
+ packetKeys(0x167642A7,0x1DEC3D26,0x6D046D4C);
+#endif
+
+// 2017-05-02dRagexeRE
+#if PACKETVER == 20170502
+ packetKeys(0x05224194,0x466D4204,0x31F02EE0);
+#endif
+
+// 2017-05-17aRagexeRE, 2017-05-17bRagexeRE
+#if PACKETVER == 20170517
+ packetKeys(0x2CC4749A,0x1FA954DC,0x72276857);
+#endif
+
+// 2017-05-24aRagexeRE
+#if PACKETVER == 20170524
+ packetKeys(0x0B4E03A6,0x2B93427C,0x583D4477);
+#endif
+
+// 2017-05-31aRagexeRE
+#if PACKETVER == 20170531
+ packetKeys(0x03FA5A97,0x20B802D5,0x339F1977);
+#endif
+
+// 2017-06-07bRagexeRE
+#if PACKETVER == 20170607
+ packetKeys(0x50564ACD,0x79CA4E15,0x405F4894);
+#endif
+
+// 2017-06-14bRagexeRE
+#if PACKETVER == 20170614
+ packetKeys(0x5ED10A48,0x667F4301,0x2E5D761F);
+#endif
+
+// 2017-06-21aRagexeRE
+#if PACKETVER == 20170621
+ packetKeys(0x155F34EC,0x2D943FA9,0x3D9170EB);
+#endif
+
+// 2017-06-28bRagexeRE
+#if PACKETVER == 20170628
+ packetKeys(0x04691C86,0x43C210E2,0x2FE277E2);
+#endif
+
+// 2017-07-05aRagexeRE
+#if PACKETVER == 20170705
+ packetKeys(0x7EB000AE,0x02FB1DBC,0x5CB131E6);
+#endif
+
+// 2017-07-12bRagexeRE
+#if PACKETVER == 20170712
+ packetKeys(0x2C3C202C,0x3F2C2F2C,0x2F2C2F2C);
+#endif
+
+// 2017-07-19aRagexeRE
+#if PACKETVER == 20170719
+ packetKeys(0x46465C88,0x10116F66,0x200866F9);
+#endif
+
+// 2017-07-26cRagexeRE
+#if PACKETVER == 20170726
+ packetKeys(0x102F23DB,0x7E767751,0x3BC172EF);
+#endif
+
+// 2017-08-01aRagexeRE
+#if PACKETVER == 20170801
+ packetKeys(0x26B52A7F,0x5377619D,0x4F580AC4);
+#endif
+
+// 2017-08-16cRagexeRE, 2017-08-16dRagexeRE
+#if PACKETVER == 20170816
+ packetKeys(0x78914673,0x3F8B7634,0x55B814BC);
+#endif
+
+// 2017-08-23aRagexeRE
+#if PACKETVER == 20170823
+ packetKeys(0x22677205,0x393D1002,0x58DC6BB4);
+#endif
+
+// 2017-08-30aRagexeRE, 2017-08-30bRagexeRE
+#if PACKETVER == 20170830
+ packetKeys(0x1D49592B,0x00970C17,0x1E640103);
+#endif
+
+// 2017-09-06cRagexeRE
+#if PACKETVER == 20170906
+ packetKeys(0x7DEF7677,0x351F36E6,0x52303485);
+#endif
+
+// 2017-09-13bRagexeRE
+#if PACKETVER == 20170913
+ packetKeys(0x7A645935,0x1DA05062,0x5A7A4C43);
+#endif
+
+// 2017-09-20bRagexeRE
+#if PACKETVER == 20170920
+ packetKeys(0x53024DA5,0x04EC212D,0x0BF87CD4);
+#endif
+
+#if defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3)
+ packetKeys(OBFUSCATIONKEY1,OBFUSCATIONKEY2,OBFUSCATIONKEY3);
+#endif
+
+#endif /* MAP_PACKETS_KEYS_H */
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 6e0ddf814..207c345da 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -632,7 +632,7 @@ struct packet_unit_walking {
#if PACKETVER >= 20091103
int16 PacketLength;
#endif
-#if PACKETVER > 20071106
+#if PACKETVER >= 20071106
uint8 objecttype;
#endif
#if PACKETVER >= 20131223
diff --git a/src/map/party.c b/src/map/party.c
index 26b4bae8b..a4a7e6dca 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -731,6 +731,11 @@ bool party_changeleader(struct map_session_data *sd, struct map_session_data *ts
return false;
}
+ if (battle_config.party_change_leader_same_map && sd->bl.m != tsd->bl.m) {
+ clif->msgtable(sd, MSG_PARTY_LEADER_SAMEMAP); // It is only possible to change the party leader while on the same map.
+ return false;
+ }
+
if( map->list[sd->bl.m].flag.partylock ) {
clif->message(sd->fd, msg_sd(sd,287)); // You cannot change party leaders in this map.
return false;
diff --git a/src/map/pc.c b/src/map/pc.c
index f332feea8..a4a32545b 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -765,9 +765,9 @@ int pc_equippoint(struct map_session_data *sd,int n)
return 0; //Not equippable by players.
ep = sd->inventory_data[n]->equip;
- if (sd->inventory_data[n]->look == W_DAGGER
- || sd->inventory_data[n]->look == W_1HSWORD
- || sd->inventory_data[n]->look == W_1HAXE
+ if (sd->inventory_data[n]->subtype == W_DAGGER
+ || sd->inventory_data[n]->subtype == W_1HSWORD
+ || sd->inventory_data[n]->subtype == W_1HAXE
) {
if (pc->checkskill(sd,AS_LEFT) > 0
|| (sd->job & MAPID_UPPERMASK) == MAPID_ASSASSIN
@@ -794,9 +794,9 @@ int pc_item_equippoint(struct map_session_data *sd, struct item_data* id)
return 0; //Not equippable by players.
ep = id->equip;
- if (id->look == W_DAGGER ||
- id->look == W_1HSWORD ||
- id->look == W_1HAXE) {
+ if (id->subtype == W_DAGGER ||
+ id->subtype == W_1HSWORD ||
+ id->subtype == W_1HAXE) {
if (pc->checkskill(sd, AS_LEFT) > 0 ||
(sd->job & MAPID_UPPERMASK) == MAPID_ASSASSIN ||
(sd->job & MAPID_UPPERMASK) == MAPID_KAGEROUOBORO) {
@@ -829,40 +829,40 @@ int pc_calcweapontype(struct map_session_data *sd)
// single-hand
if(sd->weapontype2 == W_FIST) {
- sd->status.weapon = sd->weapontype1;
+ sd->weapontype = sd->weapontype1;
return 1;
}
if(sd->weapontype1 == W_FIST) {
- sd->status.weapon = sd->weapontype2;
+ sd->weapontype = sd->weapontype2;
return 1;
}
// dual-wield
- sd->status.weapon = 0;
+ sd->weapontype = W_FIST;
switch (sd->weapontype1){
case W_DAGGER:
switch (sd->weapontype2) {
- case W_DAGGER: sd->status.weapon = W_DOUBLE_DD; break;
- case W_1HSWORD: sd->status.weapon = W_DOUBLE_DS; break;
- case W_1HAXE: sd->status.weapon = W_DOUBLE_DA; break;
+ case W_DAGGER: sd->weapontype = W_DOUBLE_DD; break;
+ case W_1HSWORD: sd->weapontype = W_DOUBLE_DS; break;
+ case W_1HAXE: sd->weapontype = W_DOUBLE_DA; break;
}
break;
case W_1HSWORD:
switch (sd->weapontype2) {
- case W_DAGGER: sd->status.weapon = W_DOUBLE_DS; break;
- case W_1HSWORD: sd->status.weapon = W_DOUBLE_SS; break;
- case W_1HAXE: sd->status.weapon = W_DOUBLE_SA; break;
+ case W_DAGGER: sd->weapontype = W_DOUBLE_DS; break;
+ case W_1HSWORD: sd->weapontype = W_DOUBLE_SS; break;
+ case W_1HAXE: sd->weapontype = W_DOUBLE_SA; break;
}
break;
case W_1HAXE:
switch (sd->weapontype2) {
- case W_DAGGER: sd->status.weapon = W_DOUBLE_DA; break;
- case W_1HSWORD: sd->status.weapon = W_DOUBLE_SA; break;
- case W_1HAXE: sd->status.weapon = W_DOUBLE_AA; break;
+ case W_DAGGER: sd->weapontype = W_DOUBLE_DA; break;
+ case W_1HSWORD: sd->weapontype = W_DOUBLE_SA; break;
+ case W_1HAXE: sd->weapontype = W_DOUBLE_AA; break;
}
}
// unknown, default to right hand type
- if (!sd->status.weapon)
- sd->status.weapon = sd->weapontype1;
+ if (sd->weapontype == W_FIST)
+ sd->weapontype = sd->weapontype1;
return 2;
}
@@ -884,20 +884,30 @@ int pc_setequipindex(struct map_session_data *sd)
if(sd->status.inventory[i].equip & pc->equip_pos[j])
sd->equip_index[j] = i;
- if(sd->status.inventory[i].equip & EQP_HAND_R)
- {
- if(sd->inventory_data[i])
- sd->weapontype1 = sd->inventory_data[i]->look;
- else
- sd->weapontype1 = 0;
+ if (sd->status.inventory[i].equip & EQP_HAND_R) {
+ if (sd->inventory_data[i]) {
+ sd->weapontype1 = sd->inventory_data[i]->subtype;
+ sd->status.look.weapon = sd->inventory_data[i]->view_sprite;
+ } else {
+ sd->weapontype1 = W_FIST;
+ sd->status.look.weapon = 0;
+ }
}
- if( sd->status.inventory[i].equip & EQP_HAND_L )
- {
- if( sd->inventory_data[i] && sd->inventory_data[i]->type == IT_WEAPON )
- sd->weapontype2 = sd->inventory_data[i]->look;
- else
- sd->weapontype2 = 0;
+ if (sd->status.inventory[i].equip & EQP_HAND_L) {
+ if (sd->inventory_data[i] != NULL) {
+ if (sd->inventory_data[i]->type == IT_WEAPON)
+ sd->weapontype2 = sd->inventory_data[i]->subtype;
+ else
+ sd->weapontype2 = W_FIST;
+ if (sd->inventory_data[i]->type == IT_ARMOR)
+ sd->has_shield = true;
+ else
+ sd->has_shield = false;
+ } else {
+ sd->weapontype2 = W_FIST;
+ sd->has_shield = false;
+ }
}
}
}
@@ -985,7 +995,7 @@ bool pc_can_Adopt(struct map_session_data *p1_sd, struct map_session_data *p2_sd
bool pc_adoption(struct map_session_data *p1_sd, struct map_session_data *p2_sd, struct map_session_data *b_sd)
{
int class, joblevel;
- unsigned int jobexp;
+ uint64 jobexp;
if( !pc->can_Adopt(p1_sd, p2_sd, b_sd) )
return false;
@@ -1088,13 +1098,13 @@ int pc_isequip(struct map_session_data *sd,int n)
return 1; //Can equip all helms
if (sd->status.base_level > 96 && item->equip & EQP_ARMS && item->type == IT_WEAPON)
- switch(item->look) { //In weapons, the look determines type of weapon.
- case W_DAGGER: //Level 4 Knives are equippable.. this means all knives, I'd guess?
- case W_1HSWORD: //All 1H swords
- case W_1HAXE: //All 1H Axes
- case W_MACE: //All 1H Maces
- case W_STAFF: //All 1H Staves
- return 1;
+ switch (item->subtype) { //In weapons, the look determines type of weapon.
+ case W_DAGGER: //Level 4 Knives are equippable.. this means all knives, I'd guess?
+ case W_1HSWORD: //All 1H swords
+ case W_1HAXE: //All 1H Axes
+ case W_MACE: //All 1H Maces
+ case W_STAFF: //All 1H Staves
+ return 1;
}
}
}
@@ -2488,7 +2498,7 @@ int pc_bonus(struct map_session_data *sd,int type,int val) {
}
switch (sd->state.lr_flag) {
case 2:
- switch (sd->status.weapon) {
+ switch (sd->weapontype) {
case W_BOW:
case W_REVOLVER:
case W_RIFLE:
@@ -2555,7 +2565,7 @@ int pc_bonus(struct map_session_data *sd,int type,int val) {
case SP_ATTACKRANGE:
switch (sd->state.lr_flag) {
case 2:
- switch (sd->status.weapon) {
+ switch (sd->weapontype) {
case W_BOW:
case W_REVOLVER:
case W_RIFLE:
@@ -5022,7 +5032,7 @@ int pc_isUseitem(struct map_session_data *sd,int n)
break;
}
// Upper third classes
- if ((item->class_upper & ITEMUPPER_THURDUPPER) != 0) {
+ if ((item->class_upper & ITEMUPPER_THIRDUPPER) != 0) {
if ((sd->job & JOBL_THIRD) != 0 && (sd->job & JOBL_UPPER) != 0)
break;
}
@@ -5942,11 +5952,11 @@ int pc_checkallowskill(struct map_session_data *sd)
status_change_end(&sd->bl, scw_list[i], INVALID_TIMER);
}
- if(sd->sc.data[SC_STRUP] && sd->status.weapon)
+ if(sd->sc.data[SC_STRUP] && sd->weapontype != W_FIST)
// Spurt requires bare hands (feet, in fact xD)
status_change_end(&sd->bl, SC_STRUP, INVALID_TIMER);
- if(sd->status.shield <= 0) { // Skills requiring a shield
+ if (!sd->has_shield) { // Skills requiring a shield
for (i = 0; i < ARRAYLENGTH(scs_list); i++)
if(sd->sc.data[scs_list[i]])
status_change_end(&sd->bl, scs_list[i], INVALID_TIMER);
@@ -7950,7 +7960,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) {
if ((sd->job & MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && !sd->state.snovice_dead_flag) {
unsigned int next = pc->nextbaseexp(sd);
if( next == 0 ) next = pc->thisbaseexp(sd);
- if( get_percentage(sd->status.base_exp,next) >= 99 ) {
+ if (get_percentage64(sd->status.base_exp, next) >= 99) {
sd->state.snovice_dead_flag = 1;
pc->setstand(sd);
status_percent_heal(&sd->bl, 100, 100);
@@ -8135,9 +8145,9 @@ void pc_revive(struct map_session_data *sd,unsigned int hp, unsigned int sp) {
/*==========================================
* script reading pc status registry
*------------------------------------------*/
-int pc_readparam(const struct map_session_data *sd, int type)
+int64 pc_readparam(const struct map_session_data *sd, int type)
{
- int val = 0;
+ int64 val = 0;
nullpo_ret(sd);
@@ -8288,7 +8298,7 @@ int pc_readparam(const struct map_session_data *sd, int type)
/*==========================================
* script set pc status registry
*------------------------------------------*/
-int pc_setparam(struct map_session_data *sd,int type,int val)
+int pc_setparam(struct map_session_data *sd, int type, int64 val)
{
int delta;
nullpo_ret(sd);
@@ -8303,7 +8313,7 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
stat += pc->gets_status_point(sd->status.base_level + i);
sd->status.status_point += stat;
}
- sd->status.base_level = val;
+ sd->status.base_level = (int32)val;
sd->status.base_exp = 0;
// clif->updatestatus(sd, SP_BASELEVEL); // Gets updated at the bottom
clif->updatestatus(sd, SP_NEXTBASEEXP);
@@ -8322,7 +8332,7 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
sd->status.skill_point += val - sd->status.job_level;
clif->updatestatus(sd, SP_SKILLPOINT);
}
- sd->status.job_level = val;
+ sd->status.job_level = (int32)val;
sd->status.job_exp = 0;
// clif->updatestatus(sd, SP_JOBLEVEL); // Gets updated at the bottom
clif->updatestatus(sd, SP_NEXTJOBEXP);
@@ -8330,21 +8340,21 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
status_calc_pc(sd, SCO_FORCE);
break;
case SP_SKILLPOINT:
- sd->status.skill_point = val;
+ sd->status.skill_point = (int32)val;
break;
case SP_STATUSPOINT:
- sd->status.status_point = val;
+ sd->status.status_point = (int32)val;
break;
case SP_ZENY:
if( val < 0 )
return 0;// can't set negative zeny
- logs->zeny(sd, LOG_TYPE_SCRIPT, sd, -(sd->status.zeny - cap_value(val, 0, MAX_ZENY)));
- sd->status.zeny = cap_value(val, 0, MAX_ZENY);
+ logs->zeny(sd, LOG_TYPE_SCRIPT, sd, -(sd->status.zeny - cap_value((int32)val, 0, MAX_ZENY)));
+ sd->status.zeny = cap_value((int32)val, 0, MAX_ZENY);
break;
case SP_BANKVAULT:
val = cap_value(val, 0, MAX_BANK_ZENY);
- delta = (val - sd->status.bank_vault);
- sd->status.bank_vault = val;
+ delta = ((int32)val - sd->status.bank_vault);
+ sd->status.bank_vault = (int32)val;
if (map->save_settings & 256) {
chrif->save(sd, 0); // send to char server
}
@@ -8370,16 +8380,16 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
sd->status.sex = val ? SEX_MALE : SEX_FEMALE;
break;
case SP_WEIGHT:
- sd->weight = val;
+ sd->weight = (int32)val;
break;
case SP_MAXWEIGHT:
- sd->max_weight = val;
+ sd->max_weight = (int32)val;
break;
case SP_HP:
- sd->battle_status.hp = cap_value(val, 1, (int)sd->battle_status.max_hp);
+ sd->battle_status.hp = cap_value((int32)val, 1, (int)sd->battle_status.max_hp);
break;
case SP_MAXHP:
- sd->battle_status.max_hp = cap_value(val, 1, battle_config.max_hp);
+ sd->battle_status.max_hp = cap_value((int32)val, 1, battle_config.max_hp);
if( sd->battle_status.max_hp < sd->battle_status.hp )
{
@@ -8388,10 +8398,10 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
}
break;
case SP_SP:
- sd->battle_status.sp = cap_value(val, 0, (int)sd->battle_status.max_sp);
+ sd->battle_status.sp = cap_value((int32)val, 0, (int)sd->battle_status.max_sp);
break;
case SP_MAXSP:
- sd->battle_status.max_sp = cap_value(val, 1, battle_config.max_sp);
+ sd->battle_status.max_sp = cap_value((int32)val, 1, battle_config.max_sp);
if( sd->battle_status.max_sp < sd->battle_status.sp )
{
@@ -8430,28 +8440,28 @@ int pc_setparam(struct map_session_data *sd,int type,int val)
}
return 1; // status_change_start/status_change_end already sends packets warning the client
case SP_FAME:
- sd->status.fame = val;
+ sd->status.fame = (int32)val;
break;
case SP_KILLERRID:
- sd->killerrid = val;
+ sd->killerrid = (int32)val;
return 1;
case SP_KILLEDRID:
- sd->killedrid = val;
+ sd->killedrid = (int32)val;
return 1;
case SP_SLOTCHANGE:
- sd->status.slotchange = val;
+ sd->status.slotchange = (int32)val;
return 1;
case SP_CHARRENAME:
- sd->status.rename = val;
+ sd->status.rename = (int32)val;
return 1;
case SP_MOD_EXP:
- sd->status.mod_exp = val;
+ sd->status.mod_exp = (int32)val;
return 1;
case SP_MOD_DROP:
- sd->status.mod_drop = val;
+ sd->status.mod_drop = (int32)val;
return 1;
case SP_MOD_DEATH:
- sd->status.mod_death = val;
+ sd->status.mod_death = (int32)val;
return 1;
default:
ShowError("pc_setparam: Attempted to set unknown parameter '%d'.\n", type);
@@ -8825,10 +8835,10 @@ int pc_equiplookall(struct map_session_data *sd)
clif->changelook(&sd->bl,LOOK_WEAPON,0);
clif->changelook(&sd->bl,LOOK_SHOES,0);
- clif->changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
- clif->changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
- clif->changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
- clif->changelook(&sd->bl,LOOK_ROBE, sd->status.robe);
+ clif->changelook(&sd->bl, LOOK_HEAD_BOTTOM, sd->status.look.head_bottom);
+ clif->changelook(&sd->bl, LOOK_HEAD_TOP, sd->status.look.head_top);
+ clif->changelook(&sd->bl, LOOK_HEAD_MID, sd->status.look.head_mid);
+ clif->changelook(&sd->bl, LOOK_ROBE, sd->status.look.robe);
return 0;
}
@@ -8844,7 +8854,7 @@ int pc_changelook(struct map_session_data *sd,int type,int val)
case LOOK_BASE:
status->set_viewdata(&sd->bl, val);
clif->changelook(&sd->bl, LOOK_BASE, sd->vd.class);
- clif->changelook(&sd->bl,LOOK_WEAPON,sd->status.weapon);
+ clif->changelook(&sd->bl, LOOK_WEAPON, sd->status.look.weapon);
if (sd->vd.cloth_color)
clif->changelook(&sd->bl,LOOK_CLOTHES_COLOR,sd->vd.cloth_color);
if (sd->vd.body_style)
@@ -8863,16 +8873,16 @@ int pc_changelook(struct map_session_data *sd,int type,int val)
}
break;
case LOOK_WEAPON:
- sd->status.weapon=val;
+ sd->status.look.weapon = val;
break;
case LOOK_HEAD_BOTTOM:
- sd->status.head_bottom=val;
+ sd->status.look.head_bottom = val;
break;
case LOOK_HEAD_TOP:
- sd->status.head_top=val;
+ sd->status.look.head_top = val;
break;
case LOOK_HEAD_MID:
- sd->status.head_mid=val;
+ sd->status.look.head_mid = val;
break;
case LOOK_HAIR_COLOR: //Use the battle_config limits! [Skotlex]
val = cap_value(val, MIN_HAIR_COLOR, MAX_HAIR_COLOR);
@@ -8890,12 +8900,12 @@ int pc_changelook(struct map_session_data *sd,int type,int val)
sd->status.clothes_color=val;
break;
case LOOK_SHIELD:
- sd->status.shield=val;
+ sd->status.look.shield = val;
break;
case LOOK_SHOES:
break;
case LOOK_ROBE:
- sd->status.robe = val;
+ sd->status.look.robe = val;
break;
case LOOK_BODY2:
val = cap_value(val, MIN_BODY_STYLE, MAX_BODY_STYLE);
@@ -9757,83 +9767,91 @@ void pc_equipitem_pos(struct map_session_data *sd, struct item_data *id, int n,
nullpo_retv(sd);
if ((!map_no_view(sd->bl.m,EQP_SHADOW_WEAPON) && pos & EQP_SHADOW_WEAPON) ||
(pos & EQP_HAND_R)) {
- if(id)
- sd->weapontype1 = id->look;
- else
- sd->weapontype1 = 0;
+ if (id != NULL) {
+ sd->weapontype1 = id->subtype;
+ sd->status.look.weapon = id->view_sprite;
+ } else {
+ sd->weapontype1 = W_FIST;
+ sd->status.look.weapon = 0;
+ }
pc->calcweapontype(sd);
- clif->changelook(&sd->bl,LOOK_WEAPON,sd->status.weapon);
+ clif->changelook(&sd->bl, LOOK_WEAPON, sd->status.look.weapon);
}
if ((!map_no_view(sd->bl.m,EQP_SHADOW_SHIELD) && pos & EQP_SHADOW_SHIELD) ||
(pos & EQP_HAND_L)) {
- if (id) {
- if(id->type == IT_WEAPON) {
- sd->status.shield = 0;
- sd->weapontype2 = id->look;
- } else if(id->type == IT_ARMOR) {
- sd->status.shield = id->look;
- sd->weapontype2 = 0;
+ if (id != NULL) {
+ if (id->type == IT_WEAPON) {
+ sd->has_shield = false;
+ sd->status.look.shield = 0;
+ sd->weapontype2 = id->subtype;
+ } else if (id->type == IT_ARMOR) {
+ sd->has_shield = true;
+ sd->status.look.shield = id->view_sprite;
+ sd->weapontype2 = W_FIST;
}
- } else
- sd->status.shield = sd->weapontype2 = 0;
+ } else {
+ sd->has_shield = false;
+ sd->status.look.shield = 0;
+ sd->weapontype2 = W_FIST;
+ }
pc->calcweapontype(sd);
- clif->changelook(&sd->bl,LOOK_SHIELD,sd->status.shield);
+ clif->changelook(&sd->bl, LOOK_SHIELD, sd->status.look.shield);
}
//Added check to prevent sending the same look on multiple slots ->
//causes client to redraw item on top of itself. (suggested by Lupus)
if (!map_no_view(sd->bl.m,EQP_HEAD_LOW) && pos & EQP_HEAD_LOW && pc->checkequip(sd,EQP_COSTUME_HEAD_LOW) == -1) {
if (id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID)))
- sd->status.head_bottom = id->look;
+ sd->status.look.head_bottom = id->view_sprite;
else
- sd->status.head_bottom = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
+ sd->status.look.head_bottom = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_BOTTOM, sd->status.look.head_bottom);
}
if (!map_no_view(sd->bl.m,EQP_HEAD_TOP) && pos & EQP_HEAD_TOP && pc->checkequip(sd,EQP_COSTUME_HEAD_TOP) == -1) {
if (id)
- sd->status.head_top = id->look;
+ sd->status.look.head_top = id->view_sprite;
else
- sd->status.head_top = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
+ sd->status.look.head_top = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_TOP, sd->status.look.head_top);
}
if (!map_no_view(sd->bl.m,EQP_HEAD_MID) && pos & EQP_HEAD_MID && pc->checkequip(sd,EQP_COSTUME_HEAD_MID) == -1) {
if (id && !(pos&EQP_HEAD_TOP))
- sd->status.head_mid = id->look;
+ sd->status.look.head_mid = id->view_sprite;
else
- sd->status.head_mid = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
+ sd->status.look.head_mid = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_MID, sd->status.look.head_mid);
}
if (!map_no_view(sd->bl.m,EQP_COSTUME_HEAD_TOP) && pos & EQP_COSTUME_HEAD_TOP) {
if (id){
- sd->status.head_top = id->look;
+ sd->status.look.head_top = id->view_sprite;
} else
- sd->status.head_top = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
+ sd->status.look.head_top = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_TOP, sd->status.look.head_top);
}
if (!map_no_view(sd->bl.m,EQP_COSTUME_HEAD_MID) && pos & EQP_COSTUME_HEAD_MID) {
if(id && !(pos&EQP_HEAD_TOP)){
- sd->status.head_mid = id->look;
+ sd->status.look.head_mid = id->view_sprite;
} else
- sd->status.head_mid = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
+ sd->status.look.head_mid = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_MID, sd->status.look.head_mid);
}
if (!map_no_view(sd->bl.m,EQP_COSTUME_HEAD_LOW) && pos & EQP_COSTUME_HEAD_LOW) {
if (id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID))){
- sd->status.head_bottom = id->look;
+ sd->status.look.head_bottom = id->view_sprite;
} else
- sd->status.head_bottom = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
+ sd->status.look.head_bottom = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_BOTTOM, sd->status.look.head_bottom);
}
if (!map_no_view(sd->bl.m,EQP_SHOES) && pos & EQP_SHOES)
clif->changelook(&sd->bl,LOOK_SHOES,0);
if (!map_no_view(sd->bl.m,EQP_GARMENT) && pos&EQP_GARMENT && pc->checkequip(sd,EQP_COSTUME_GARMENT) == -1) {
- sd->status.robe = id ? id->look : 0;
- clif->changelook(&sd->bl, LOOK_ROBE, sd->status.robe);
+ sd->status.look.robe = id ? id->view_sprite : 0;
+ clif->changelook(&sd->bl, LOOK_ROBE, sd->status.look.robe);
}
if (!map_no_view(sd->bl.m,EQP_COSTUME_GARMENT) && pos & EQP_COSTUME_GARMENT) {
- sd->status.robe = id ? id->look : 0;
- clif->changelook(&sd->bl,LOOK_ROBE,sd->status.robe);
+ sd->status.look.robe = id ? id->view_sprite : 0;
+ clif->changelook(&sd->bl, LOOK_ROBE, sd->status.look.robe);
}
}
@@ -9987,57 +10005,59 @@ void pc_unequipitem_pos(struct map_session_data *sd, int n, int pos)
{
nullpo_retv(sd);
if (pos & EQP_HAND_R) {
- sd->weapontype1 = 0;
- sd->status.weapon = sd->weapontype2;
+ sd->weapontype1 = W_FIST;
pc->calcweapontype(sd);
- clif->changelook(&sd->bl,LOOK_WEAPON,sd->status.weapon);
+ sd->status.look.weapon = 0;
+ clif->changelook(&sd->bl, LOOK_WEAPON, sd->status.look.weapon);
if (!battle_config.dancing_weaponswitch_fix)
status_change_end(&sd->bl, SC_DANCING, INVALID_TIMER); // Unequipping => stop dancing.
}
if (pos & EQP_HAND_L) {
- sd->status.shield = sd->weapontype2 = 0;
+ sd->has_shield = false;
+ sd->status.look.shield = 0;
+ sd->weapontype2 = W_FIST;
pc->calcweapontype(sd);
- clif->changelook(&sd->bl,LOOK_SHIELD,sd->status.shield);
+ clif->changelook(&sd->bl, LOOK_SHIELD, sd->status.look.shield);
}
if (pos & EQP_HEAD_LOW && pc->checkequip(sd,EQP_COSTUME_HEAD_LOW) == -1) {
- sd->status.head_bottom = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
+ sd->status.look.head_bottom = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_BOTTOM, sd->status.look.head_bottom);
}
if (pos & EQP_HEAD_TOP && pc->checkequip(sd,EQP_COSTUME_HEAD_TOP) == -1) {
- sd->status.head_top = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
+ sd->status.look.head_top = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_TOP, sd->status.look.head_top);
}
if (pos & EQP_HEAD_MID && pc->checkequip(sd,EQP_COSTUME_HEAD_MID) == -1) {
- sd->status.head_mid = 0;
- clif->changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
+ sd->status.look.head_mid = 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_MID, sd->status.look.head_mid);
}
if (pos & EQP_COSTUME_HEAD_TOP) {
- sd->status.head_top = ( pc->checkequip(sd,EQP_HEAD_TOP) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_HEAD_TOP)]->look : 0;
- clif->changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
+ sd->status.look.head_top = ( pc->checkequip(sd,EQP_HEAD_TOP) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_HEAD_TOP)]->view_sprite : 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_TOP, sd->status.look.head_top);
}
if (pos & EQP_COSTUME_HEAD_MID) {
- sd->status.head_mid = ( pc->checkequip(sd,EQP_HEAD_MID) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_HEAD_MID)]->look : 0;
- clif->changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
+ sd->status.look.head_mid = ( pc->checkequip(sd,EQP_HEAD_MID) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_HEAD_MID)]->view_sprite : 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_MID, sd->status.look.head_mid);
}
if (pos & EQP_COSTUME_HEAD_LOW) {
- sd->status.head_bottom = ( pc->checkequip(sd,EQP_HEAD_LOW) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_HEAD_LOW)]->look : 0;
- clif->changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
+ sd->status.look.head_bottom = ( pc->checkequip(sd,EQP_HEAD_LOW) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_HEAD_LOW)]->view_sprite : 0;
+ clif->changelook(&sd->bl, LOOK_HEAD_BOTTOM, sd->status.look.head_bottom);
}
if (pos & EQP_SHOES)
clif->changelook(&sd->bl,LOOK_SHOES,0);
if (pos & EQP_GARMENT && pc->checkequip(sd,EQP_COSTUME_GARMENT) == -1) {
- sd->status.robe = 0;
+ sd->status.look.robe = 0;
clif->changelook(&sd->bl, LOOK_ROBE, 0);
}
if (pos & EQP_COSTUME_GARMENT) {
- sd->status.robe = ( pc->checkequip(sd,EQP_GARMENT) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_GARMENT)]->look : 0;
- clif->changelook(&sd->bl,LOOK_ROBE,sd->status.robe);
+ sd->status.look.robe = ( pc->checkequip(sd,EQP_GARMENT) >= 0 ) ? sd->inventory_data[pc->checkequip(sd,EQP_GARMENT)]->view_sprite : 0;
+ clif->changelook(&sd->bl, LOOK_ROBE, sd->status.look.robe);
}
}
@@ -10091,7 +10111,7 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag)
clif->unequipitemack(sd, n, pos, UIA_SUCCESS);
if ((pos & EQP_ARMS) &&
- sd->weapontype1 == 0 && sd->weapontype2 == 0 && (sd->sc.data[SC_TK_SEVENWIND] == 0 || sd->sc.data[SC_ASPERSIO])) //Check for seven wind (but not level seven!)
+ sd->weapontype1 == W_FIST && sd->weapontype2 == W_FIST && (sd->sc.data[SC_TK_SEVENWIND] == NULL || sd->sc.data[SC_ASPERSIO] != NULL)) //Check for seven wind (but not level seven!)
skill->enchant_elemental_end(&sd->bl, -1);
if (pos & EQP_ARMOR) {
diff --git a/src/map/pc.h b/src/map/pc.h
index c94ec6099..46aafa5e5 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -308,7 +308,10 @@ struct map_session_data {
short nameid;
int64 tick;
} item_delay[MAX_ITEMDELAYS]; // [Paradox924X]
- short weapontype1,weapontype2;
+ bool has_shield; ///< Whether the character is wearing a shield.
+ 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]
struct weapon_data right_weapon, left_weapon;
@@ -685,8 +688,13 @@ END_ZEROED_BLOCK;
#define pc_stop_attack(sd) (unit->stop_attack(&(sd)->bl))
//Weapon check considering dual wielding.
-#define pc_check_weapontype(sd, type) ((type)&((sd)->status.weapon < MAX_SINGLE_WEAPON_TYPE? \
- 1<<(sd)->status.weapon:(1<<(sd)->weapontype1)|(1<<(sd)->weapontype2)|(1<<(sd)->status.weapon)))
+#define pc_check_weapontype(sd, type) ( \
+ (type) & ( \
+ (sd)->weapontype < MAX_SINGLE_WEAPON_TYPE ? \
+ 1 << (sd)->weapontype : \
+ (1 << (sd)->weapontype1) | (1 << (sd)->weapontype2) \
+ ) \
+ )
// clientside display macros (values to the left/right of the "+")
#ifdef RENEWAL
@@ -986,8 +994,8 @@ END_ZEROED_BLOCK; /* End */
int (*changelook) (struct map_session_data *sd,int type,int val);
int (*equiplookall) (struct map_session_data *sd);
- int (*readparam) (const struct map_session_data *sd, int type);
- int (*setparam) (struct map_session_data *sd,int type,int val);
+ int64 (*readparam) (const struct map_session_data *sd, int type);
+ int (*setparam) (struct map_session_data *sd, int type, int64 val);
int (*readreg) (struct map_session_data *sd, int64 reg);
void (*setreg) (struct map_session_data *sd, int64 reg,int val);
char * (*readregstr) (struct map_session_data *sd, int64 reg);
diff --git a/src/map/rodex.c b/src/map/rodex.c
index c041ecc6b..63d7242db 100644
--- a/src/map/rodex.c
+++ b/src/map/rodex.c
@@ -263,17 +263,38 @@ int rodex_send_mail(struct map_session_data *sd, const char *receiver_name, cons
for (i = 0; i < RODEX_MAX_ITEM; i++) {
int16 idx = sd->rodex.tmp.items[i].idx;
+ int j;
+ struct item *tmpItem = &sd->rodex.tmp.items[i].item;
+ struct item *invItem = &sd->status.inventory[idx];
- if (sd->rodex.tmp.items[i].item.nameid == 0)
+ if (tmpItem->nameid == 0)
continue;
- if (sd->rodex.tmp.items[i].item.nameid != sd->status.inventory[idx].nameid
- || sd->rodex.tmp.items[i].item.unique_id != sd->status.inventory[idx].unique_id
- || sd->rodex.tmp.items[i].item.amount > sd->status.inventory[idx].amount
- || sd->rodex.tmp.items[i].item.amount < 1) {
+ if (tmpItem->nameid != invItem->nameid ||
+ tmpItem->unique_id != invItem->unique_id ||
+ tmpItem->refine != invItem->refine ||
+ tmpItem->attribute != invItem->attribute ||
+ tmpItem->expire_time != invItem->expire_time ||
+ tmpItem->bound != invItem->bound ||
+ tmpItem->amount > invItem->amount ||
+ tmpItem->amount < 1) {
rodex->clean(sd, 1);
return RODEX_SEND_MAIL_ITEM_ERROR;
}
+ for (j = 0; j < MAX_SLOTS; j++) {
+ if (tmpItem->card[j] != invItem->card[j]) {
+ rodex->clean(sd, 1);
+ return RODEX_SEND_MAIL_ITEM_ERROR;
+ }
+ }
+ for (j = 0; j < MAX_ITEM_OPTIONS; j++) {
+ if (tmpItem->option[j].index != invItem->option[j].index ||
+ tmpItem->option[j].value != invItem->option[j].value ||
+ tmpItem->option[j].param != invItem->option[j].param) {
+ rodex->clean(sd, 1);
+ return RODEX_SEND_MAIL_ITEM_ERROR;
+ }
+ }
}
if (total_zeny > 0 && pc->payzeny(sd, (int)total_zeny, LOG_TYPE_MAIL, NULL) != 0) {
diff --git a/src/map/script.c b/src/map/script.c
index 8722fcdbe..e2f53088c 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -9967,14 +9967,22 @@ BUILDIN(setgroupid) {
/// Returns the group ID of the player.
///
-/// getgroupid() -> <int>
-BUILDIN(getgroupid)
-{
- struct map_session_data *sd = script->rid2sd(st);
- if (sd == NULL)
+/// getgroupid({<account id>}) -> <int>
+BUILDIN(getgroupid) {
+ struct map_session_data *sd = NULL;
+
+ if (script_hasdata(st, 2)) {
+ sd = map->id2sd(script_getnum(st, 2));
+ } else {
+ sd = script->rid2sd(st);
+ }
+
+ if (sd == NULL) {
+ script_pushint(st, -1);
return true; // no player attached, report source
- script_pushint(st, pc_get_group_id(sd));
+ }
+ script_pushint(st, pc_get_group_id(sd));
return true;
}
@@ -12771,6 +12779,76 @@ BUILDIN(setmapflagnosave) {
return true;
}
+enum mapinfo_info {
+ MAPINFO_NAME,
+ MAPINFO_ID,
+ MAPINFO_SIZE_X,
+ MAPINFO_SIZE_Y,
+ MAPINFO_ZONE
+};
+
+BUILDIN(getmapinfo)
+{
+ enum mapinfo_info mode = script_getnum(st, 2);
+ int16 m;
+
+ if (script_hasdata(st, 3)) {
+ if (script_isstringtype(st, 3)) {
+ const char *str = script_getstr(st, 3);
+ m = map->mapname2mapid(str);
+ } else {
+ m = script_getnum(st, 3);
+ }
+ } else {
+ struct block_list *bl = NULL;
+
+ if (st->oid) {
+ bl = map->id2bl(st->oid);
+ } else if (st->rid) {
+ bl = map->id2bl(st->rid);
+ }
+
+ if (bl == NULL) {
+ ShowError("script:getmapinfo: map not supplied and NPC/PC not attached!\n");
+ script_pushint(st, -3);
+ return false;
+ }
+
+ m = bl->m;
+ }
+
+ if (m < 0) {
+ // here we don't throw an error, so the command can be used
+ // to detect whether or not a map exists
+ script_pushint(st, -1);
+ return true;
+ }
+
+ switch (mode) {
+ case MAPINFO_NAME:
+ script_pushconststr(st, map->list[m].name);
+ break;
+ case MAPINFO_ID:
+ script_pushint(st, m);
+ break;
+ case MAPINFO_SIZE_X:
+ script_pushint(st, map->list[m].xs);
+ break;
+ case MAPINFO_SIZE_Y:
+ script_pushint(st, map->list[m].ys);
+ break;
+ case MAPINFO_ZONE:
+ script_pushstrcopy(st, map->list[m].zone->name);
+ break;
+ default:
+ ShowError("script:getmapinfo: unknown option in second argument (%u).\n", mode);
+ script_pushint(st, -2);
+ return false;
+ }
+
+ return true;
+}
+
BUILDIN(getmapflag)
{
int16 m,i;
@@ -13982,43 +14060,70 @@ BUILDIN(getitemslots)
return true;
}
-// TODO: add matk here if needed/once we get rid of RENEWAL
+// TODO: add matk here if needed
/*==========================================
* Returns some values of an item [Lupus]
* Price, Weight, etc...
- * getiteminfo(itemID,n), where n
- * 0 value_buy;
- * 1 value_sell;
- * 2 type;
- * 3 maxchance = Max drop chance of this item e.g. 1 = 0.01% , etc..
- * if = 0, then monsters don't drop it at all (rare or a quest item)
- * if = -1, then this item is sold in NPC shops only
- * 4 sex;
- * 5 equip;
- * 6 weight;
- * 7 atk;
- * 8 def;
- * 9 range;
- * 10 slot;
- * 11 look;
- * 12 elv;
- * 13 wlv;
- * 14 view id
*------------------------------------------*/
BUILDIN(getiteminfo)
{
- int item_id,n;
- struct item_data *i_data;
+ int item_id = script_getnum(st, 2);
+ int n = script_getnum(st, 3);
+ struct item_data *it = itemdb->exists(item_id);
- item_id = script_getnum(st,2);
- n = script_getnum(st,3);
- i_data = itemdb->exists(item_id);
+ if (it == NULL) {
+ script_pushint(st, -1);
+ return true;
+ }
- if (i_data && n>=0 && n<=14) {
- int *item_arr = (int*)&i_data->value_buy;
- script_pushint(st,item_arr[n]);
- } else {
+ switch (n) {
+ case 0:
+ script_pushint(st, it->value_buy);
+ break;
+ case 1:
+ script_pushint(st, it->value_sell);
+ break;
+ case 2:
+ script_pushint(st, it->type);
+ break;
+ case 3:
+ script_pushint(st, it->maxchance);
+ break;
+ case 4:
+ script_pushint(st, it->sex);
+ break;
+ case 5:
+ script_pushint(st, it->equip);
+ break;
+ case 6:
+ script_pushint(st, it->weight);
+ break;
+ case 7:
+ script_pushint(st, it->atk);
+ break;
+ case 8:
+ script_pushint(st, it->def);
+ break;
+ case 9:
+ script_pushint(st, it->range);
+ break;
+ case 10:
+ script_pushint(st, it->slot);
+ break;
+ case 11:
+ script_pushint(st, it->subtype);
+ break;
+ case 12:
+ script_pushint(st, it->elv);
+ break;
+ case 13:
+ script_pushint(st, it->wlv);
+ break;
+ case 14:
+ script_pushint(st, it->view_id);
+ break;
+ default:
script_pushint(st,-1);
}
return true;
@@ -14211,43 +14316,71 @@ BUILDIN(setequipoption)
/*==========================================
* Set some values of an item [Lupus]
* Price, Weight, etc...
- * setiteminfo(itemID,n,Value), where n
- * 0 value_buy;
- * 1 value_sell;
- * 2 type;
- * 3 maxchance = Max drop chance of this item e.g. 1 = 0.01% , etc..
- * if = 0, then monsters don't drop it at all (rare or a quest item)
- * if = -1, then this item is sold in NPC shops only
- * 4 sex;
- * 5 equip;
- * 6 weight;
- * 7 atk;
- * 8 def;
- * 9 range;
- * 10 slot;
- * 11 look;
- * 12 elv;
- * 13 wlv;
- * 14 view id
- * Returns Value or -1 if the wrong field's been set
*------------------------------------------*/
BUILDIN(setiteminfo)
{
- int item_id,n,value;
- struct item_data *i_data;
+ // TODO: Validate data in a similar way as during database load
+ int item_id = script_getnum(st, 2);
+ int n = script_getnum(st, 3);
+ int value = script_getnum(st,4);
+ struct item_data *it = itemdb->exists(item_id);
- item_id = script_getnum(st,2);
- n = script_getnum(st,3);
- value = script_getnum(st,4);
- i_data = itemdb->exists(item_id);
+ if (it == NULL) {
+ script_pushint(st, -1);
+ return true;
+ }
- if (i_data && n>=0 && n<=14) {
- int *item_arr = (int*)&i_data->value_buy;
- item_arr[n] = value;
- script_pushint(st,value);
- } else {
+ switch (n) {
+ case 0:
+ it->value_buy = value;
+ break;
+ case 1:
+ it->value_sell = value;
+ break;
+ case 2:
+ it->type = value;
+ break;
+ case 3:
+ it->maxchance = value;
+ break;
+ case 4:
+ it->sex = value;
+ break;
+ case 5:
+ it->equip = value;
+ break;
+ case 6:
+ it->weight = value;
+ break;
+ case 7:
+ it->atk = value;
+ break;
+ case 8:
+ it->def = value;
+ break;
+ case 9:
+ it->range = value;
+ break;
+ case 10:
+ it->slot = value;
+ break;
+ case 11:
+ it->subtype = value;
+ break;
+ case 12:
+ it->elv = value;
+ break;
+ case 13:
+ it->wlv = value;
+ break;
+ case 14:
+ it->view_id = value;
+ break;
+ default:
script_pushint(st,-1);
+ return true;
}
+ script_pushint(st,value);
return true;
}
@@ -15464,15 +15597,15 @@ BUILDIN(getlook)
type=script_getnum(st,2);
switch(type) {
case LOOK_HAIR: val = sd->status.hair; break; //1
- case LOOK_WEAPON: val = sd->status.weapon; break; //2
- case LOOK_HEAD_BOTTOM: val = sd->status.head_bottom; break; //3
- case LOOK_HEAD_TOP: val = sd->status.head_top; break; //4
- case LOOK_HEAD_MID: val = sd->status.head_mid; break; //5
+ case LOOK_WEAPON: val = sd->status.look.weapon; break; //2
+ case LOOK_HEAD_BOTTOM: val = sd->status.look.head_bottom; break; //3
+ case LOOK_HEAD_TOP: val = sd->status.look.head_top; break; //4
+ case LOOK_HEAD_MID: val = sd->status.look.head_mid; break; //5
case LOOK_HAIR_COLOR: val = sd->status.hair_color; break; //6
case LOOK_CLOTHES_COLOR: val = sd->status.clothes_color; break; //7
- case LOOK_SHIELD: val = sd->status.shield; break; //8
+ case LOOK_SHIELD: val = sd->status.look.shield; break; //8
case LOOK_SHOES: break; //9
- case LOOK_ROBE: val = sd->status.robe; break; //12
+ case LOOK_ROBE: val = sd->status.look.robe; break; //12
case LOOK_BODY2: val=sd->status.body; break; //13
}
@@ -15722,19 +15855,37 @@ BUILDIN(getmapxy)
return true;
}
+enum logmes_type {
+ LOGMES_NPC,
+ LOGMES_ATCOMMAND
+};
+
/*==========================================
- * Allows player to write NPC logs (i.e. Bank NPC, etc) [Lupus]
+ * Allows player to write logs (i.e. Bank NPC, etc) [Lupus]
*------------------------------------------*/
-BUILDIN(logmes)
-{
- const char *str;
+BUILDIN(logmes) {
+ const char *str = script_getstr(st, 2);
struct map_session_data *sd = script->rid2sd(st);
+ enum logmes_type type = LOGMES_NPC;
+ nullpo_retr(sd, false);
- if (sd == NULL)
- return true;
+ if (script_hasdata(st, 3)) {
+ type = script_getnum(st, 3);
+ }
+
+ switch (type) {
+ case LOGMES_ATCOMMAND:
+ logs->atcommand(sd, str);
+ break;
+ case LOGMES_NPC:
+ logs->npc(sd, str);
+ break;
+ default:
+ ShowError("script:logmes: Unknown log type!\n");
+ st->state = END;
+ return false;
+ }
- str = script_getstr(st,2);
- logs->npc(sd,str);
return true;
}
@@ -23321,6 +23472,50 @@ BUILDIN(activatepset);
BUILDIN(deactivatepset);
BUILDIN(deletepset);
+enum dressroom_mode {
+ DRESSROOM_CLOSE = 0,
+ DRESSROOM_OPEN = 1
+};
+
+/**
+ * dressroom({<enum dressroom_mode>});
+ */
+BUILDIN(dressroom)
+{
+#if PACKETVER >= 20150513
+ struct map_session_data *sd = script->rid2sd(st);
+ enum dressroom_mode mode = DRESSROOM_OPEN;
+
+ if (sd == NULL) {
+ return false;
+ }
+
+ if (script_hasdata(st, 2)) {
+ mode = script_getnum(st, 2);
+ }
+
+ switch (mode) {
+ case DRESSROOM_OPEN:
+ clif->dressroom_open(sd, 1);
+ break;
+ case DRESSROOM_CLOSE:
+ clif->dressroom_open(sd, 0);
+ break;
+ default:
+ ShowWarning("script:dressroom: unknown mode (%i).\n", mode);
+ script_pushint(st, 0);
+ return false;
+ }
+
+ script_pushint(st, 1);
+ return true;
+#else
+ ShowError("The dressing room works only with packet version >= 20150513");
+ script_pushint(st, 0);
+ return false;
+#endif
+}
+
BUILDIN(pcre_match)
{
const char *input = script_getstr(st, 2);
@@ -23421,7 +23616,7 @@ BUILDIN(rodex_sendmail)
// Common parameters - sender/message/zeny
if (rodex_sendmail_sub(st, &msg) == false)
return false;
-
+
// Item list
while (i < RODEX_MAX_ITEM && script_hasdata(st, param)) {
struct item_data *idata;
@@ -23450,7 +23645,7 @@ BUILDIN(rodex_sendmail)
msg.items[i].item.nameid = idata->nameid;
msg.items[i].item.amount = script_getnum(st, (param + 1));
msg.items[i].item.identify = 1;
-
+
++i;
param += 2;
}
@@ -23528,7 +23723,7 @@ BUILDIN(rodex_sendmail2)
for (j = 0; j < MAX_SLOTS; ++j) {
msg.items[i].item.card[j] = script_getnum(st, param + 4 + j);
}
-
+
++i;
param += 4 + MAX_SLOTS;
}
@@ -23806,7 +24001,7 @@ void script_parse_builtin(void) {
BUILDIN_DEF(basicskillcheck,""),
BUILDIN_DEF(getgmlevel,""),
BUILDIN_DEF(setgroupid, "i?"),
- BUILDIN_DEF(getgroupid,""),
+ BUILDIN_DEF(getgroupid,"?"),
BUILDIN_DEF(end,""),
BUILDIN_DEF(checkoption,"i?"),
BUILDIN_DEF(setoption,"i??"),
@@ -23887,6 +24082,7 @@ void script_parse_builtin(void) {
BUILDIN_DEF(isloggedin,"i?"),
BUILDIN_DEF(setmapflagnosave,"ssii"),
BUILDIN_DEF(getmapflag,"si"),
+ BUILDIN_DEF(getmapinfo,"i?"),
BUILDIN_DEF(setmapflag,"si?"),
BUILDIN_DEF(removemapflag,"si"),
BUILDIN_DEF(pvpon,"s"),
@@ -23963,7 +24159,7 @@ void script_parse_builtin(void) {
BUILDIN_DEF(checkoption2,"i?"),
BUILDIN_DEF(guildgetexp,"i"),
BUILDIN_DEF(guildchangegm,"is"),
- BUILDIN_DEF(logmes,"s"), //this command actls as MES but rints info into LOG file either SQL/TXT [Lupus]
+ BUILDIN_DEF(logmes,"s?"), //this command actls as MES but rints info into LOG file either SQL/TXT [Lupus]
BUILDIN_DEF(summon,"si??"), // summons a slave monster [Celest]
BUILDIN_DEF(isnight,""), // check whether it is night time [Celest]
BUILDIN_DEF(isequipped,"i*"), // check whether another item/card has been equipped [Celest]
@@ -23976,6 +24172,7 @@ void script_parse_builtin(void) {
BUILDIN_DEF(activatepset,"i"), // Activate a pattern set [MouseJstr]
BUILDIN_DEF(deactivatepset,"i"), // Deactive a pattern set [MouseJstr]
BUILDIN_DEF(deletepset,"i"), // Delete a pattern set [MouseJstr]
+ BUILDIN_DEF(dressroom,"?"),
BUILDIN_DEF(pcre_match,"ss"),
BUILDIN_DEF(dispbottom,"s?"), //added from jA [Lupus]
BUILDIN_DEF(getusersname,""),
@@ -24178,7 +24375,7 @@ void script_parse_builtin(void) {
**/
BUILDIN_DEF(bindatcmd, "ss???"),
BUILDIN_DEF(unbindatcmd, "s"),
- BUILDIN_DEF(useatcmd, "s"),
+ BUILDIN_DEF_DEPRECATED(useatcmd, "s"),
BUILDIN_DEF(has_permission, "v?"),
BUILDIN_DEF(can_use_command, "s?"),
BUILDIN_DEF(add_group_command, "siii"),
@@ -24404,6 +24601,15 @@ void script_hardcoded_constants(void)
script->set_constant("EQP_SHADOW_SHOES", EQP_SHADOW_SHOES, false, false);
script->set_constant("EQP_SHADOW_ACC_R", EQP_SHADOW_ACC_R, false, false);
script->set_constant("EQP_SHADOW_ACC_L", EQP_SHADOW_ACC_L, false, false);
+ // Synonyms and combined values
+ script->set_constant("EQP_WEAPON", EQP_WEAPON, false, false);
+ script->set_constant("EQP_SHIELD", EQP_SHIELD, false, false);
+ script->set_constant("EQP_ARMS", EQP_ARMS, false, false);
+ script->set_constant("EQP_HELM", EQP_HELM, false, false);
+ script->set_constant("EQP_ACC", EQP_ACC, false, false);
+ script->set_constant("EQP_COSTUME", EQP_COSTUME, false, false);
+ script->set_constant("EQP_SHADOW_ACC", EQP_SHADOW_ACC, false, false);
+ script->set_constant("EQP_SHADOW_ARMS", EQP_SHADOW_ARMS, false, false);
script->constdb_comment("Item Option Types");
script->set_constant("IT_OPT_INDEX", IT_OPT_INDEX, false, false);
@@ -24480,6 +24686,68 @@ void script_hardcoded_constants(void)
script->set_constant("DATATYPE_VAR", DATATYPE_VAR, false, false);
script->set_constant("DATATYPE_LABEL", DATATYPE_LABEL, false, false);
+ script->constdb_comment("Logmes types");
+ script->set_constant("LOGMES_NPC", LOGMES_NPC, false, false);
+ script->set_constant("LOGMES_ATCOMMAND", LOGMES_ATCOMMAND, false, false);
+
+ script->constdb_comment("Item Subtypes (Weapon types)");
+ script->set_constant("W_FIST", W_FIST, false, false);
+ script->set_constant("W_DAGGER", W_DAGGER, false, false);
+ script->set_constant("W_1HSWORD", W_1HSWORD, false, false);
+ script->set_constant("W_2HSWORD", W_2HSWORD, false, false);
+ script->set_constant("W_1HSPEAR", W_1HSPEAR, false, false);
+ script->set_constant("W_2HSPEAR", W_2HSPEAR, false, false);
+ script->set_constant("W_1HAXE", W_1HAXE, false, false);
+ script->set_constant("W_2HAXE", W_2HAXE, false, false);
+ script->set_constant("W_MACE", W_MACE, false, false);
+ script->set_constant("W_2HMACE", W_2HMACE, false, false);
+ script->set_constant("W_STAFF", W_STAFF, false, false);
+ script->set_constant("W_BOW", W_BOW, false, false);
+ script->set_constant("W_KNUCKLE", W_KNUCKLE, false, false);
+ script->set_constant("W_MUSICAL", W_MUSICAL, false, false);
+ script->set_constant("W_WHIP", W_WHIP, false, false);
+ script->set_constant("W_BOOK", W_BOOK, false, false);
+ script->set_constant("W_KATAR", W_KATAR, false, false);
+ script->set_constant("W_REVOLVER", W_REVOLVER, false, false);
+ script->set_constant("W_RIFLE", W_RIFLE, false, false);
+ script->set_constant("W_GATLING", W_GATLING, false, false);
+ script->set_constant("W_SHOTGUN", W_SHOTGUN, false, false);
+ script->set_constant("W_GRENADE", W_GRENADE, false, false);
+ script->set_constant("W_HUUMA", W_HUUMA, false, false);
+ script->set_constant("W_2HSTAFF", W_2HSTAFF, false, false);
+
+ script->constdb_comment("Item Subtypes (Ammunition types)");
+ script->set_constant("A_ARROW", A_ARROW, false, false);
+ script->set_constant("A_DAGGER", A_DAGGER, false, false);
+ script->set_constant("A_BULLET", A_BULLET, false, false);
+ script->set_constant("A_SHELL", A_SHELL, false, false);
+ script->set_constant("A_GRENADE", A_GRENADE, false, false);
+ script->set_constant("A_SHURIKEN", A_SHURIKEN, false, false);
+ script->set_constant("A_KUNAI", A_KUNAI, false, false);
+ script->set_constant("A_CANNONBALL", A_CANNONBALL, false, false);
+ script->set_constant("A_THROWWEAPON", A_THROWWEAPON, false, false);
+
+ script->constdb_comment("Item Upper Masks");
+ script->set_constant("ITEMUPPER_NONE", ITEMUPPER_NONE, false, false);
+ script->set_constant("ITEMUPPER_NORMAL", ITEMUPPER_NORMAL, false, false);
+ script->set_constant("ITEMUPPER_UPPER", ITEMUPPER_UPPER, false, false);
+ script->set_constant("ITEMUPPER_BABY", ITEMUPPER_BABY, false, false);
+ script->set_constant("ITEMUPPER_THIRD", ITEMUPPER_THIRD, false, false);
+ script->set_constant("ITEMUPPER_THIRDUPPER", ITEMUPPER_THIRDUPPER, false, false);
+ script->set_constant("ITEMUPPER_THIRDBABY", ITEMUPPER_THIRDBABY, false, false);
+ script->set_constant("ITEMUPPER_ALL", ITEMUPPER_ALL, false, false);
+
+ script->constdb_comment("dressroom modes");
+ script->set_constant("DRESSROOM_OPEN", DRESSROOM_OPEN, false, false);
+ script->set_constant("DRESSROOM_CLOSE", DRESSROOM_CLOSE, false, false);
+
+ script->constdb_comment("getmapinfo options");
+ script->set_constant("MAPINFO_NAME", MAPINFO_NAME, false, false);
+ script->set_constant("MAPINFO_ID", MAPINFO_ID, false, false);
+ 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->constdb_comment("Renewal");
#ifdef RENEWAL
script->set_constant("RENEWAL", 1, false, false);
diff --git a/src/map/skill.c b/src/map/skill.c
index e187b7e8b..a84955377 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -476,9 +476,9 @@ int can_copy (struct map_session_data *sd, uint16 skill_id, struct block_list* b
return 0;
// Couldn't preserve 3rd Class/Summoner skills except only when using Reproduce skill. [Jobbie]
- if (!(sd->sc.data[SC__REPRODUCE]) &&
- ((skill_id >= RK_ENCHANTBLADE && skill_id <= LG_OVERBRAND_PLUSATK) ||
- (skill_id >= RL_GLITTERING_GREED && skill_id <= OB_AKAITSUKI) ||
+ if (!(sd->sc.data[SC__REPRODUCE]) &&
+ ((skill_id >= RK_ENCHANTBLADE && skill_id <= LG_OVERBRAND_PLUSATK) ||
+ (skill_id >= RL_GLITTERING_GREED && skill_id <= OB_AKAITSUKI) ||
(skill_id >= GC_DARKCROW && skill_id <= SU_FRESHSHRIMP)))
return 0;
// Reproduce will only copy skills according on the list. [Jobbie]
@@ -806,7 +806,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
break; // If a normal attack is a skill, it's splash damage. [Inkfish]
if(sd) {
// Automatic trigger of Blitz Beat
- if (pc_isfalcon(sd) && sd->status.weapon == W_BOW && (temp=pc->checkskill(sd,HT_BLITZBEAT))>0 &&
+ if (pc_isfalcon(sd) && sd->weapontype == W_BOW && (temp=pc->checkskill(sd,HT_BLITZBEAT))>0 &&
rnd()%1000 <= sstatus->luk*3 ) {
rate = sd->status.job_level / 10 + 1;
skill->castend_damage_id(src,bl,HT_BLITZBEAT,(temp<rate)?temp:rate,tick,SD_LEVEL);
@@ -815,7 +815,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
if( pc_iswug(sd) && (temp=pc->checkskill(sd,RA_WUGSTRIKE)) > 0 && rnd()%1000 <= sstatus->luk*3 )
skill->castend_damage_id(src,bl,RA_WUGSTRIKE,temp,tick,0);
// Gank
- if(dstmd && sd->status.weapon != W_BOW &&
+ if(dstmd && sd->weapontype != W_BOW &&
(temp=pc->checkskill(sd,RG_SNATCHER)) > 0 &&
(temp*15 + 55) + pc->checkskill(sd,TF_STEAL)*10 > rnd()%1000) {
if(pc->steal_item(sd,bl,pc->checkskill(sd,TF_STEAL)))
@@ -2012,7 +2012,7 @@ int skill_break_equip (struct block_list *bl, unsigned short where, int rate, in
if (sd->bonus.unbreakable)
rate -= rate*sd->bonus.unbreakable/100;
if (where&EQP_WEAPON) {
- switch (sd->status.weapon) {
+ switch (sd->weapontype) {
case W_FIST: //Bare fists should not break :P
case W_1HAXE:
case W_2HAXE:
@@ -5917,7 +5917,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
case SA_LIGHTNINGLOADER:
case SA_SEISMICWEAPON:
if (dstsd) {
- if(dstsd->status.weapon == W_FIST ||
+ if (dstsd->weapontype == W_FIST ||
(dstsd->sc.count && !dstsd->sc.data[type] &&
( //Allow re-enchanting to lengthen time. [Skotlex]
dstsd->sc.data[SC_PROPERTYFIRE] ||
@@ -13391,7 +13391,7 @@ int skill_isammotype (struct map_session_data *sd, int skill_id)
nullpo_ret(sd);
return (
battle_config.arrow_decrement==2 &&
- (sd->status.weapon == W_BOW || (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) &&
+ (sd->weapontype == W_BOW || (sd->weapontype >= W_REVOLVER && sd->weapontype <= W_GRENADE)) &&
skill_id != HT_PHANTASMIC &&
skill->get_type(skill_id) == BF_WEAPON &&
!(skill->get_nk(skill_id)&NK_NO_DAMAGE) &&
@@ -13833,8 +13833,8 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case PR_REDEMPTIO:
{
int exp;
- if( ((exp = pc->nextbaseexp(sd)) > 0 && get_percentage(sd->status.base_exp, exp) < 1) ||
- ((exp = pc->nextjobexp(sd)) > 0 && get_percentage(sd->status.job_exp, exp) < 1)) {
+ if( ((exp = pc->nextbaseexp(sd)) > 0 && get_percentage64(sd->status.base_exp, exp) < 1) ||
+ ((exp = pc->nextjobexp(sd)) > 0 && get_percentage64(sd->status.job_exp, exp) < 1)) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); //Not enough exp.
return 0;
}
@@ -14245,7 +14245,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
}
break;
case ST_SHIELD:
- if(sd->status.shield <= 0) {
+ if (!sd->has_shield) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
@@ -14555,7 +14555,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
clif->messagecolor_self(sd->fd, COLOR_RED, e_msg);
return 0;
}
- if (!(require.ammo&1<<sd->inventory_data[i]->look)) { //Ammo type check. Send the "wrong weapon type" message
+ if (!(require.ammo&1<<sd->inventory_data[i]->subtype)) { //Ammo type check. Send the "wrong weapon type" message
//which is the closest we have to wrong ammo type. [Skotlex]
clif->arrow_fail(sd,0); //Haplo suggested we just send the equip-arrows message instead. [Skotlex]
//clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
@@ -19530,7 +19530,7 @@ void skill_validate_skilltype(struct config_setting_t *conf, struct s_skill_db *
}
}
}
-
+
/**
* Validates "SkillInfo" when reading skill_db.conf
* @param conf struct, pointer to skill configuration
@@ -20442,7 +20442,7 @@ void skill_validate_additional_fields(struct config_setting_t *conf, struct s_sk
bool skill_validate_skilldb(struct s_skill_db *sk, const char *source)
{
int idx;
-
+
nullpo_retr(false, sk);
idx = skill->get_index(sk->nameid);
if (idx == 0) {
@@ -20460,10 +20460,10 @@ bool skill_validate_skilldb(struct s_skill_db *sk, const char *source)
strdb_iput(skill->name2id_db, skill->dbs->db[idx].name, skill->dbs->db[idx].nameid);
/* Set Name to Id script constants */
script->set_constant2(skill->dbs->db[idx].name, (int)skill->dbs->db[idx].nameid, false, false);
-
+
return true;
}
-
+
/**
* Reads skill_db.conf from relative filepath and processes [ Smokexyz/Hercules ]
* entries into the skill database.
@@ -20477,11 +20477,11 @@ bool skill_read_skilldb(const char *filename)
char filepath[256];
int count=0, index=0;
bool duplicate[MAX_SKILL] = {0};
-
+
nullpo_retr(false, filename);
sprintf(filepath,"db/%s",filename);
-
+
if (!libconfig->load_file(&skilldb, filepath)) {
return false; // Libconfig error report.
}
@@ -20503,9 +20503,9 @@ bool skill_read_skilldb(const char *filename)
ShowError("skill_read_skilldb: Skill Id not specified for entry %d in '%s', skipping...\n", index, filepath );
continue;
}
-
+
tmp_db.nameid = skill_id;
-
+
if((idx = skill->get_index(skill_id)) == 0) {
ShowError("skill_read_skilldb: Skill Id %d is out of range, or within a reserved range (for guild, homunculus, mercenary or elemental skills). skipping...\n", idx);
continue;
@@ -20515,7 +20515,7 @@ bool skill_read_skilldb(const char *filename)
ShowWarning("skill_read_skilldb: Duplicate Skill Id %d in entry %d in '%s', skipping...\n", skill_id, index, filepath);
continue;
}
-
+
/* Skill Name Constant */
if (!libconfig->setting_lookup_mutable_string(conf, "Name", tmp_db.name, sizeof(tmp_db.name))) {
ShowError("skill_read_skilldb: Name not specified for skill Id %d in '%s', skipping...\n", skill_id, filepath);
@@ -20705,12 +20705,12 @@ bool skill_read_skilldb(const char *filename)
/* Additional Fields for Plugins */
skill->validate_additional_fields(conf, &tmp_db);
-
+
// Validate the skill entry, add it to the duplicate array and increment count on success.
if ((duplicate[idx] = skill->validate_skilldb(&tmp_db, filepath)))
count++;
}
-
+
libconfig->destroy(&skilldb);
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
@@ -20742,7 +20742,7 @@ void skill_readdb(bool minimal)
safestrncpy(skill->dbs->db[0].desc, "Unknown Skill", sizeof(skill->dbs->db[0].desc));
itemdb->name_constants(); // refresh ItemDB constants before loading of skills
-
+
#ifdef ENABLE_CASE_CHECK
script->parser_current_file = DBPATH"skill_db.conf";
#endif // ENABLE_CASE_CHECK
@@ -20753,7 +20753,7 @@ void skill_readdb(bool minimal)
if (minimal)
return;
-
+
skill->init_unit_layout();
sv->readdb(map->db_path, "produce_db.txt", ',', 4, 4+2*MAX_PRODUCE_RESOURCE, MAX_SKILL_PRODUCE_DB, skill->parse_row_producedb);
sv->readdb(map->db_path, "create_arrow_db.txt", ',', 1+2, 1+2*MAX_ARROW_RESOURCE, MAX_SKILL_ARROW_DB, skill->parse_row_createarrowdb);
diff --git a/src/map/status.c b/src/map/status.c
index c98857736..e0893aa36 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2651,31 +2651,31 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
}
}
}
-
+
/* parse item options [Smokexyz] */
for (i = 0; i < EQI_MAX; i++) {
status->current_equip_item_index = index = sd->equip_index[i];
status->current_equip_option_index = -1;
-
+
if (i == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index)
continue;
else if (i == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index)
continue;
else if (i == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index))
continue;
-
+
if (index >= 0 && sd->inventory_data[index]) {
int j = 0;
for (j = 0; j < MAX_ITEM_OPTIONS; j++) {
int16 option_index = sd->status.inventory[index].option[j].index;
struct item_option *ito = NULL;
-
+
if (option_index == 0 || (ito = itemdb->option_exists(option_index)) == NULL || ito->script == NULL)
continue;
-
+
status->current_equip_option_index = j;
script->run(ito->script, 0, sd->bl.id, 0);
-
+
if (calculating == 0) //Abort, script->run his function. [Skotlex]
return 1;
}
@@ -2713,9 +2713,7 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
sd->left_weapon.atkmods[1] = status->dbs->atkmods[1][sd->weapontype2];
sd->left_weapon.atkmods[2] = status->dbs->atkmods[2][sd->weapontype2];
- if ((pc_isridingpeco(sd) || pc_isridingdragon(sd))
- && (sd->status.weapon==W_1HSPEAR || sd->status.weapon==W_2HSPEAR)
- ) {
+ if ((pc_isridingpeco(sd) || pc_isridingdragon(sd)) && (sd->weapontype == W_1HSPEAR || sd->weapontype == W_2HSPEAR)) {
//When Riding with spear, damage modifier to mid-class becomes
//same as versus large size.
sd->right_weapon.atkmods[1] = sd->right_weapon.atkmods[2];
@@ -2779,8 +2777,8 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
// Base batk value is set on status->calc_misc
// weapon-type bonus (FIXME: Why is the weapon_atk bonus applied to base attack?)
- if (sd->status.weapon < MAX_SINGLE_WEAPON_TYPE && sd->weapon_atk[sd->status.weapon])
- bstatus->batk += sd->weapon_atk[sd->status.weapon];
+ if (sd->weapontype < MAX_SINGLE_WEAPON_TYPE && sd->weapon_atk[sd->weapontype])
+ bstatus->batk += sd->weapon_atk[sd->weapontype];
// Absolute modifiers from passive skills
#ifndef RENEWAL
if((skill_lv=pc->checkskill(sd,BS_HILTBINDING))>0) // it doesn't work in RE.
@@ -2928,10 +2926,10 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
#ifndef RENEWAL
bstatus->hit += skill_lv;
#endif
- if(sd->status.weapon == W_BOW)
+ if (sd->weapontype == W_BOW)
bstatus->rhw.range += skill_lv;
}
- if(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE) {
+ if (sd->weapontype >= W_REVOLVER && sd->weapontype <= W_GRENADE) {
if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0)
bstatus->hit += 2*skill_lv;
if((skill_lv=pc->checkskill(sd,GS_SNAKEEYE))>0) {
@@ -2939,9 +2937,9 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
bstatus->rhw.range += skill_lv;
}
}
- if( (sd->status.weapon == W_1HAXE || sd->status.weapon == W_2HAXE) && (skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0 )
+ if ((sd->weapontype == W_1HAXE || sd->weapontype == W_2HAXE) && (skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
bstatus->hit += 3*skill_lv;
- if((sd->status.weapon == W_MACE || sd->status.weapon == W_2HMACE) && (skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
+ if ((sd->weapontype == W_MACE || sd->weapontype == W_2HMACE) && (skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
bstatus->hit += 2*skill_lv;
if (pc->checkskill(sd, SU_POWEROFLIFE) > 0)
bstatus->hit += 20;
@@ -3001,12 +2999,11 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt)
// Relative modifiers from passive skills
#ifndef RENEWAL_ASPD
- if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK)
+ if (sd->weapontype == W_BOOK && (skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK)) > 0)
bstatus->aspd_rate -= 5*skill_lv;
if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd))
bstatus->aspd_rate -= 30*skill_lv;
- if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 &&
- (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE))
+ if (sd->weapontype >= W_REVOLVER && sd->weapontype <= W_GRENADE && (skill_lv=pc->checkskill(sd,GS_SINGLEACTION)) > 0)
bstatus->aspd_rate -= ((skill_lv+1)/2) * 10;
if (pc_isridingpeco(sd))
bstatus->aspd_rate += 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY);
@@ -3896,7 +3893,7 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag)
} else {
st->cri = status->calc_critical(bl, sc, bst->cri + 3*(st->luk - bst->luk), true);
}
- if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && BL_UCAST(BL_PC, bl)->status.weapon == W_KATAR) {
+ if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && BL_UCAST(BL_PC, bl)->weapontype == W_KATAR) {
st->cri *= 2;
}
}
@@ -4327,11 +4324,11 @@ int status_base_amotion_pc(struct map_session_data *sd, struct status_data *st)
nullpo_ret(st);
amotion = status->dbs->aspd_base[pc->class2idx(sd->status.class)][sd->weapontype1];
- if ( sd->status.weapon > MAX_SINGLE_WEAPON_TYPE)
+ if (sd->weapontype > MAX_SINGLE_WEAPON_TYPE)
amotion += status->dbs->aspd_base[pc->class2idx(sd->status.class)][sd->weapontype2] / 4;
- if ( sd->status.shield )
+ if (sd->has_shield)
amotion += status->dbs->aspd_base[pc->class2idx(sd->status.class)][MAX_SINGLE_WEAPON_TYPE];
- switch ( sd->status.weapon ) {
+ switch (sd->weapontype) {
case W_BOW:
case W_MUSICAL:
case W_WHIP:
@@ -4346,15 +4343,15 @@ int status_base_amotion_pc(struct map_session_data *sd, struct status_data *st)
temp = st->dex * st->dex / 5.0f + st->agi * st->agi * 0.5f;
}
temp = (float)(sqrt(temp) * 0.25f) + 0xc4;
- if ( (skill_lv = pc->checkskill(sd, SA_ADVANCEDBOOK)) > 0 && sd->status.weapon == W_BOOK )
+ if (sd->weapontype == W_BOOK && (skill_lv = pc->checkskill(sd, SA_ADVANCEDBOOK)) > 0)
val += (skill_lv - 1) / 2 + 1;
if ( (skill_lv = pc->checkskill(sd, GS_SINGLEACTION)) > 0 )
val += ((skill_lv + 1) / 2);
amotion = ((int)(temp + ((float)(status->calc_aspd(&sd->bl, &sd->sc, 1) + val) * st->agi / 200)) - min(amotion, 200));
#else
// base weapon delay
- amotion = (sd->status.weapon < MAX_SINGLE_WEAPON_TYPE)
- ? (status->dbs->aspd_base[pc->class2idx(sd->status.class)][sd->status.weapon]) // single weapon
+ amotion = (sd->weapontype < MAX_SINGLE_WEAPON_TYPE)
+ ? (status->dbs->aspd_base[pc->class2idx(sd->status.class)][sd->weapontype]) // single weapon
: (status->dbs->aspd_base[pc->class2idx(sd->status.class)][sd->weapontype1] + status->dbs->aspd_base[pc->class2idx(sd->status.class)][sd->weapontype2]) * 7 / 10; // dual-wield
// percentual delay reduction from stats
@@ -4381,7 +4378,7 @@ unsigned short status_base_atk(const struct block_list *bl, const struct status_
return 0;
if (bl->type == BL_PC) {
- switch (BL_UCCAST(BL_PC, bl)->status.weapon) {
+ switch (BL_UCCAST(BL_PC, bl)->weapontype) {
case W_BOW:
case W_MUSICAL:
case W_WHIP:
@@ -5942,7 +5939,7 @@ short status_calc_aspd(struct block_list *bl, struct status_change *sc, short fl
if (bl->type != BL_PC) {
bonus = sc->data[SC_ASSNCROS]->val2;
} else {
- switch (BL_UCCAST(BL_PC, bl)->status.weapon) {
+ switch (BL_UCCAST(BL_PC, bl)->weapontype) {
case W_BOW:
case W_REVOLVER:
case W_RIFLE:
@@ -6103,7 +6100,7 @@ short status_calc_aspd_rate(struct block_list *bl, struct status_change *sc, int
if (bl->type != BL_PC) {
max = sc->data[SC_ASSNCROS]->val2;
} else {
- switch (BL_UCCAST(BL_PC, bl)->status.weapon) {
+ switch (BL_UCCAST(BL_PC, bl)->weapontype) {
case W_BOW:
case W_REVOLVER:
case W_RIFLE:
@@ -6867,13 +6864,13 @@ void status_set_viewdata(struct block_list *bl, int class_)
}
sd->vd.class = class_;
clif->get_weapon_view(sd, &sd->vd.weapon, &sd->vd.shield);
- sd->vd.head_top = sd->status.head_top;
- sd->vd.head_mid = sd->status.head_mid;
- sd->vd.head_bottom = sd->status.head_bottom;
+ sd->vd.head_top = sd->status.look.head_top;
+ sd->vd.head_mid = sd->status.look.head_mid;
+ sd->vd.head_bottom = sd->status.look.head_bottom;
sd->vd.hair_style = cap_value(sd->status.hair,0,battle_config.max_hair_style);
sd->vd.hair_color = cap_value(sd->status.hair_color,0,battle_config.max_hair_color);
sd->vd.cloth_color = cap_value(sd->status.clothes_color,0,battle_config.max_cloth_color);
- sd->vd.robe = sd->status.robe;
+ sd->vd.robe = sd->status.look.robe;
sd->vd.body_style = sd->status.body;
sd->vd.sex = sd->status.sex;
@@ -10747,7 +10744,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
}
if (begin_spurt && sce->val1 >= 7
&& DIFF_TICK(timer->gettick(), starttick) <= 1000
- && (!sd || (sd->weapontype1 == 0 && sd->weapontype2 == 0))
+ && (!sd || (sd->weapontype1 == W_FIST && sd->weapontype2 == W_FIST))
)
sc_start(bl, bl,SC_STRUP,100,sce->val1,skill->get_time2(status->sc2skill(type), sce->val1));
}
@@ -13332,7 +13329,7 @@ int status_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *n
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));
diff --git a/src/map/storage.c b/src/map/storage.c
index 01e7c7c27..716abd623 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -201,7 +201,7 @@ int storage_additem(struct map_session_data* sd, struct item* item_data, int amo
clif->storageitemadded(sd, it, i, amount);
sd->storage.save = true; // set a save flag.
-
+
return 0;
}
}
@@ -249,7 +249,7 @@ int storage_delitem(struct map_session_data* sd, int n, int amount)
Assert_retr(1, n >= 0 && n < VECTOR_LENGTH(sd->storage.item));
it = &VECTOR_INDEX(sd->storage.item, n);
-
+
Assert_retr(1, amount <= it->amount);
Assert_retr(1, it->nameid > 0);
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 3ec573b6f..cbd11e1b8 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -3510,6 +3510,8 @@ typedef bool (*HPMHOOK_pre_itemdb_is_item_usable) (struct item_data **item);
typedef bool (*HPMHOOK_post_itemdb_is_item_usable) (bool retVal___, struct item_data *item);
typedef bool (*HPMHOOK_pre_itemdb_lookup_const) (const struct config_setting_t **it, const char **name, int **value);
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);
#endif // MAP_ITEMDB_H
#ifdef LOGIN_LCLIF_H /* lclif */
typedef void (*HPMHOOK_pre_lclif_init) (void);
@@ -5500,10 +5502,10 @@ typedef int (*HPMHOOK_pre_pc_changelook) (struct map_session_data **sd, int *typ
typedef int (*HPMHOOK_post_pc_changelook) (int retVal___, struct map_session_data *sd, int type, int val);
typedef int (*HPMHOOK_pre_pc_equiplookall) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_equiplookall) (int retVal___, struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_pc_readparam) (const struct map_session_data **sd, int *type);
-typedef int (*HPMHOOK_post_pc_readparam) (int retVal___, const struct map_session_data *sd, int type);
-typedef int (*HPMHOOK_pre_pc_setparam) (struct map_session_data **sd, int *type, int *val);
-typedef int (*HPMHOOK_post_pc_setparam) (int retVal___, struct map_session_data *sd, int type, int val);
+typedef int64 (*HPMHOOK_pre_pc_readparam) (const struct map_session_data **sd, int *type);
+typedef int64 (*HPMHOOK_post_pc_readparam) (int64 retVal___, const struct map_session_data *sd, int type);
+typedef int (*HPMHOOK_pre_pc_setparam) (struct map_session_data **sd, int *type, int64 *val);
+typedef int (*HPMHOOK_post_pc_setparam) (int retVal___, struct map_session_data *sd, int type, int64 val);
typedef int (*HPMHOOK_pre_pc_readreg) (struct map_session_data **sd, int64 *reg);
typedef int (*HPMHOOK_post_pc_readreg) (int retVal___, struct map_session_data *sd, int64 reg);
typedef void (*HPMHOOK_pre_pc_setreg) (struct map_session_data **sd, int64 *reg, int *val);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index b7b161b6b..e2494067c 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -2874,6 +2874,8 @@ struct {
struct HPMHookPoint *HP_itemdb_is_item_usable_post;
struct HPMHookPoint *HP_itemdb_lookup_const_pre;
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_libconfig_read_pre;
struct HPMHookPoint *HP_libconfig_read_post;
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -9069,6 +9071,8 @@ struct {
int HP_itemdb_is_item_usable_post;
int HP_itemdb_lookup_const_pre;
int HP_itemdb_lookup_const_post;
+ int HP_itemdb_lookup_const_mask_pre;
+ int HP_itemdb_lookup_const_mask_post;
int HP_libconfig_read_pre;
int HP_libconfig_read_post;
int HP_libconfig_write_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 37a3efb19..b094fa841 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -1474,6 +1474,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(itemdb->id2combo, HP_itemdb_id2combo) },
{ 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) },
/* libconfig_interface */
{ HP_POP(libconfig->read, HP_libconfig_read) },
{ HP_POP(libconfig->write, HP_libconfig_write) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index d16268841..786536aea 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -37811,6 +37811,33 @@ bool HP_itemdb_lookup_const(const struct config_setting_t *it, const char *name,
}
return retVal___;
}
+bool HP_itemdb_lookup_const_mask(const struct config_setting_t *it, const char *name, int *value) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_itemdb_lookup_const_mask_pre > 0) {
+ bool (*preHookFunc) (const struct config_setting_t **it, const char **name, int **value);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_lookup_const_mask_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_itemdb_lookup_const_mask_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &name, &value);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.itemdb.lookup_const_mask(it, name, value);
+ }
+ if (HPMHooks.count.HP_itemdb_lookup_const_mask_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_lookup_const_mask_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_itemdb_lookup_const_mask_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, name, value);
+ }
+ }
+ return retVal___;
+}
/* libconfig_interface */
int HP_libconfig_read(struct config_t *config, FILE *stream) {
int hIndex = 0;
@@ -57027,11 +57054,11 @@ int HP_pc_equiplookall(struct map_session_data *sd) {
}
return retVal___;
}
-int HP_pc_readparam(const struct map_session_data *sd, int type) {
+int64 HP_pc_readparam(const struct map_session_data *sd, int type) {
int hIndex = 0;
- int retVal___ = 0;
+ int64 retVal___ = 0;
if (HPMHooks.count.HP_pc_readparam_pre > 0) {
- int (*preHookFunc) (const struct map_session_data **sd, int *type);
+ int64 (*preHookFunc) (const struct map_session_data **sd, int *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_readparam_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_readparam_pre[hIndex].func;
@@ -57046,7 +57073,7 @@ int HP_pc_readparam(const struct map_session_data *sd, int type) {
retVal___ = HPMHooks.source.pc.readparam(sd, type);
}
if (HPMHooks.count.HP_pc_readparam_post > 0) {
- int (*postHookFunc) (int retVal___, const struct map_session_data *sd, int type);
+ int64 (*postHookFunc) (int64 retVal___, const struct map_session_data *sd, int type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_readparam_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_readparam_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, type);
@@ -57054,11 +57081,11 @@ int HP_pc_readparam(const struct map_session_data *sd, int type) {
}
return retVal___;
}
-int HP_pc_setparam(struct map_session_data *sd, int type, int val) {
+int HP_pc_setparam(struct map_session_data *sd, int type, int64 val) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_setparam_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, int *type, int *val);
+ int (*preHookFunc) (struct map_session_data **sd, int *type, int64 *val);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setparam_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_setparam_pre[hIndex].func;
@@ -57073,7 +57100,7 @@ int HP_pc_setparam(struct map_session_data *sd, int type, int val) {
retVal___ = HPMHooks.source.pc.setparam(sd, type, val);
}
if (HPMHooks.count.HP_pc_setparam_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, int type, int val);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, int type, int64 val);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setparam_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_setparam_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, type, val);
diff --git a/src/plugins/db2sql.c b/src/plugins/db2sql.c
index 33a62757a..38e5ead5d 100644
--- a/src/plugins/db2sql.c
+++ b/src/plugins/db2sql.c
@@ -255,6 +255,9 @@ int itemdb2sql_sub(struct config_setting_t *entry, int n, const char *source)
// type
StrBuf->Printf(&buf, "'%d',", it->flag.delay_consume ? IT_DELAYCONSUME : it->type);
+ // subtype
+ StrBuf->Printf(&buf, "'%d',", it->subtype);
+
// price_buy
StrBuf->Printf(&buf, "'%d',", it->value_buy);
@@ -294,10 +297,11 @@ int itemdb2sql_sub(struct config_setting_t *entry, int n, const char *source)
StrBuf->Printf(&buf, "'%"PRIu64"',", ui64);
// equip_upper
- if (libconfig->setting_lookup_int(entry, "Upper", &i32) && i32 >= 0)
+ if (itemdb->lookup_const_mask(entry, "Upper", &i32) && i32 >= 0)
ui32 = (uint32)i32;
else
ui32 = ITEMUPPER_ALL;
+
StrBuf->Printf(&buf, "'%u',", ui32);
// equip_genders
@@ -320,12 +324,12 @@ int itemdb2sql_sub(struct config_setting_t *entry, int n, const char *source)
// refineable
StrBuf->Printf(&buf, "'%d',", it->flag.no_refine?0:1);
-
+
// disable_options
StrBuf->Printf(&buf, "'%d',", it->flag.no_options?1:0);
- // view
- StrBuf->Printf(&buf, "'%d',", it->look);
+ // view_sprite
+ StrBuf->Printf(&buf, "'%d',", it->view_sprite);
// bindonequip
StrBuf->Printf(&buf, "'%d',", it->flag.bindonequip?1:0);
@@ -449,6 +453,7 @@ void itemdb2sql_tableheader(void)
" `name_english` varchar(50) NOT NULL DEFAULT '',\n"
" `name_japanese` varchar(50) NOT NULL DEFAULT '',\n"
" `type` tinyint(2) UNSIGNED NOT NULL DEFAULT '0',\n"
+ " `subtype` tinyint(2) UNSIGNED DEFAULT NULL,\n"
" `price_buy` mediumint(10) DEFAULT NULL,\n"
" `price_sell` mediumint(10) DEFAULT NULL,\n"
" `weight` smallint(5) UNSIGNED DEFAULT NULL,\n"
@@ -466,7 +471,7 @@ void itemdb2sql_tableheader(void)
" `equip_level_max` smallint(5) UNSIGNED DEFAULT NULL,\n"
" `refineable` tinyint(1) UNSIGNED DEFAULT NULL,\n"
" `disable_options` tinyint(1) UNSIGNED DEFAULT NULL,\n"
- " `view` smallint(3) UNSIGNED DEFAULT NULL,\n"
+ " `view_sprite` smallint(3) UNSIGNED DEFAULT NULL,\n"
" `bindonequip` tinyint(1) UNSIGNED DEFAULT NULL,\n"
" `forceserial` tinyint(1) UNSIGNED DEFAULT NULL,\n"
" `buyingstore` tinyint(1) UNSIGNED DEFAULT NULL,\n"