diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index 23daeae4..1198762d 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -1519,7 +1519,8 @@ public enum CombatManager { //if(roll >= 95)//always 5% chance to hit // return true; - return PlayerCombatStats.getHitChance(ATR,DEF) >= roll; + float chance = PlayerCombatStats.getHitChance(ATR,DEF); + return chance >= roll; } public static boolean specialCaseHitRoll(int powerID){ diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java index 8190016f..59b73aa5 100644 --- a/src/engine/objects/PlayerCombatStats.java +++ b/src/engine/objects/PlayerCombatStats.java @@ -853,9 +853,9 @@ public class PlayerCombatStats { } // PERFECT DO NOT TOUCH public static float getHitChance(int atr,int def){ - float key = atr / def; + float key = (float)((float)atr / def); BigDecimal bd = new BigDecimal(key).setScale(2, RoundingMode.HALF_UP); - key = bd.floatValue(); + key = bd.floatValue(); // handles rounding for mandatory 2 decimal places if(key < 0.40f) return 0.0f; if(key > 2.50f)