summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorepoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-12-14 14:25:32 +0000
committerepoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-12-14 14:25:32 +0000
commit30e0ef795cd29ff387e77135c07595f4d389388e (patch)
tree664a368f190e3810497b57157c29564159be7ede
parentc0d762eba9f73c6eb239cd100e32270e44b5fb2d (diff)
downloadhercules-30e0ef795cd29ff387e77135c07595f4d389388e.tar.gz
hercules-30e0ef795cd29ff387e77135c07595f4d389388e.tar.bz2
hercules-30e0ef795cd29ff387e77135c07595f4d389388e.tar.xz
hercules-30e0ef795cd29ff387e77135c07595f4d389388e.zip
- Fixed Sky Deleter Card (and similar items) not healing when killing a monster when in Berserk status
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15106 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/status.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 137af795f..c8de8e07b 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1473,7 +1473,9 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
hp += sd->magic_hp_gain_value;
}
if( hp || sp )
- status_heal(src, hp, sp, battle_config.show_hp_sp_gain?2:0);
+ {// updated to force healing to allow healing through berserk
+ status_heal(src, hp, sp, battle_config.show_hp_sp_gain ? 3 : 1);
+ }
}
// Trigger counter-spells to retaliate against damage causing skills.
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;