diff --git a/src/map/battle.c b/src/map/battle.c index 6ce5115a76..4034d8ca27 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -793,7 +793,7 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag } if(sc->data[SC_ZEPHYR] && - flag&(BF_LONG|BF_SHORT)){ + flag&(BF_LONG|BF_SHORT) == (BF_SHORT|BF_LONG)){ d->dmg_lv = ATK_BLOCK; return 0; } diff --git a/src/map/skill.c b/src/map/skill.c index 258efe1afa..9a9b524848 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3374,6 +3374,10 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data) ( sc && sc->option&OPTION_HIDE ) ){ skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 ); break; + } else if( tsc && tsc->data[SC_SAFETYWALL] ){ + skill_attack(skl->type,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); + skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 ); + break; } } default: