diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/skill.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 11ce69536..5c8e671c3 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4400,20 +4400,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case BA_PANGVOICE: - clif_skill_nodamage(src,bl,skillid,skilllv, - sc_start(bl,SC_CONFUSION,50,7,skill_get_time(skillid,skilllv))); + clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,SC_CONFUSION,50,7,skill_get_time(skillid,skilllv))); break; case DC_WINKCHARM: - if(dstsd){ - clif_skill_nodamage(src,bl,skillid,skilllv, - sc_start(bl,SC_CONFUSION,30,7,skill_get_time2(skillid,skilllv))); - }else if(dstmd) + if( dstsd ) + clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,SC_CONFUSION,30,7,skill_get_time2(skillid,skilllv))); + else + if( dstmd ) { - if(status_get_lv(src)>status_get_lv(bl) && (tstatus->race == RC_DEMON || tstatus->race == RC_DEMIHUMAN || tstatus->race == RC_ANGEL)) { - clif_skill_nodamage(src,bl,skillid,skilllv, - sc_start(bl,type,70,skilllv,skill_get_time(skillid,skilllv))); - } else{ + if( status_get_lv(src) > status_get_lv(bl) + && (tstatus->race == RC_DEMON || tstatus->race == RC_DEMIHUMAN || tstatus->race == RC_ANGEL) + && !(tstatus->mode&MD_BOSS) ) + clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,70,skilllv,skill_get_time(skillid,skilllv))); + else + { clif_skill_nodamage(src,bl,skillid,skilllv,0); if(sd) clif_skill_fail(sd,skillid,0,0); } |