mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-06-28 06:55:17 -04:00
Adds Cecil (#119)
* Add Cecil for mechanics Used to predetermine the outcome of games according to a probability function, which is stored as a skew. Each game made using cecil is intended to have its own skew (or maybe multiple skews for different difficulties) Will eventually be used for planes 2 * Add CecilCommand for gambling functionality Skip all the fancy casino visuals and let Cecil take the wheel Customizeable difficulty !cecil <bet> <optional difficulty, default 1> <optional max win> https://i.ddos.lgbt/raw/CecilHelper.html * Validate max win value in CecilCommand Added validation to ensure max win is greater than 1. * Adjust slot symbol probabilities and random range 9208000 | Payout: 0 | RTP: 97.84% | Feach Chance: 0.78% | Hit Rate: 34.03% | Win Rate: 15.14% | Biggest Win: 14100.0x | Avg Win: 6.01x | Median Hit: 0.6x got some complaint about slots so figured I'd change it up a bit
This commit is contained in:
@@ -477,7 +477,7 @@ public class SlotsCommand : ICommand
|
||||
for (var i = 0; i < 5; i++) {
|
||||
for (var j = 0; j < 5; j++)
|
||||
{
|
||||
var r = _rand.NextDouble() * 100.1;
|
||||
var r = _rand.NextDouble() * 100;
|
||||
if (f != 0 && j > 1) r *= 1.1;
|
||||
|
||||
if (rigged == 'W') // guarantee max win
|
||||
@@ -608,18 +608,18 @@ public class SlotsCommand : ICommand
|
||||
if (rigged == 'L') RigSlotBoard();
|
||||
char PickSlotSymbol(double r, int i, int j)
|
||||
{
|
||||
if (r < 22.5) return 'A';
|
||||
else if (r < 44.5) return 'B';
|
||||
else if (r < 52.5) return 'C';
|
||||
else if (r < 66.5) return 'D';
|
||||
else if (r < 78.5) return 'E';
|
||||
else if (r < 84.5) return 'F';
|
||||
else if (r < 89.5) return 'G';
|
||||
else if (r < 92.5) return 'H';
|
||||
else if (r < 95.5) return 'I';
|
||||
else if (r < 97.5) return 'J';
|
||||
else if (r < 98.5) return WILD;
|
||||
else if (r < (j <= 2 ? 99 : 99.5)) { if (!ex.Contains(j)) { return EXPANDER; } else return WILD; }
|
||||
if (r < 15) return 'A';
|
||||
else if (r < 30) return 'B';
|
||||
else if (r < 40) return 'C';
|
||||
else if (r < 50) return 'D';
|
||||
else if (r < 65) return 'E';
|
||||
else if (r < 72.5) return 'F';
|
||||
else if (r < 80) return 'G';
|
||||
else if (r < 86) return 'H';
|
||||
else if (r < 92) return 'I';
|
||||
else if (r < 97) return 'J';
|
||||
else if (r < 97.5) return WILD;
|
||||
else if (r < (j <= 2 ? 98.25 : 98.5)) { if (!ex.Contains(j)) { return EXPANDER; } else return WILD; }
|
||||
else { if (fc < 5) { fc++;
|
||||
return FEATURE;
|
||||
} else return WILD; }
|
||||
|
||||
Reference in New Issue
Block a user