diff --git a/src/engine/objects/Mob.java b/src/engine/objects/Mob.java index cca10e42..9d88228e 100644 --- a/src/engine/objects/Mob.java +++ b/src/engine/objects/Mob.java @@ -1037,6 +1037,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed { } public void recalculateStats() { + if (this.isPlayerGuard()) { NPCManager.setMaxHealthForGuard(this); NPCManager.setAttackRatingForGuard(this); @@ -1044,26 +1045,16 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed { NPCManager.setDamageAndSpeedForGuard(this); NPCManager.applyGuardStanceModifiers(this); } else { - - try { - AbstractCharacter.calculateAtrDamageForWeapon(this,this.charItemManager.equipped.get(EquipSlotType.RHELD),true,this.charItemManager.equipped.get(EquipSlotType.LHELD)); - AbstractCharacter.calculateAtrDefenseDamage(this); - } catch (Exception e) { - Logger.error(this.getMobBaseID() + ":" + e); - } - try { - calculateMaxHealthManaStamina(); - } catch (Exception e) { - Logger.error(e.getMessage()); - } - } - try { - calculateModifiedStats(); - } catch (Exception e) { - Logger.error(e.getMessage()); + AbstractCharacter.calculateAtrDamageForWeapon(this, this.charItemManager.equipped.get(EquipSlotType.RHELD), true, this.charItemManager.equipped.get(EquipSlotType.LHELD)); + AbstractCharacter.calculateAtrDefenseDamage(this); + calculateMaxHealthManaStamina(); } + + calculateModifiedStats(); + if (this.isSiege()) this.healthMax = 10000; + Resists.calculateResists(this); }