summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 878f9e322..d0eab1861 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -323,10 +323,12 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
}
if ((sc->data[SC_UTSUSEMI].timer != -1 || sc->data[SC_BUNSINJYUTSU].timer != -1)
- && (flag&(BF_WEAPON|BF_MISC))
+ &&
+// This check used instead, is 'aproximate' to what it can block.
+ (flag&BF_WEAPON || (flag&(BF_MISC|BF_SHORT)) == (BF_MISC|BF_SHORT))
/* FIXME: This check is awful, there has to be some kind of logic behind this!
- && (
// there is no rule for that, only some exceptions.. which I listed according to many tests and says
+ && (
skill_num != ASC_BREAKER &&
skill_num != NJ_KUNAI &&
skill_num != SN_FALCONASSAULT &&