diff options
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index a36168191..6b19d23d6 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5670,14 +5670,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case NPC_WIDESTUN: case NPC_SLOWCAST: case NPC_WIDEHELLDIGNITY: - case NPC_WIDESOULDRAIN: if (flag&1) - { - if( skillid == NPC_WIDESOULDRAIN ) - status_percent_damage(src,bl,0,((skilllv-1)%5+1)*20,false); - else - sc_start(bl,type,100,skilllv,skill_get_time2(skillid,skilllv)); + sc_start(bl,type,100,skilllv,skill_get_time2(skillid,skilllv)); + else { + skill_area_temp[2] = 0; //For SD_PREAMBLE + clif_skill_nodamage(src,bl,skillid,skilllv,1); + map_foreachinrange(skill_area_sub, bl, + skill_get_splash(skillid, skilllv),BL_CHAR, + src,skillid,skilllv,tick, flag|BCT_ENEMY|SD_PREAMBLE|1, + skill_castend_nodamage_id); } + break; + case NPC_WIDESOULDRAIN: + if (flag&1) + status_percent_damage(src,bl,0,((skilllv-1)%5+1)*20,false); else { skill_area_temp[2] = 0; //For SD_PREAMBLE clif_skill_nodamage(src,bl,skillid,skilllv,1); |