diff options
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 6 |
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 && |