diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index 1064b1ae..d5b15d86 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -1472,15 +1472,17 @@ public enum CombatManager { public static boolean LandHit(int C5, int D5){ - float chance = (C5-((C5+D5)*.315f)) / ((D5-((C5+D5)*.315f)) + (C5-((C5+D5)*.315f))); - int convertedChance = Math.round(chance * 100); - //convertedChance = Math.max(5, Math.min(95, convertedChance)); + float chance = (C5-((C5+D5) * 0.315f)) / ((D5-((C5+D5) * 0.315f)) + (C5-((C5+D5) * 0.315f))); + float convertedChance = chance * 100; int roll = ThreadLocalRandom.current().nextInt(101); - if(roll < 5)//always 5% chance ot miss + if(roll <= 5)//always 5% chance to miss return false; + if(roll >= 95)//always 5% chance to hit + return true; + return roll <= convertedChance; } diff --git a/src/engine/powers/poweractions/StealPowerAction.java b/src/engine/powers/poweractions/StealPowerAction.java index f27d9289..2bad2e77 100644 --- a/src/engine/powers/poweractions/StealPowerAction.java +++ b/src/engine/powers/poweractions/StealPowerAction.java @@ -187,8 +187,10 @@ public class StealPowerAction extends AbstractPowerAction { DispatchMessage.dispatchMsgDispatch(dispatch, engine.Enum.DispatchChannel.SECONDARY); //update thief's inventory - if (sourcePlayer.getCharItemManager() != null) + if (sourcePlayer.getCharItemManager() != null) { sourcePlayer.getCharItemManager().updateInventory(); + sourcePlayer.cancelOnAttackSwing(); + } //update victims inventory if (owner.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {