Updated wall checks for some 3rd class skills
* Wind Cutter, Cold Slower, Arms Cannon, Dragon Breath, Dragon Breath - Water, and Arrow Storm will no longer damage targets around walls.
This commit is contained in:
@@ -4694,7 +4694,10 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
skill_area_temp[0] = map_foreachinrange(skill_area_sub, bl, (skill_id == AS_SPLASHER)?1:skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, BCT_ENEMY, skill_area_sub_count);
|
||||
|
||||
// recursive invocation of skill_castend_damage_id() with flag|1
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), starget, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
if (battle_config.skill_wall_check && skill_id == RA_ARROWSTORM)
|
||||
map_foreachinshootrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), starget, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
else
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), starget, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
if( skill_id == AS_SPLASHER ) {
|
||||
map_freeblock_unlock(); // Don't consume a second gemstone.
|
||||
return 0;
|
||||
@@ -11744,8 +11747,12 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
|
||||
case RK_DRAGONBREATH:
|
||||
case RK_DRAGONBREATH_WATER:
|
||||
i = skill_get_splash(skill_id,skill_lv);
|
||||
map_foreachinarea(skill_area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src),
|
||||
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
|
||||
if (battle_config.skill_wall_check)
|
||||
map_foreachinshootrange(skill_area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src),
|
||||
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
|
||||
else
|
||||
map_foreachinarea(skill_area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src),
|
||||
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
|
||||
break;
|
||||
|
||||
case SO_ARRULLO:
|
||||
|
||||
Reference in New Issue
Block a user