summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-02-03 12:49:17 -0200
committershennetsind <ind@henn.et>2013-02-03 12:49:17 -0200
commitd6d49c43b4f742c7aaffd0a102e6019c9adb7438 (patch)
tree7dabb9a12f53626670a62ec08fe19587fced24e2
parent654ba93647779819b64ba7920cedd73b45c0a419 (diff)
downloadhercules-d6d49c43b4f742c7aaffd0a102e6019c9adb7438.tar.gz
hercules-d6d49c43b4f742c7aaffd0a102e6019c9adb7438.tar.bz2
hercules-d6d49c43b4f742c7aaffd0a102e6019c9adb7438.tar.xz
hercules-d6d49c43b4f742c7aaffd0a102e6019c9adb7438.zip
Fixed Bug #7046
Updated Safety Wall Renewal behavior, when taking damage higher than the health of the safety wall, excess damage will no longer be passed to the player. http://hercules.ws/board/tracker/issue-7046-safetywall-should-always-block-at-least-one-hit/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/map/battle.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 2198b25ec..4505b6a63 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -808,13 +808,12 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
* in RE, SW possesses a lifetime equal to 3 times the caster's health
**/
#ifdef RENEWAL
+ d->dmg_lv = ATK_BLOCK;
if ( ( group->val2 - damage) > 0 ) {
group->val2 -= damage;
- d->dmg_lv = ATK_BLOCK;
- return 0;
} else
- damage -= group->val2;
- skill_delunitgroup(group);
+ skill_delunitgroup(group);
+ return 0;
#else
if (--group->val2<=0)
skill_delunitgroup(group);