summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c19
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"},