From 1883d131fe0618315c2d324231bf2dd270065029 Mon Sep 17 00:00:00 2001 From: Major- Date: Thu, 13 Feb 2014 22:57:17 +0000 Subject: [PATCH] Add proper mob health deduction when they are damaged. --- src/org/apollo/game/model/Mob.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/org/apollo/game/model/Mob.java b/src/org/apollo/game/model/Mob.java index 3b28741b..eeb0a6d0 100644 --- a/src/org/apollo/game/model/Mob.java +++ b/src/org/apollo/game/model/Mob.java @@ -116,8 +116,11 @@ public abstract class Mob extends Entity { */ public void damage(int damage, int type, boolean secondary) { Skill hitpoints = skillSet.getSkill(Skill.HITPOINTS); - blockSet.add(SynchronizationBlock.createHitUpdateBlock(damage, type, hitpoints.getCurrentLevel(), - hitpoints.getMaximumLevel(), secondary)); + int current = hitpoints.getCurrentLevel() - damage, maximum = hitpoints.getMaximumLevel(); + current = current < 0 ? 0 : current; + + blockSet.add(SynchronizationBlock.createHitUpdateBlock(damage, type, current, maximum, secondary)); + skillSet.setSkill(Skill.HITPOINTS, new Skill(hitpoints.getExperience(), current, maximum)); } /**