summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c8
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;