diff --git a/KfChatDotNetBot/Commands/Kasino/KenoCommand.cs b/KfChatDotNetBot/Commands/Kasino/KenoCommand.cs index b04ffec..b8d8dee 100644 --- a/KfChatDotNetBot/Commands/Kasino/KenoCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/KenoCommand.cs @@ -14,13 +14,11 @@ namespace KfChatDotNetBot.Commands.Kasino; public class KenoCommand : ICommand { public List Patterns => [ - new Regex(@"^keno (?classic|low|medium|high) (?\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^keno (?classic|low|medium|high) (?\d+\.\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^keno (?\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^keno (?\d+\.\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^keno (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^keno (?\d+\.\d+)$", RegexOptions.IgnoreCase), - new Regex("^keno$") + new Regex(@"^keno (?classic|low|medium|high) (?\d+(?:\.\d+)?) (?\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^keno (?classic|low|medium|high) (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), + new Regex(@"^keno (?\d+(?:\.\d+)?) (?\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^keno (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), + new Regex("^keno") ]; public string? HelpText => "!keno [bet amount] [numbers to pick(optional, default 10)]"; public UserRight RequiredRight => UserRight.Loser; diff --git a/KfChatDotNetBot/Commands/Kasino/LimboCommand.cs b/KfChatDotNetBot/Commands/Kasino/LimboCommand.cs index f9f88b0..749d132 100644 --- a/KfChatDotNetBot/Commands/Kasino/LimboCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/LimboCommand.cs @@ -15,12 +15,8 @@ namespace KfChatDotNetBot.Commands.Kasino; public class LimboCommand : ICommand { public List Patterns => [ - new Regex(@"^limbo (?\d+) (?\d+\.\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^limbo (?\d+\.\d+) (?\d+\.\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^limbo (?\d+\.\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^limbo (?\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^limbo (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^limbo (?\d+\.\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^limbo (?\d+(?:\.\d+)?) (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), + new Regex(@"^limbo (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), new Regex("^limbo") ]; public string? HelpText => "!limbo "; diff --git a/KfChatDotNetBot/Commands/Kasino/MinesCommand.cs b/KfChatDotNetBot/Commands/Kasino/MinesCommand.cs index a7d3005..5ccc357 100644 --- a/KfChatDotNetBot/Commands/Kasino/MinesCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/MinesCommand.cs @@ -13,10 +13,8 @@ public class MinesCommand : ICommand { public List Patterns => [ //attempting to start a game below here - new Regex(@"^mines (?\d+\.\d+) (?\d+) (?\d+) (?\d+)(? cashout|)$", RegexOptions.IgnoreCase), - new Regex(@"^mines (?\d+) (?\d+) (?\d+) (?\d+)(? cashout|)$", RegexOptions.IgnoreCase), - new Regex(@"^mines (?\d+\.\d+) (?\d+) (?\d+) (?.+)(? cashout|)$", RegexOptions.IgnoreCase), - new Regex(@"^mines (?\d+) (?\d+) (?\d+) (?.+)(? cashout|)$", RegexOptions.IgnoreCase), + new Regex(@"^mines (?\d+(?:\.\d+)?) (?\d+) (?\d+) (?\d+)(? cashout|)$", RegexOptions.IgnoreCase), + new Regex(@"^mines (?\d+(?:\.\d+)?) (?\d+) (?\d+) (?.+)(? cashout|)$", RegexOptions.IgnoreCase), //attempting to continue a game below here new Regex(@"^mines (?\d+)(? cashout|)$", RegexOptions.IgnoreCase), new Regex(@"^mines (?.+)(? cashout|)$", RegexOptions.IgnoreCase), diff --git a/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs b/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs index 4ee70a9..af2174e 100644 --- a/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs @@ -16,8 +16,7 @@ namespace KfChatDotNetBot.Commands.Kasino; public class Planes : ICommand { public List Patterns => [ - new Regex(@"^planes (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^planes (?\d+\.\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^planes (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), new Regex("^planes$") ]; public string? HelpText => "!planes "; diff --git a/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs b/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs index a9b883f..dae9790 100644 --- a/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs @@ -14,10 +14,8 @@ namespace KfChatDotNetBot.Commands.Kasino; public class PlinkoCommand : ICommand { public List Patterns => [ - new Regex(@"^plinko (?\d+\.\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^plinko (?\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^plinko (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^plinko (?\d+\.\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^plinko (?\d+(?:\.\d+)?) (?\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^plinko (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), new Regex("^plinko") ]; public string? HelpText => "!plinko "; diff --git a/KfChatDotNetBot/Commands/Kasino/RainCommand.cs b/KfChatDotNetBot/Commands/Kasino/RainCommand.cs index cf1f5cf..7301640 100644 --- a/KfChatDotNetBot/Commands/Kasino/RainCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/RainCommand.cs @@ -11,8 +11,7 @@ namespace KfChatDotNetBot.Commands.Kasino; public class RainCommand : ICommand { public List Patterns => [ - new Regex(@"^rain (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^rain (?\d+\.\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^rain (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), new Regex(@"^rain", RegexOptions.IgnoreCase) ]; diff --git a/KfChatDotNetBot/Commands/Kasino/SlotsCommand.cs b/KfChatDotNetBot/Commands/Kasino/SlotsCommand.cs index e0db556..08f60ba 100644 --- a/KfChatDotNetBot/Commands/Kasino/SlotsCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/SlotsCommand.cs @@ -23,15 +23,11 @@ namespace KfChatDotNetBot.Commands.Kasino; public class SlotsCommand : ICommand { public List Patterns => [ - new Regex(@"^slots (?\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^slots (?\d+\.\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^slots (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^slots (?\d+\.\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^slots (?\d+(?:\.\d+)?) (?\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^slots (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), new Regex("^slots$", RegexOptions.IgnoreCase), - new Regex(@"^sluts (?\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^sluts (?\d+\.\d+) (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^sluts (?\d+)$", RegexOptions.IgnoreCase), - new Regex(@"^sluts (?\d+\.\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^sluts (?\d+(?:\.\d+)?) (?\d+)$", RegexOptions.IgnoreCase), + new Regex(@"^sluts (?\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase), new Regex("^sluts", RegexOptions.IgnoreCase) ]; @@ -59,7 +55,7 @@ public class SlotsCommand : ICommand { var gameDisabledCleanupDelay= TimeSpan.FromMilliseconds(settings[BuiltIn.Keys.KasinoGameDisabledMessageCleanupDelay].ToType()); await botInstance.SendChatMessageAsync( - $"{user.FormatUsername()}, planes is currently disabled.", + $"{user.FormatUsername()}, slots is currently disabled.", true, autoDeleteAfter: gameDisabledCleanupDelay); return; } @@ -100,7 +96,7 @@ public class SlotsCommand : ICommand } char rigged = '0'; - int rigCheck = Money.GetRandomNumber(gambler, 0, 1, 1); + decimal rigCheck = (decimal)Money.GetRandomDouble(gambler); if (HOUSE_EDGE > 1) { if (HOUSE_EDGE - rigCheck > 1) rigged = 'W'; @@ -659,7 +655,7 @@ public class SlotsCommand : ICommand { //check both diagonals above for 1 space, and one space behind while (_preboard[row - 1, col - 1] == _preboard[row, col] || - _preboard[row + 1, col + 1] == _preboard[row, col] || + _preboard[row - 1, col + 1] == _preboard[row, col] || _preboard[row, col - 1] == _preboard[row, col]) { r = _rand.NextDouble() * 97.01;