From 40d84d8c78b35a058565c0c1fa3d8b41341b4cc5 Mon Sep 17 00:00:00 2001 From: OMGeeky Date: Sat, 28 Oct 2023 14:10:06 +0200 Subject: [PATCH] add documentation to attack hit chance method --- .../gpl/rpg/AndorsTrail/controller/CombatController.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/CombatController.java b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/CombatController.java index f3a2213b6..a6bef097d 100644 --- a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/CombatController.java +++ b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/CombatController.java @@ -579,6 +579,13 @@ public final class CombatController implements VisualEffectCompletedCallback { private static final int n = 50; private static final int F = 40; private static final float two_divided_by_PI = (float) (2f / Math.PI); + /** + * @implNote + * formula: 50 * (1 + (2 / pi) * atan((attackChance - blockChance - n) / F)) + *
+ * n = {@value n}; F = {@value F} + * @return [0..100] . 100 == always hit. + */ private static int getAttackHitChance(final Actor attacker, final Actor target) { final int c = attacker.getAttackChance() - target.getBlockChance(); // (2/pi)*atan(..) will vary from -1 to +1 .