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 8a66cbedf..b8426214a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -461,8 +461,10 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i && rand()%100 < 75 && !(skill_get_inf(skill_num)&INF_GROUND_SKILL))
return 0;
- if(sc->data[SC_KAUPE].timer != -1 && rand()%100 < sc->data[SC_KAUPE].val2)
- {
+ if(sc->data[SC_KAUPE].timer != -1 &&
+ rand()%100 < sc->data[SC_KAUPE].val2 &&
+ (bl->type == BL_PC || !skill_num))
+ { //Kaupe only blocks all skills of players.
clif_skill_nodamage(bl,bl,SL_KAUPE,1,1);
if (--sc->data[SC_KAUPE].val3 <= 0) //We make it work like Safety Wall, even though it only blocks 1 time.
status_change_end(bl, SC_KAUPE, -1);
|