diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c index f90d9897d..8114362c4 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1128,8 +1128,12 @@ int status_heal(struct block_list *bl,int hp,int sp, int flag) } if(hp) { - if (!(flag&1) && sc && sc->data[SC_BERSERK]) - hp = 0; + if( sc && sc->data[SC_BERSERK] ) { + if( flag&1 ) + flag &= ~2; + else + hp = 0; + } if((unsigned int)hp > status->max_hp - status->hp) hp = status->max_hp - status->hp; |