Merge branch 'master' into refactor/StatusChangeDisplay
This commit is contained in:
commit
a73da61129
@ -18,6 +18,10 @@
|
||||
// config to adjust how this will affect players)
|
||||
pk_mode: 0
|
||||
|
||||
// Displays a message when the player enters a pk zone.
|
||||
// Only during pk_mode (Note 1)
|
||||
pk_mode_mes: yes
|
||||
|
||||
// Manner/karma system configuration. Specifies how does negative manner
|
||||
// (red no chat bubble) affects players (add as needed):
|
||||
// 0: No penalties.
|
||||
|
||||
@ -423,7 +423,7 @@
|
||||
404: War of Emperium SE is currently in progress.
|
||||
405: War of Emperium SE has been ended.
|
||||
406: War of Emperium SE is currently not in progress.
|
||||
//407 free
|
||||
//407: free
|
||||
//chrif related
|
||||
408: Need disconnection to perform change-sex request...
|
||||
409: Your sex has been changed (need disconnection by the server)...
|
||||
@ -1662,5 +1662,9 @@
|
||||
1501: Spying on the %s clan.
|
||||
1502: Incorrect clan name/ID.
|
||||
|
||||
// PK Mode msgs
|
||||
1503: You've entered a PK Zone.
|
||||
1504: You've entered a PK Zone (safe until level %d).
|
||||
|
||||
//Custom translations
|
||||
//import: conf/msg_conf/import/map_msg_eng_conf.txt
|
||||
|
||||
@ -2110,7 +2110,7 @@
|
||||
2904,Naqsh,Naqsi,4,0,,0,,0,,0,0xFFFFFFFF,63,2,136,,0,0,0,{ skill "BS_MAXIMIZE",5; skill "BS_WEAPONPERFECT",5; skill "WL_RECOGNIZEDSPELL",5; skill "ECL_SNOWFLIP",1; skill "ECL_PEONYMAMY",1; skill "ECL_SADAGUI",1; skill "ECL_SEQUOIADUST",1; bonus2 bSkillCooldown,"WL_RECOGNIZEDSPELL",-180000; bonus bDelayRate,-100; },{},{}
|
||||
2905,Super_Ora_Ora,Super Ora Ora,4,0,,1000,,0,,0,0xFFFFFFFF,63,2,136,,0,0,0,{},{},{}
|
||||
2906,Happy_Gauntlet,Happy Gauntlet,4,20,,1000,,3,,1,0xFFFFFFFF,63,2,136,,70,0,0,{ bonus bMdef,3; },{},{}
|
||||
2907,Buwaya_Tattoo,Bawaya Agimat Tattoo,4,20,,100,,0,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ bonus bMatkRate,7; bonus bVariableCastrate,-7; },{},{}
|
||||
2907,Buwaya_Tattoo,Bawaya Agimat Tattoo,4,20,,100,,0,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ bonus bMatkRate,7; bonus bFixedCastrate,-7; },{},{}
|
||||
2908,Light_Ring,Light Ring,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,0,0,0,{},{},{}
|
||||
2909,Darkness_Ring,Darkness Ring,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,0,0,0,{},{},{}
|
||||
2910,Bakonawa_Tattoo,Bakunawa Agimat Tattoo,4,20,,100,,0,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ bonus2 bAddClass,Class_All,7; bonus bAspdRate,10; },{},{}
|
||||
|
||||
@ -2760,6 +2760,9 @@ Valid information types are:
|
||||
REFINE_ZENY_COST - Zeny
|
||||
REFINE_MATERIAL_ID - Material Item ID
|
||||
|
||||
This function will return -1 on failure. The function fails if the cost type
|
||||
is invalid or if there is no item in the equipment slot.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*getareadropitem("<map name>",<x1>,<y1>,<x2>,<y2>,<item>)
|
||||
@ -3868,10 +3871,13 @@ by default green
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*showscript "<message>"{,<GID>};
|
||||
*showscript "<message>"{,<GID>, <flag>};
|
||||
|
||||
Makes attached player or GID says a message like shouting a skill name, the message
|
||||
will be seen to everyone around but not in chat window.
|
||||
flag: Specify target
|
||||
AREA - Message is sent to players in the vicinity of the source (default).
|
||||
SELF - Message is sent only to player attached.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@ -6534,6 +6540,8 @@ The options are:
|
||||
1 = The buy window
|
||||
2 = The sell window
|
||||
|
||||
Note: The <option> parameter only works on the 'shop' type NPC.
|
||||
|
||||
A shop called with this command will trigger the labels "OnBuyItem" and "OnSellItem"
|
||||
(as long as an npcshop* command is executed from that NPC, see note below). These
|
||||
labels, if used, will replace how the shop handles the buying and selling of items,
|
||||
|
||||
@ -15,12 +15,12 @@
|
||||
mes "Do you want to refine a shadow item? Pick yer poison!";
|
||||
next;
|
||||
setarray .@indices[1], EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON, EQI_SHADOW_SHIELD, EQI_SHADOW_SHOES, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L;
|
||||
for(.@i = 1; .@i <= EQI_SHADOW_ACC_L; .@i++)
|
||||
.@indlen = getarraysize(.@indices) - 1;
|
||||
for(.@i = 1; .@i <= .@indlen; .@i++)
|
||||
.@menu$ = .@menu$ + (getequipisequiped(.@indices[.@i]) ? getequipname(.@indices[.@i]) : F_getpositionname(.@indices[.@i]) +"-[Not equipped]") +":";
|
||||
.@menu$ = .@menu$ + "Refine info";
|
||||
.@part = .@indices[select(.@menu$)];
|
||||
|
||||
if (.@part == EQI_SHADOW_ACC_L + 1) { // Refine info
|
||||
.@choice = select(.@menu$);
|
||||
if (.@choice == .@indlen + 1) { // Refine info
|
||||
mes "[Shadow Blacksmith]";
|
||||
mes "When a shadow item is refined, it gains extra bonuses very much like normal items.";
|
||||
next;
|
||||
@ -35,6 +35,15 @@
|
||||
mes "HD ores can be used for gear that is at least refine level +7 and will prevent breaking as long as you stay talking to me.";
|
||||
close;
|
||||
}
|
||||
|
||||
.@part = .@indices[.@choice];
|
||||
|
||||
if (!getequipisequiped(.@part)) {
|
||||
mes "[Shadow Blacksmith]";
|
||||
mes "There's nothing here!";
|
||||
close;
|
||||
}
|
||||
|
||||
while(1) {
|
||||
mes "[Shadow Blacksmith]";
|
||||
mes "I require " + callfunc("F_InsertComma", .@zeny_cost) + " zeny as a fee for EACH refine attempt.";
|
||||
@ -84,7 +93,7 @@
|
||||
.@choose = .@material[.@option-1];
|
||||
if (!countitem(.@choose)) {
|
||||
mes "[Shadow Blacksmith]";
|
||||
mes "You do not have enough "+ getitemname(.@choose) +" / "+ getitemname(.@choose) +".";
|
||||
mes "You do not have enough "+ getitemname(.@choose) +".";
|
||||
close;
|
||||
}
|
||||
if (Zeny < .@zeny_cost) {
|
||||
@ -140,4 +149,4 @@
|
||||
}
|
||||
|
||||
//moc_paraup,45,185,5 duplicate(ShadowBlacksmith) Shadow Blacksmith#eden1 4_F_JOB_BLACKSMITH // Commented out until it's added to the map index
|
||||
prt_in,59,54,3 duplicate(ShadowBlacksmith) Shadow Blacksmith#itemmall 4_F_JOB_BLACKSMITH
|
||||
prt_in,61,54,3 duplicate(ShadowBlacksmith) Shadow Blacksmith#itemmall 4_F_JOB_BLACKSMITH
|
||||
|
||||
@ -2142,7 +2142,7 @@ REPLACE INTO `item_db_re` VALUES (2903,'Morpheus\'s_Armlet_','Morpheus\'s Armlet
|
||||
REPLACE INTO `item_db_re` VALUES (2904,'Naqsh','Naqsi',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'0',0,0,'skill "BS_MAXIMIZE",5; skill "BS_WEAPONPERFECT",5; skill "WL_RECOGNIZEDSPELL",5; skill "ECL_SNOWFLIP",1; skill "ECL_PEONYMAMY",1; skill "ECL_SADAGUI",1; skill "ECL_SEQUOIADUST",1; bonus2 bSkillCooldown,"WL_RECOGNIZEDSPELL",-180000; bonus bDelayRate,-100;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2905,'Super_Ora_Ora','Super Ora Ora',4,0,NULL,1000,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'0',0,0,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2906,'Happy_Gauntlet','Happy Gauntlet',4,20,NULL,1000,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,'70',0,0,'bonus bMdef,3;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2907,'Buwaya_Tattoo','Bawaya Agimat Tattoo',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,0,'bonus bMatkRate,7; bonus bVariableCastrate,-7;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2907,'Buwaya_Tattoo','Bawaya Agimat Tattoo',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,0,'bonus bMatkRate,7; bonus bFixedCastrate,-7;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2908,'Light_Ring','Light Ring',4,20,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'0',0,0,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2909,'Darkness_Ring','Darkness Ring',4,20,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'0',0,0,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (2910,'Bakonawa_Tattoo','Bakunawa Agimat Tattoo',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,0,'bonus2 bAddClass,Class_All,7; bonus bAspdRate,10;',NULL,NULL);
|
||||
|
||||
@ -1763,9 +1763,21 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
|
||||
|
||||
buf = WBUFP(buffer,0);
|
||||
WBUFL(buf,0) = p->char_id;
|
||||
#if PACKETVER >= 20170830
|
||||
WBUFQ(buf,4) = u64min((uint64)p->base_exp, INT64_MAX);
|
||||
offset += 4;
|
||||
buf = WBUFP(buffer, offset);
|
||||
#else
|
||||
WBUFL(buf,4) = umin(p->base_exp, INT32_MAX);
|
||||
#endif
|
||||
WBUFL(buf,8) = p->zeny;
|
||||
#if PACKETVER >= 20170830
|
||||
WBUFQ(buf,12) = u64min((uint64)p->job_exp, INT64_MAX);
|
||||
offset += 4;
|
||||
buf = WBUFP(buffer, offset);
|
||||
#else
|
||||
WBUFL(buf,12) = umin(p->job_exp, INT32_MAX);
|
||||
#endif
|
||||
WBUFL(buf,16) = p->job_level;
|
||||
WBUFL(buf,20) = 0; // probably opt1
|
||||
WBUFL(buf,24) = 0; // probably opt2
|
||||
|
||||
@ -8182,6 +8182,7 @@ static const struct _battle_data {
|
||||
{ "equip_self_break_rate", &battle_config.equip_self_break_rate, 100, 0, INT_MAX, },
|
||||
{ "equip_skill_break_rate", &battle_config.equip_skill_break_rate, 100, 0, INT_MAX, },
|
||||
{ "pk_mode", &battle_config.pk_mode, 0, 0, 2, },
|
||||
{ "pk_mode_mes", &battle_config.pk_mode_mes, 1, 0, 1, },
|
||||
{ "pk_level_range", &battle_config.pk_level_range, 0, 0, INT_MAX, },
|
||||
{ "manner_system", &battle_config.manner_system, 0xFFF, 0, 0xFFF, },
|
||||
{ "pet_equip_required", &battle_config.pet_equip_required, 0, 0, 1, },
|
||||
|
||||
@ -349,6 +349,7 @@ extern struct Battle_Config
|
||||
int multi_level_up;
|
||||
int max_exp_gain_rate; //Max amount of exp bar % you can get in one go.
|
||||
int pk_mode;
|
||||
int pk_mode_mes;
|
||||
int pk_level_range;
|
||||
|
||||
int manner_system; // end additions [Valaris]
|
||||
|
||||
@ -3141,6 +3141,7 @@ static int clif_hpmeter(struct map_session_data *sd)
|
||||
/// 0121 <current count>.W <max count>.W <current weight>.L <max weight>.L (ZC_NOTIFY_CARTITEM_COUNTINFO)
|
||||
/// 013a <atk range>.W (ZC_ATTACK_RANGE)
|
||||
/// 0141 <status id>.L <base status>.L <plus status>.L (ZC_COUPLESTATUS)
|
||||
/// 0acb <var id>.W <value>.Q (ZC_LONGPAR_CHANGE2)
|
||||
/// TODO: Extract individual packets.
|
||||
/// FIXME: Packet lengths from packet_len(cmd)
|
||||
void clif_updatestatus(struct map_session_data *sd,int type)
|
||||
@ -3257,6 +3258,28 @@ void clif_updatestatus(struct map_session_data *sd,int type)
|
||||
WFIFOW(fd,0)=0xb1;
|
||||
WFIFOL(fd,4)=sd->status.zeny;
|
||||
break;
|
||||
#if PACKETVER >= 20170830
|
||||
case SP_BASEEXP:
|
||||
WFIFOW(fd,0)=0xacb;
|
||||
WFIFOQ(fd,4)=sd->status.base_exp;
|
||||
len = packet_len(0xacb);
|
||||
break;
|
||||
case SP_JOBEXP:
|
||||
WFIFOW(fd,0)=0xacb;
|
||||
WFIFOQ(fd,4)=sd->status.job_exp;
|
||||
len = packet_len(0xacb);
|
||||
break;
|
||||
case SP_NEXTBASEEXP:
|
||||
WFIFOW(fd,0)=0xacb;
|
||||
WFIFOQ(fd,4)=pc_nextbaseexp(sd);
|
||||
len = packet_len(0xacb);
|
||||
break;
|
||||
case SP_NEXTJOBEXP:
|
||||
WFIFOW(fd,0)=0xacb;
|
||||
WFIFOQ(fd,4)=pc_nextjobexp(sd);
|
||||
len = packet_len(0xacb);
|
||||
break;
|
||||
#else
|
||||
case SP_BASEEXP:
|
||||
WFIFOW(fd,0)=0xb1;
|
||||
WFIFOL(fd,4)=sd->status.base_exp;
|
||||
@ -3273,6 +3296,7 @@ void clif_updatestatus(struct map_session_data *sd,int type)
|
||||
WFIFOW(fd,0)=0xb1;
|
||||
WFIFOL(fd,4)=pc_nextjobexp(sd);
|
||||
break;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* SP_U<STAT> are used to update the amount of points necessary to increase that stat
|
||||
@ -10010,6 +10034,28 @@ static bool clif_process_message(struct map_session_data* sd, bool whisperFormat
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a message if the player enters a PK Zone (during pk_mode)
|
||||
* @param sd: Player data
|
||||
*/
|
||||
inline void clif_pk_mode_message(struct map_session_data * sd)
|
||||
{
|
||||
if (battle_config.pk_mode && battle_config.pk_mode_mes &&
|
||||
sd && map[sd->bl.m].flag.pvp) {
|
||||
if( (int)sd->status.base_level < battle_config.pk_min_level ) {
|
||||
char output[CHAT_SIZE_MAX];
|
||||
// 1504: You've entered a PK Zone (safe until level %d).
|
||||
safesnprintf(output, CHAT_SIZE_MAX, msg_txt(sd,1504),
|
||||
battle_config.pk_min_level);
|
||||
clif_showscript(&sd->bl, output, SELF);
|
||||
} else {
|
||||
// 1503: You've entered a PK Zone.
|
||||
clif_showscript(&sd->bl, msg_txt(sd,1503), SELF);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// ---------------------
|
||||
// clif_parse_wanttoconnect
|
||||
// ---------------------
|
||||
@ -10445,6 +10491,8 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
|
||||
// Instances do not need their own channels
|
||||
if( channel_config.map_tmpl.name != NULL && (channel_config.map_tmpl.opt&CHAN_OPT_AUTOJOIN) && !map[sd->bl.m].flag.chmautojoin && !map[sd->bl.m].instance_id )
|
||||
channel_mjoin(sd); //join new map
|
||||
|
||||
clif_pk_mode_message(sd);
|
||||
} else if (sd->guild && (battle_config.guild_notice_changemap == 2 || guild_notice))
|
||||
clif_guild_notice(sd); // Displays at end
|
||||
|
||||
@ -17238,8 +17286,9 @@ void clif_party_show_picker(struct map_session_data * sd, struct item * item_dat
|
||||
}
|
||||
|
||||
|
||||
/** Display gained exp (ZC_NOTIFY_EXP).
|
||||
* 07f6 <account id>.L <amount>.L <var id>.W <exp type>.W
|
||||
/** Display gained exp.
|
||||
* 07f6 <account id>.L <amount>.L <var id>.W <exp type>.W (ZC_NOTIFY_EXP)
|
||||
* 0acc <account id>.L <amount>.Q <var id>.W <exp type>.W (ZC_NOTIFY_EXP2)
|
||||
* amount: INT32_MIN ~ INT32_MAX
|
||||
* var id:
|
||||
* SP_BASEEXP, SP_JOBEXP
|
||||
@ -17255,18 +17304,30 @@ void clif_party_show_picker(struct map_session_data * sd, struct item * item_dat
|
||||
void clif_displayexp(struct map_session_data *sd, unsigned int exp, char type, bool quest, bool lost)
|
||||
{
|
||||
int fd;
|
||||
int offset;
|
||||
#if PACKETVER >= 20170830
|
||||
int cmd = 0xacc;
|
||||
#else
|
||||
int cmd = 0x7f6;
|
||||
#endif
|
||||
|
||||
nullpo_retv(sd);
|
||||
|
||||
fd = sd->fd;
|
||||
|
||||
WFIFOHEAD(fd, packet_len(0x7f6));
|
||||
WFIFOW(fd,0) = 0x7f6;
|
||||
WFIFOHEAD(fd, packet_len(cmd));
|
||||
WFIFOW(fd,0) = cmd;
|
||||
WFIFOL(fd,2) = sd->bl.id;
|
||||
#if PACKETVER >= 20170830
|
||||
WFIFOQ(fd,6) = (int64)u64min((uint64)exp, INT_MAX) * (lost ? -1 : 1);
|
||||
offset = 4;
|
||||
#else
|
||||
WFIFOL(fd,6) = (int)umin(exp, INT_MAX) * (lost ? -1 : 1);
|
||||
WFIFOW(fd,10) = type;
|
||||
WFIFOW(fd,12) = (quest && type != SP_JOBEXP) ? 1 : 0; // NOTE: Somehow JobEXP always in yellow color
|
||||
WFIFOSET(fd,packet_len(0x7f6));
|
||||
offset = 0;
|
||||
#endif
|
||||
WFIFOW(fd,10+offset) = type;
|
||||
WFIFOW(fd,12+offset) = (quest && type != SP_JOBEXP) ? 1 : 0; // NOTE: Somehow JobEXP always in yellow color
|
||||
WFIFOSET(fd,packet_len(cmd));
|
||||
}
|
||||
|
||||
|
||||
@ -18738,7 +18799,7 @@ void clif_notify_bindOnEquip(struct map_session_data *sd, int n) {
|
||||
* [Ind/Hercules]
|
||||
* 08b3 <Length>.W <id>.L <message>.?B (ZC_SHOWSCRIPT)
|
||||
**/
|
||||
void clif_showscript(struct block_list* bl, const char* message) {
|
||||
void clif_showscript(struct block_list* bl, const char* message, enum send_target flag) {
|
||||
char buf[256];
|
||||
size_t len;
|
||||
nullpo_retv(bl);
|
||||
@ -18757,7 +18818,7 @@ void clif_showscript(struct block_list* bl, const char* message) {
|
||||
WBUFW(buf,2) = (uint16)(len+8);
|
||||
WBUFL(buf,4) = bl->id;
|
||||
safestrncpy(WBUFCP(buf,8), message, len);
|
||||
clif_send((unsigned char *) buf, WBUFW(buf,2), bl, AREA);
|
||||
clif_send((unsigned char *) buf, WBUFW(buf,2), bl, flag);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -1038,7 +1038,7 @@ void clif_update_rankingpoint(struct map_session_data *sd, int rankingtype, int
|
||||
|
||||
void clif_crimson_marker(struct map_session_data *sd, struct block_list *bl, bool remove);
|
||||
|
||||
void clif_showscript(struct block_list* bl, const char* message);
|
||||
void clif_showscript(struct block_list* bl, const char* message, enum send_target flag);
|
||||
void clif_party_leaderchanged(struct map_session_data *sd, int prev_leader_aid, int new_leader_aid);
|
||||
|
||||
void clif_account_name(int fd, uint32 account_id, const char* accname);
|
||||
|
||||
@ -181,17 +181,25 @@
|
||||
packet_keys(0x3C6447A8,0x032170D7,0x6490476C);
|
||||
#elif PACKETVER == 20151014 // 2015-10-14bRagexeRE
|
||||
packet_keys(0x402728A8,0x5D0E309F,0x240018FD);
|
||||
#elif PACKETVER == 20151022 // 2015-10-22aRagexeRE
|
||||
packet_keys(0x0311104D,0x46C326D6,0x00E82720);
|
||||
#elif PACKETVER == 20151028 // 2015-10-28cRagexeRE
|
||||
packet_keys(0x45B945B9,0x45B945B9,0x45B945B9);
|
||||
#elif PACKETVER == 20151029 // 2015-10-29aRagexe
|
||||
packet_keys(0x45B945B9,0x45B945B9,0x45B945B9);
|
||||
#elif PACKETVER == 20151104 // 2015-11-04aRagexe
|
||||
packet_keys(0x4C17382A,0x7ED174C9,0x29961E4F);
|
||||
#elif PACKETVER == 20151111 // 2015-11-11aRagexeRE
|
||||
packet_keys(0x46097C77,0x5F193871,0x29140A21);
|
||||
#elif PACKETVER == 20151118 // 2015-11-18aRagexeRE
|
||||
packet_keys(0x734C3241,0x6E846F34,0x731C06D6);
|
||||
#elif PACKETVER == 20151125 // 2015-11-25dRagexeRE
|
||||
packet_keys(0x237446C0,0x5EFB343A,0x0EDF06C5);
|
||||
#elif PACKETVER == 20151202 // 2015-12-02bRagexeRE
|
||||
packet_keys(0x4EDE52DE,0x52DE52DE,0x52DE52DE);
|
||||
#elif PACKETVER == 20151216 // 2015-12-16aRagexe
|
||||
#elif PACKETVER == 20151209 // 2015-12-09aRagexeRE
|
||||
packet_keys(0x652C5898,0x7A351FB3,0x67EA2886);
|
||||
#elif PACKETVER == 20151216 // 2015-12-16aRagexeRE
|
||||
packet_keys(0x25DD643D,0x61AC39DE,0x77A8206D);
|
||||
#elif PACKETVER == 20151223 // 2015-12-23bRagexeRE
|
||||
packet_keys(0x347D68D0,0x2C705320,0x7B4A199D);
|
||||
@ -245,7 +253,7 @@
|
||||
packet_keys(0x062C5C26,0x6CF47E82,0x4DD53480);
|
||||
#elif PACKETVER == 20160622 // 2016-06-22aRagexeRE
|
||||
packet_keys(0x426548AB,0x5C0F5DD4,0x03022710);
|
||||
#elif PACKETVER == 20160630 // 2016-06-30aRagexeRE
|
||||
#elif PACKETVER == 20160629 || PACKETVER == 20160630 // 2016-06-29aRagexeRE or 2016-06-30aRagexeRE
|
||||
packet_keys(0x0DF31CCC,0x54281606,0x5C4C6855);
|
||||
#elif PACKETVER == 20160706 // 2016-07-06cRagexeRE
|
||||
packet_keys(0x33A766D0,0x743F04F8,0x0FA0276C);
|
||||
@ -277,7 +285,7 @@
|
||||
packet_keys(0x34882F11,0x7C870E70,0x7E61350D);
|
||||
#elif PACKETVER == 20161026 // 2016-10-26bRagexeRE
|
||||
packet_keys(0x2CB86AE6,0x7D12660E,0x1B004DEB);
|
||||
#elif PACKETVER == 20161103 // 2016-11-03aRagexeRE
|
||||
#elif PACKETVER == 20161102 || PACKETVER == 20161103 // 2016-11-02aRagexeRE or 2016-11-03aRagexeRE
|
||||
packet_keys(0x76725C17,0x72FE4EC1,0x07A91BFD);
|
||||
#elif PACKETVER == 20161109 // 2016-11-09bRagexeRE
|
||||
packet_keys(0x0A5277C0,0x2DB17506,0x0E8F26DA);
|
||||
@ -345,6 +353,29 @@
|
||||
packet_keys(0x155F34EC,0x2D943FA9,0x3D9170EB);
|
||||
#elif PACKETVER == 20170628 // 2017-06-28bRagexeRE
|
||||
packet_keys(0x04691C86,0x43C210E2,0x2FE277E2);
|
||||
#elif PACKETVER == 20170705 // 2017-07-05aRagexeRE
|
||||
packet_keys(0x7EB000AE,0x02FB1DBC,0x5CB131E6);
|
||||
#elif PACKETVER == 20170712 // 2017-07-12bRagexeRE
|
||||
packet_keys(0x2C3C202C,0x3F2C2F2C,0x2F2C2F2C);
|
||||
#elif PACKETVER == 20170719 // 2017-07-19aRagexeRE
|
||||
packet_keys(0x46465C88,0x10116F66,0x200866F9);
|
||||
#elif PACKETVER == 20170726 // 2017-07-26cRagexeRE
|
||||
packet_keys(0x102F23DB,0x7E767751,0x3BC172EF);
|
||||
#elif PACKETVER == 20170801 // 2017-08-01aRagexeRE
|
||||
packet_keys(0x26B52A7F,0x5377619D,0x4F580AC4);
|
||||
//#elif PACKETVER == 20170809 // 2017-08-09cRagexeRE
|
||||
#elif PACKETVER == 20170816 // 2017-08-16dRagexeRE
|
||||
packet_keys(0x78914673,0x3F8B7634,0x55B814BC);
|
||||
#elif PACKETVER == 20170823 // 2017-08-23aRagexeRE
|
||||
packet_keys(0x22677205,0x393D1002,0x58DC6BB4);
|
||||
#elif PACKETVER == 20170830 // 2017-08-30bRagexeRE
|
||||
packet_keys(0x1D49592B,0x00970C17,0x1E640103);
|
||||
#elif PACKETVER == 20170906 // 2017-09-06cRagexeRE
|
||||
packet_keys(0x7DEF7677,0x351F36E6,0x52303485);
|
||||
#elif PACKETVER == 20170913 // 2017-09-13bRagexeRE
|
||||
packet_keys(0x7A645935,0x1DA05062,0x5A7A4C43);
|
||||
#elif PACKETVER == 20170920 // 2017-09-20bRagexeRE
|
||||
packet_keys(0x53024DA5,0x04EC212D,0x0BF87CD4);
|
||||
#elif PACKETVER > 20110817
|
||||
#error Unsupported packet version.
|
||||
#endif
|
||||
|
||||
@ -2346,4 +2346,10 @@
|
||||
packet(0x0ABD,10);
|
||||
#endif
|
||||
|
||||
// 2017-08-30bRagexeRE
|
||||
#if PACKETVER >= 20170830
|
||||
packet(0x0ACB,12);
|
||||
packet(0x0ACC,18);
|
||||
#endif
|
||||
|
||||
#endif /* _CLIF_PACKETDB_H_ */
|
||||
|
||||
@ -1058,6 +1058,37 @@
|
||||
parseable_packet(0x095e,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0961,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x0964,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
// 2015-10-22aRagexeRE
|
||||
#elif PACKETVER == 20151022
|
||||
parseable_packet(0x023B,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0281,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x02C4,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0361,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0362,6,clif_parse_DropItem,2,4);
|
||||
//parseable_packet(0x0363,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0364,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0365,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
|
||||
//parseable_packet(0x0436,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x07E4,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x07EC,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x086A,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x091D,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0940,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2015-10-28cRagexeRE
|
||||
#elif PACKETVER == 20151028
|
||||
parseable_packet(0x0202,5,clif_parse_ChangeDir,2,4);
|
||||
@ -1151,6 +1182,37 @@
|
||||
parseable_packet(0x093A,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x0940,36,clif_parse_StoragePassword,2,4,20);
|
||||
parseable_packet(0x0964,6,clif_parse_TakeItem,2);
|
||||
// 2015-11-11aRagexeRE
|
||||
#elif PACKETVER == 20151111
|
||||
parseable_packet(0x02C4,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0362,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
//parseable_packet(0x0802,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x085D,-1,clif_parse_ItemListWindowSelected,2,4,8,8,12);
|
||||
parseable_packet(0x0862,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x0871,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x0885,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x089C,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0942,18,clif_parse_PartyBookingRegisterReq,2,4,6);
|
||||
parseable_packet(0x094A,6,clif_parse_TakeItem,2);
|
||||
//parseable_packet(0x0958,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0966,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0967,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0969,36,clif_parse_StoragePassword,2,4,20);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2015-11-18aRagexeRE
|
||||
#elif PACKETVER == 20151118
|
||||
parseable_packet(0x022d,6,clif_parse_TickSend,2);
|
||||
@ -1182,6 +1244,37 @@
|
||||
//parseable_packet(0x0957,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x095c,18,clif_parse_PartyBookingRegisterReq,2,4,6);
|
||||
parseable_packet(0x096a,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2015-11-25dRagexeRE
|
||||
#elif PACKETVER == 20151125
|
||||
parseable_packet(0x0361,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0365,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0366,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0368,-1,clif_parse_ItemListWindowSelected,2,4,8,8,12);
|
||||
parseable_packet(0x0438,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0802,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0838,18,clif_parse_PartyBookingRegisterReq,2,4,6);
|
||||
parseable_packet(0x085E,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x085F,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0863,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0883,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0884,36,clif_parse_StoragePassword,2,4,20);
|
||||
//parseable_packet(0x0885,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x088C,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x088D,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0899,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x089C,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x089F,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x08A9,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x08AD,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0920,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x092A,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x092E,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x0939,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x093E,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x0951,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0956,26,clif_parse_PartyInvite2,2);
|
||||
//parseable_packet(0x0957,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0959,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
// 2015-12-02bRagexeRE
|
||||
#elif PACKETVER == 20151202
|
||||
parseable_packet(0x0202,5,clif_parse_ChangeDir,2,4);
|
||||
@ -1213,6 +1306,38 @@
|
||||
parseable_packet(0x083c,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0870,36,clif_parse_StoragePassword,2,4,20);
|
||||
parseable_packet(0x096a,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2015-12-09aRagexeRE
|
||||
#elif PACKETVER == 20151209
|
||||
parseable_packet(0x0365,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0369,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x07E4,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x07EC,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0811,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0819,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x085B,36,clif_parse_StoragePassword,2,4,20);
|
||||
parseable_packet(0x085D,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x085E,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0861,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0866,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0875,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x087A,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x087F,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x088E,10,clif_parse_UseSkillToId,2,4,6);
|
||||
//parseable_packet(0x088F,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0894,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x08A1,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0920,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x092D,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0930,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x0932,-1,clif_parse_ItemListWindowSelected,2,4,8,8,12);
|
||||
parseable_packet(0x093B,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0948,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x094A,18,clif_parse_PartyBookingRegisterReq,2,4,6);
|
||||
parseable_packet(0x0956,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
//parseable_packet(0x095C,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0961,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0964,26,clif_parse_FriendsListAdd,2);
|
||||
// 2015-12-16aRagexeRE
|
||||
#elif PACKETVER == 20151216
|
||||
parseable_packet(0x022D,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0361,6,clif_parse_ReqClickBuyingStore,2);
|
||||
@ -2049,8 +2174,8 @@
|
||||
parseable_packet(0x0959,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x0965,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0969,6,clif_parse_DropItem,2,4);
|
||||
// 2016-06-30aRagexeRE
|
||||
#elif PACKETVER == 20160630
|
||||
// 2016-06-29aRagexeRE or 2016-06-30aRagexeRE
|
||||
#elif PACKETVER == 20160629 || PACKETVER == 20160630
|
||||
parseable_packet(0x0202,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x022d,5,clif_parse_WalkToXY,2);
|
||||
//parseable_packet(0x035f,4,NULL,0); // CZ_GANGSI_RANK
|
||||
@ -2545,8 +2670,8 @@
|
||||
parseable_packet(0x095c,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x095e,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0962,5,clif_parse_ChangeDir,2,4);
|
||||
// 2016-11-03aRagexeRE
|
||||
#elif PACKETVER == 20161103
|
||||
// 2016-11-02aRagexeRE or 2016-11-03aRagexeRE
|
||||
#elif PACKETVER == 20161102 || PACKETVER == 20161103
|
||||
parseable_packet(0x0361,8,clif_parse_MoveFromKafra,2,4);
|
||||
//parseable_packet(0x0367,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0436,7,clif_parse_ActionRequest,2,6);
|
||||
@ -3599,6 +3724,349 @@
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0863,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2017-07-05aRagexeRE
|
||||
#elif PACKETVER == 20170705
|
||||
parseable_packet(0x0202,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x02C4,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0879,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0886,26,clif_parse_FriendsListAdd,2);
|
||||
//parseable_packet(0x088D,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x088E,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x089A,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x089D,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x091A,5,clif_parse_ChangeDir,2,4);
|
||||
//parseable_packet(0x092F,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0930,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x0932,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0934,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x094C,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2017-07-12bRagexeRE
|
||||
#elif PACKETVER == 20170712
|
||||
parseable_packet(0x0202,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x022D,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x023B,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x0281,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0361,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0362,6,clif_parse_DropItem,2,4);
|
||||
//parseable_packet(0x0363,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0364,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0365,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
|
||||
//parseable_packet(0x0436,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x07E4,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x07EC,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0802,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0944,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2017-07-19aRagexeRE
|
||||
#elif PACKETVER == 20170719
|
||||
parseable_packet(0x022D,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0367,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
//parseable_packet(0x0368,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0369,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x07E4,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x085A,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x085E,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0863,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x086E,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x087D,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0881,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0882,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x0885,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x0891,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x0898,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x089A,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x089D,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x08A6,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x08A8,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x091B,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x091F,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x092C,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x092E,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x092F,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x093D,5,clif_parse_WalkToXY,2);
|
||||
//parseable_packet(0x093E,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0944,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0946,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x0966,8,clif_parse_MoveToKafra,2,4);
|
||||
// 2017-07-26cRagexeRE
|
||||
#elif PACKETVER == 20170726
|
||||
parseable_packet(0x0363,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0364,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0366,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0369,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0438,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0838,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0873,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0874,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x0878,7,clif_parse_ActionRequest,2,6);
|
||||
//parseable_packet(0x0881,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0888,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x088E,5,clif_parse_WalkToXY,2);
|
||||
//parseable_packet(0x08A3,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x08A7,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x08AA,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x08AB,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x08AC,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x091D,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x091E,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x091F,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0921,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0923,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0943,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x094F,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0950,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x0952,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0954,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x095A,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0963,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
// 2017-08-01aRagexeRE
|
||||
#elif PACKETVER == 20170801
|
||||
parseable_packet(0x022D,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x0281,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0361,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x0362,5,clif_parse_HomMenu,2,4);
|
||||
//parseable_packet(0x0363,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0364,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0365,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x07E4,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x07EC,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0802,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x087D,36,clif_parse_StoragePassword,0);
|
||||
//parseable_packet(0x08A6,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x094F,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x095A,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2017-08-09cRagexeRE
|
||||
//#elif PACKETVER == 20170809
|
||||
// 2017-08-16dRagexeRE
|
||||
#elif PACKETVER == 20170816
|
||||
parseable_packet(0x022D,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x035F,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0361,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x0362,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0438,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x085A,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0862,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x0864,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x087E,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0881,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0882,36,clif_parse_StoragePassword,0);
|
||||
//parseable_packet(0x0884,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0888,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x0889,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x08A3,26,clif_parse_FriendsListAdd,2);
|
||||
//parseable_packet(0x08A7,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x08A9,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x08AC,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x091C,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x0921,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0925,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x092C,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x093A,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x093D,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0940,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0941,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x0950,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0959,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0960,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
// 2017-08-23aRagexeRE
|
||||
#elif PACKETVER == 20170823
|
||||
parseable_packet(0x0281,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0361,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0362,6,clif_parse_DropItem,2,4);
|
||||
//parseable_packet(0x0363,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0364,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0365,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
|
||||
//parseable_packet(0x0436,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x07E4,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x07EC,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0802,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x086C,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x086D,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x08AC,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x095B,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2017-08-30bRagexeRE
|
||||
#elif PACKETVER == 20170830
|
||||
parseable_packet(0x0281,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x02C4,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0363,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
//parseable_packet(0x0364,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0860,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0865,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x086A,26,clif_parse_PartyInvite2,2);
|
||||
//parseable_packet(0x0875,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0884,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0885,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0888,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0897,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0899,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x089A,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x089E,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x08A2,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x08A8,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x091E,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0921,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0925,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x092E,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x0939,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x093E,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0940,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0942,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x0943,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0947,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0951,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0959,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
// 2017-09-06cRagexeRE
|
||||
#elif PACKETVER == 20170906
|
||||
//parseable_packet(0x0202,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0281,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x02C4,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x035F,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0366,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x0802,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0860,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x0866,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
//parseable_packet(0x086C,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x087B,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x08A2,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x08A3,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x08A7,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x091A,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x091E,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0953,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x0281,6,clif_parse_GetCharNameRequest,2);
|
||||
// 2017-09-13bRagexeRE
|
||||
#elif PACKETVER == 20170913
|
||||
parseable_packet(0x035F,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x0437,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x07E4,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x0817,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0835,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x085A,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
parseable_packet(0x0860,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0865,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x0866,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x088C,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0890,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x0891,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x0892,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x08A6,6,clif_parse_ReqClickBuyingStore,2);
|
||||
//parseable_packet(0x08A7,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x08AA,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x08AB,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x08AC,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x08AD,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x091B,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x091D,6,clif_parse_DropItem,2,4);
|
||||
//parseable_packet(0x091E,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0920,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
parseable_packet(0x0923,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0925,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x0927,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x095A,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
parseable_packet(0x095C,6,clif_parse_SolveCharName,2);
|
||||
// 2017-09-20bRagexeRE
|
||||
#elif PACKETVER == 20170920
|
||||
parseable_packet(0x0369,6,clif_parse_TakeItem,2);
|
||||
parseable_packet(0x0436,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
|
||||
parseable_packet(0x07EC,8,clif_parse_MoveFromKafra,2,4);
|
||||
parseable_packet(0x085A,5,clif_parse_WalkToXY,2);
|
||||
parseable_packet(0x0861,26,clif_parse_FriendsListAdd,2);
|
||||
parseable_packet(0x0862,10,clif_parse_UseSkillToId,2,4,6);
|
||||
parseable_packet(0x0864,36,clif_parse_StoragePassword,0);
|
||||
parseable_packet(0x0865,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
|
||||
parseable_packet(0x086A,26,clif_parse_PartyInvite2,2);
|
||||
parseable_packet(0x086C,6,clif_parse_DropItem,2,4);
|
||||
parseable_packet(0x0874,2,clif_parse_ReqCloseBuyingStore,0);
|
||||
//parseable_packet(0x0875,4,NULL,0); // CZ_GANGSI_RANK
|
||||
parseable_packet(0x0889,6,clif_parse_GetCharNameRequest,2);
|
||||
parseable_packet(0x088E,6,clif_parse_TickSend,2);
|
||||
parseable_packet(0x089B,7,clif_parse_ActionRequest,2,6);
|
||||
parseable_packet(0x0919,10,clif_parse_UseSkillToPos,2,4,6,8);
|
||||
//parseable_packet(0x091E,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
|
||||
parseable_packet(0x0921,6,clif_parse_SolveCharName,2);
|
||||
parseable_packet(0x0923,19,clif_parse_WantToConnection,2,6,10,14,18);
|
||||
parseable_packet(0x0926,8,clif_parse_MoveToKafra,2,4);
|
||||
parseable_packet(0x092E,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
|
||||
parseable_packet(0x0937,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
|
||||
parseable_packet(0x0939,5,clif_parse_ChangeDir,2,4);
|
||||
parseable_packet(0x0945,18,clif_parse_PartyBookingRegisterReq,2,4);
|
||||
parseable_packet(0x094C,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
|
||||
parseable_packet(0x095D,5,clif_parse_HomMenu,2,4);
|
||||
parseable_packet(0x0961,6,clif_parse_ReqClickBuyingStore,2);
|
||||
parseable_packet(0x0966,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
|
||||
parseable_packet(0x096A,2,clif_parse_SearchStoreInfoNextPage,0);
|
||||
#endif
|
||||
|
||||
#endif /* _CLIF_SHUFFLE_H_ */
|
||||
|
||||
@ -6410,7 +6410,7 @@ int pc_follow_timer(int tid, unsigned int tick, int id, intptr_t data)
|
||||
sd->followtimer = INVALID_TIMER;
|
||||
tbl = map_id2bl(sd->followtarget);
|
||||
|
||||
if (tbl == NULL || pc_isdead(sd) || status_isdead(tbl))
|
||||
if (tbl == NULL || pc_isdead(sd))
|
||||
{
|
||||
pc_stop_following(sd);
|
||||
return 0;
|
||||
|
||||
@ -19718,7 +19718,7 @@ unsigned short script_instancegetid(struct script_state* st)
|
||||
struct guild *gd = NULL;
|
||||
struct clan *cd = NULL;
|
||||
|
||||
if (script_rid2sd(sd)) {
|
||||
if ((sd = map_id2sd(st->rid))) {
|
||||
if (sd->instance_id)
|
||||
instance_id = sd->instance_id;
|
||||
if (instance_id == 0 && sd->status.party_id && (pd = party_search(sd->status.party_id)) != NULL && pd->instance_id)
|
||||
@ -22083,12 +22083,16 @@ BUILDIN_FUNC(getvar) {
|
||||
|
||||
/**
|
||||
* Display script message
|
||||
* showscript "<message>"{,<GID>};
|
||||
* showscript "<message>"{,<GID>,<flag>};
|
||||
* @param flag: Specify target
|
||||
* AREA - Message is sent to players in the vicinity of the source (default).
|
||||
* SELF - Message is sent only to player attached.
|
||||
**/
|
||||
BUILDIN_FUNC(showscript) {
|
||||
struct block_list *bl = NULL;
|
||||
const char *msg = script_getstr(st,2);
|
||||
int id = 0;
|
||||
send_target target = AREA;
|
||||
|
||||
if (script_hasdata(st,3)) {
|
||||
id = script_getnum(st,3);
|
||||
@ -22104,7 +22108,15 @@ BUILDIN_FUNC(showscript) {
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
clif_showscript(bl, msg);
|
||||
if (script_hasdata(st, 4)) {
|
||||
target = static_cast<send_target>(script_getnum(st, 4));
|
||||
if (target == SELF && map_id2sd(bl->id) == NULL) {
|
||||
ShowWarning("script: showscript: self can't be used for non-players objects.\n");
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
clif_showscript(bl, msg, target);
|
||||
|
||||
script_pushint(st,1);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
@ -23565,6 +23577,7 @@ BUILDIN_FUNC(achievementupdate) {
|
||||
/**
|
||||
* Get an equipment's refine cost
|
||||
* getequiprefinecost(<equipment slot>,<type>,<information>{,<char id>})
|
||||
* returns -1 on fail
|
||||
*/
|
||||
BUILDIN_FUNC(getequiprefinecost) {
|
||||
int i = -1, slot, type, info;
|
||||
@ -23579,9 +23592,19 @@ BUILDIN_FUNC(getequiprefinecost) {
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
if (type < 0 || type >= REFINE_COST_MAX) {
|
||||
script_pushint(st, -1);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
if (equip_index_check(slot))
|
||||
i = pc_checkequip(sd, equip_bitmask[slot]);
|
||||
|
||||
if (i < 0) {
|
||||
script_pushint(st, -1);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
int weapon_lv = sd->inventory_data[i]->wlv;
|
||||
if (sd->inventory_data[i]->type == IT_SHADOWGEAR) {
|
||||
if (sd->inventory_data[i]->equip == EQP_SHADOW_WEAPON)
|
||||
@ -24178,7 +24201,7 @@ struct script_function buildin_func[] = {
|
||||
BUILDIN_DEF(npcshopupdate,"sii?"),
|
||||
BUILDIN_DEF(getattachedrid,""),
|
||||
BUILDIN_DEF(getvar,"vi"),
|
||||
BUILDIN_DEF(showscript,"s?"),
|
||||
BUILDIN_DEF(showscript,"s??"),
|
||||
BUILDIN_DEF(ignoretimeout,"i?"),
|
||||
BUILDIN_DEF(geteleminfo,"i?"),
|
||||
BUILDIN_DEF(setquestinfo_level,"iii"),
|
||||
|
||||
@ -2712,7 +2712,11 @@ static int skill_magic_reflect(struct block_list* src, struct block_list* bl, in
|
||||
return 0;
|
||||
|
||||
// Kaite reflection - Does not bypass Boss check
|
||||
if( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80) ) {
|
||||
if( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80)
|
||||
#ifdef RENEWAL
|
||||
&& type // Does not reflect AoE
|
||||
#endif
|
||||
) {
|
||||
// Kaite only works against non-players if they are low-level.
|
||||
// Kyomu doesn't disable Kaite, but the "skill fail chance" part of Kyomu applies to it.
|
||||
clif_specialeffect(bl, 438, AREA);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user