diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index 3d05bb93..d300df26 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -546,6 +546,8 @@ public enum CombatManager { return; if(ac.getObjectType().equals(GameObjectType.PlayerCharacter)){ PlayerCharacter pc = (PlayerCharacter) ac; + pc.combatStats.calculateATR(true); + pc.combatStats.calculateATR(false); if (mainHand) { atr = pc.combatStats.atrHandOne; minDamage = pc.combatStats.minDamageHandOne; @@ -659,6 +661,7 @@ public enum CombatManager { } else { AbstractCharacter tar = (AbstractCharacter) target; if(tar.getObjectType().equals(GameObjectType.PlayerCharacter)){ + ((PlayerCharacter)tar).combatStats.calculateDefense(); defense = ((PlayerCharacter)tar).combatStats.defense; }else { defense = tar.getDefenseRating(); @@ -671,7 +674,7 @@ public enum CombatManager { //Get hit chance //int chance; - float dif = atr - defense; + //float dif = atr - defense; //if (dif > 100) // chance = 94; diff --git a/src/engine/mobileAI/utilities/CombatUtilities.java b/src/engine/mobileAI/utilities/CombatUtilities.java index a88ca91a..1d3100fa 100644 --- a/src/engine/mobileAI/utilities/CombatUtilities.java +++ b/src/engine/mobileAI/utilities/CombatUtilities.java @@ -148,7 +148,9 @@ public class CombatUtilities { } switch (target.getObjectType()) { case PlayerCharacter: - defense = ((AbstractCharacter) target).getDefenseRating(); + PlayerCharacter pc = (PlayerCharacter)target; + pc.combatStats.calculateDefense(); + defense = pc.combatStats.defense; break; case Mob: diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java index 7e587fa9..f01b3cc0 100644 --- a/src/engine/objects/PlayerCombatStats.java +++ b/src/engine/objects/PlayerCombatStats.java @@ -42,51 +42,61 @@ public class PlayerCombatStats { public void update() { try { this.calculateATR(true); + this.owner.atrHandOne = (int) this.atrHandOne; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE ATR FOR: " + this.owner.getObjectUUID()); } try { this.calculateATR(false); + this.owner.atrHandTwo = (int) this.atrHandTwo; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE ATR FOR: " + this.owner.getObjectUUID()); } try { this.calculateMin(true); + this.owner.minDamageHandOne = this.minDamageHandOne; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Min FOR: " + this.owner.getObjectUUID()); } try { this.calculateMin(false); + this.owner.minDamageHandTwo = this.minDamageHandTwo; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Min FOR: " + this.owner.getObjectUUID()); } try { this.calculateMax(true); + this.owner.maxDamageHandOne = this.maxDamageHandOne; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Max FOR: " + this.owner.getObjectUUID()); } try { this.calculateMax(false); + this.owner.maxDamageHandTwo = this.maxDamageHandTwo; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Max FOR: " + this.owner.getObjectUUID()); } try { this.calculateAttackSpeed(true); + this.owner.speedHandOne = this.attackSpeedHandOne; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Attack Speed FOR: " + this.owner.getObjectUUID()); } try { this.calculateAttackSpeed(false); + this.owner.speedHandTwo = this.attackSpeedHandTwo; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Attack Speed FOR: " + this.owner.getObjectUUID()); } try { this.calculateAttackRange(true); + this.owner.rangeHandOne = this.rangeHandOne; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID()); } try { this.calculateAttackRange(false); + this.owner.rangeHandTwo = this.rangeHandTwo; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID()); } @@ -97,9 +107,11 @@ public class PlayerCombatStats { //} try { this.calculateDefense(); + this.owner.defenseRating = this.defense; } catch (Exception e) { //Logger.error("FAILED TO CALCULATE Defense FOR: " + this.owner.getObjectUUID()); } + } public void calculateATR(boolean mainHand) {