From b27a359737ddd02e77d6e793040601549eff2680 Mon Sep 17 00:00:00 2001 From: csnv Date: Sun, 29 Oct 2023 01:28:03 +0200 Subject: [PATCH] Fix snap_dodge setting not working for MO_EXTREMITYFIST Issue #638 --- src/map/battle.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/map/battle.c b/src/map/battle.c index cdf3dee4938..3e20f51f843 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -269,11 +269,10 @@ static int battle_delay_damage_sub(int tid, int64 tick, int id, intptr_t data) if (target != NULL && !status->isdead(target)) { //Check to see if you haven't teleported. [Skotlex] if (src != NULL && ( - battle_config.fix_warp_hit_delay_abuse ? - (dat->skill_id == MO_EXTREMITYFIST || target->m != src->m || check_distance_bl(src, target, dat->distance)) - : - ((target->type != BL_PC || BL_UCAST(BL_PC, target)->invincible_timer == INVALID_TIMER) - && (dat->skill_id == MO_EXTREMITYFIST || (target->m == src->m && check_distance_bl(src, target, dat->distance)))) + (dat->skill_id == MO_EXTREMITYFIST && (target->m != src->m || !battle_config.snap_dodge)) // Extremity fist always hits + || (battle_config.fix_warp_hit_delay_abuse && target->m != src->m) + || ((target->type != BL_PC || BL_UCAST(BL_PC, target)->invincible_timer == INVALID_TIMER) + && (target->m == src->m && check_distance_bl(src, target, dat->distance))) )) { map->freeblock_lock(); status_fix_damage(src, target, dat->damage, dat->delay);