From 956ff11574990b6752afaedea3f9b6199e33725c Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Fri, 28 Mar 2025 14:41:12 -0500 Subject: [PATCH] combat manager error tracking --- src/engine/gameManager/CombatManager.java | 73 +++++++++++------------ 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index 60a9e4e8..57cdcfcf 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -1009,61 +1009,60 @@ public enum CombatManager { //handle damage shields if (ac.isAlive() && tarAc != null && tarAc.isAlive()) - handleDamageShields(ac, tarAc, damage); - - //handle mob hate values - if(target.getObjectType().equals(GameObjectType.Mob) && ac.getObjectType().equals(GameObjectType.PlayerCharacter)){ - Mob mobTarget = (Mob)target; - if(mobTarget.hate_values.containsKey((PlayerCharacter) ac)){ - mobTarget.hate_values.put((PlayerCharacter) ac,mobTarget.hate_values.get((PlayerCharacter) ac) + damage); - }else{ - mobTarget.hate_values.put((PlayerCharacter) ac, damage); + try { + handleDamageShields(ac, tarAc, damage); + }catch(Exception e){ + Logger.error(e.getMessage()); } - } } else { // Apply Weapon power effect if any. // don't try to apply twice if dual wielding. + try { + if (ac.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) { + dpj = ((PlayerCharacter) ac).getWeaponPower(); - if (ac.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) { - dpj = ((PlayerCharacter) ac).getWeaponPower(); + if (dpj != null) { - if (dpj != null) { + PowersBase wp = dpj.getPower(); - PowersBase wp = dpj.getPower(); + if (wp.requiresHitRoll() == false) { + PlayerBonuses bonus = ac.getBonuses(); + float attackRange = getWeaponRange(wb, bonus); - if (wp.requiresHitRoll() == false) { - PlayerBonuses bonus = ac.getBonuses(); - float attackRange = getWeaponRange(wb, bonus); - - if(ac.isMoving()){ - attackRange += (ac.getSpeed() * 0.1f); - } + if (ac.isMoving()) { + attackRange += (ac.getSpeed() * 0.1f); + } - if(AbstractWorldObject.IsAbstractCharacter(target)) { - AbstractCharacter tarAc = (AbstractCharacter) target; - if(tarAc != null && tarAc.isMoving()){ - attackRange += (tarAc.getSpeed() * 0.1f); + if (AbstractWorldObject.IsAbstractCharacter(target)) { + AbstractCharacter tarAc = (AbstractCharacter) target; + if (tarAc != null && tarAc.isMoving()) { + attackRange += (tarAc.getSpeed() * 0.1f); + } } - } - if(specialCaseHitRoll(dpj.getPowerToken())) { - if(hitLanded) { + if (specialCaseHitRoll(dpj.getPowerToken())) { + if (hitLanded) { + dpj.attack(target, attackRange); + } + } else { dpj.attack(target, attackRange); } - }else{ - dpj.attack(target, attackRange); - } - } else - ((PlayerCharacter) ac).setWeaponPower(null); + } else + ((PlayerCharacter) ac).setWeaponPower(null); + } } + }catch(Exception e) { + Logger.error(e.getMessage()); + } + try { + if (target.getObjectType() == GameObjectType.Mob) + ((Mob) target).handleDirectAggro(ac); + }catch(Exception e){ + Logger.error(e.getMessage()); } - - if (target.getObjectType() == GameObjectType.Mob) - ((Mob) target).handleDirectAggro(ac); - errorTrack = 17; //miss, Send miss message