diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-03-22 05:19:37 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-03-22 05:19:37 +0000 |
commit | c67c76ccdd9c8f534c15e05f368aad3b762b2450 (patch) | |
tree | 50e9de1c6033242a35a7c2f5f00162c98b281628 /src/map/clif.c | |
parent | 3c28bcdb276c7edaebfa39db390c8d55652a8525 (diff) | |
download | hercules-c67c76ccdd9c8f534c15e05f368aad3b762b2450.tar.gz hercules-c67c76ccdd9c8f534c15e05f368aad3b762b2450.tar.bz2 hercules-c67c76ccdd9c8f534c15e05f368aad3b762b2450.tar.xz hercules-c67c76ccdd9c8f534c15e05f368aad3b762b2450.zip |
Fixed bugreport:5355 Shadow Chaser's Auto Shadow Spell is now fully functional.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15756 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 8aa336cae..fabfa7ec2 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -15746,7 +15746,7 @@ int clif_autoshadowspell_list(struct map_session_data *sd) { WFIFOHEAD(fd, 2 * 6 + 4); WFIFOW(fd,0) = 0x442; for( i = 0, c = 0; i < MAX_SKILL; i++ ) - if( sd->status.skill[i].flag == 13 && sd->status.skill[i].id > 0 && + if( sd->status.skill[i].flag == SKILL_FLAG_PLAGIARIZED && sd->status.skill[i].id > 0 && sd->status.skill[i].id < GS_GLITTERING && skill_get_type(sd->status.skill[i].id) == BF_MAGIC ) { // Can't auto cast both Extended class and 3rd class skills. WFIFOW(fd,8+c*2) = sd->status.skill[i].id; @@ -15820,6 +15820,22 @@ void clif_msgtable_num(int fd, int line, int num) { WFIFOSET(fd, packet_len(0x7e2)); #endif } +/*========================================== + * used by SC_AUTOSHADOWSPELL + *------------------------------------------*/ +void clif_parse_SkillSelectMenu(int fd, struct map_session_data *sd) { + + if( sd->menuskill_id != SC_AUTOSHADOWSPELL ) + return; + + if( pc_istrading(sd) ) { + clif_skill_fail(sd,sd->ud.skillid,0,0); + sd->menuskill_val = sd->menuskill_id = 0; + return; + } + skill_select_menu(sd,RFIFOL(fd,2),RFIFOW(fd,6)); + sd->menuskill_val = sd->menuskill_id = 0; +} /*========================================== * Main client packet processing function @@ -16393,6 +16409,7 @@ static int packetdb_readdb(void) {clif_parse_BattleChat,"battlechat"}, {clif_parse_mercenary_action,"mermenu"}, {clif_parse_progressbar,"progressbar"}, + {clif_parse_SkillSelectMenu,"skillselectmenu"}, #if PACKETVER >= 20091229 {clif_parse_PartyBookingRegisterReq,"bookingregreq"}, {clif_parse_PartyBookingSearchReq,"bookingsearchreq"}, |