diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java index d6bbac491..8b66f3d4d 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java @@ -25,6 +25,8 @@ import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea; import com.gpl.rpg.AndorsTrail.resource.VisualEffectCollection; import com.gpl.rpg.AndorsTrail.util.Coord; +import static java.lang.Math.max; + public final class CombatController implements VisualEffectCompletedCallback { private final ControllerContext controllers; private final WorldContext world; @@ -485,12 +487,26 @@ public final class CombatController implements VisualEffectCompletedCallback { return true; } private static float getAverageDamagePerHit(Actor attacker, Actor target) { - float result = (float) (getAttackHitChance(attacker, target)) * attacker.getDamagePotential().average() / 100; - if (hasCriticalAttack(attacker, target)) { - result += (float) attacker.getEffectiveCriticalChance() * result * attacker.getCriticalMultiplier() / 100; + int numPossibleOutcomes = attacker.getDamagePotential().max - attacker.getDamagePotential().current + 1; + float avgNonCriticalDamage = 0; + for (int n=0; n 0) { + for (int n=0; n