diff options
Diffstat (limited to 'src')
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" |