From af3ccc4ddcb9e13973b8d06283e6bf088f1d8f6a Mon Sep 17 00:00:00 2001 From: nsensfel Date: Mon, 30 Sep 2019 18:16:18 +0200 Subject: Moves 'other' folder to tacticians-design/misc --- other/luck.txt | 97 ---------------------------------------------------------- 1 file changed, 97 deletions(-) delete mode 100644 other/luck.txt (limited to 'other/luck.txt') diff --git a/other/luck.txt b/other/luck.txt deleted file mode 100644 index 33d7fc2..0000000 --- a/other/luck.txt +++ /dev/null @@ -1,97 +0,0 @@ -Hitting your target, parrying, critical hits, double hits, and elemental status -are controlled by random chance. On the one hand, this adds depth through -management of risks and rewards, and it forces unexpected events on the players. -On the other hand, it can quickly make combats feel unfair (e.g. good tactics -failing due to bad luck) or infuriate players (e.g. missing a 95% chance shot in -XCOM). - -To mitigate the drawbacks, TO should balance the impact of luck. - -During a battle, each players has a Luck meter. Luck in between -200 and 200. It -starts at 0. - -When a player makes a roll with X% chance, the result is as follows: -Roll = rand(100); -IsSuccess = ((X + Luck) >= Roll); -if (IsSuccess) -{ - if (X > 50) - { - // It was likely to succeed, pay just what you used. - MissingPoints = max(0, (Roll - X)) - Luck' = (Luck - MissingPoints) - } - else if (X =< 50) - { - // It was unlikely to succeed, pay a lot. - Cost = (55 - X) // How far was it from being reasonable? - Luck' = (Luck - Cost) - } -} -else -{ - // Failure due to bad roll. - if (X >= 50) - { - // It was likely to succeed, you're owed a lot. - OwedPoints = (X - 45) - Luck' = (Luck + OwedPoints) - } -} - -For example: - -A/ The character of a player with 15 Luck attempts a 10% chance parry: -if (Roll <= 25) -{ - // Unlikely Success. - Cost = (55 - 10) = 45 - Luck' = 15 - 45 = -30 -} -else if (Roll > 25) -{ - // Expected Failure. -} - -B/ The character of a player with 20 Luck attempts a 45% chance parry: -if (Roll <= 60) -{ - // Unlikely Success. - Cost = (55 - 45) = 10 - Luck' = 20 - 10 = 10 -} -else if (Roll > 60) -{ - // Expected Failure. -} - -D/ The character of a player with 20 Luck attempts a 55% chance parry: -if (Roll <= 70) -{ - // Likely Success. - UsedUpLuck = max(0, (55 - Roll)) = [0, 20] - Luck' = 20 - UsedUpLuck = [0, 20] -} -else if (Roll > 70) -{ - // Unlucky dice roll. - OwedPoints = (55 - 45) = 10 - Luck' = 20 + 10 = 30 -} - -D/ The character of a player with -35 Luck attempts a 15% chance parry: -No roll required. This fails. No luck update. - -E/ The character of a player with -35 Luck attempts a 75% chance parry: -if (Roll <= 40) -{ - // Without the negative luck, it was likely to succeed - // Luck clearly didn't help, so none is to be payed. -} -else if (Roll > 40) -{ - // If not for that negative luck, you were likely to make it. - // You're owed some luck back. - OwedPoints = (75 - 45) = 30 - Luck' = -35 + 30 = -5 -} -- cgit v1.2.3-70-g09d2