summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index f7abeb1ca..a535d312b 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7231,9 +7231,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case RA_WUGMASTERY:
if( sd )
{
- if( pc_isridingwug(sd) )
- clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0);
- else if( !pc_iswug(sd) )
+ if( !pc_iswug(sd) )
pc_setoption(sd,sd->sc.option|OPTION_WUG);
else
pc_setoption(sd,sd->sc.option&~OPTION_WUG);
@@ -7249,8 +7247,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
} else if( pc_isridingwug(sd) ) {
pc_setoption(sd,sd->sc.option&~OPTION_WUGRIDER);
pc_setoption(sd,sd->sc.option|OPTION_WUG);
- } else if( sd ) {
- clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0);
}
clif_skill_nodamage(src,bl,skillid,skilllv,1);
}
@@ -10390,7 +10386,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh
case BS_MAXIMIZE: case NV_TRICKDEAD: case TF_HIDING: case AS_CLOAKING: case CR_AUTOGUARD:
case ML_AUTOGUARD: case CR_DEFENDER: case ML_DEFENDER: case ST_CHASEWALK: case PA_GOSPEL:
case CR_SHRINK: case TK_RUN: case GS_GATLINGFEVER: case TK_READYCOUNTER: case TK_READYDOWN:
- case TK_READYSTORM: case TK_READYTURN: case SG_FUSION:
+ case TK_READYSTORM: case TK_READYTURN: case SG_FUSION: case RA_WUGDASH:
if( sc && sc->data[status_skill2sc(skill)] )
return 1;
}
@@ -10777,6 +10773,24 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh
return 0;
}
break;
+ case RA_WUGMASTERY:
+ if( pc_isfalcon(sd) || pc_isridingwug(sd) ) {
+ clif_skill_fail(sd,skill,USESKILL_FAIL_LEVEL,0);
+ return 0;
+ }
+ break;
+ case RA_WUGRIDER:
+ if( !pc_isridingwug(sd) && !pc_iswug(sd) ) {
+ clif_skill_fail(sd,skill,USESKILL_FAIL_LEVEL,0);
+ return 0;
+ }
+ break;
+ case RA_WUGDASH:
+ if(!pc_isridingwug(sd)) {
+ clif_skill_fail(sd,skill,USESKILL_FAIL_LEVEL,0);
+ return 0;
+ }
+ break;
/**
* Royal Guard
**/