mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-04-30 03:22:04 -04:00
@@ -14,13 +14,11 @@ namespace KfChatDotNetBot.Commands.Kasino;
|
||||
public class KenoCommand : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
new Regex(@"^keno (?<difficulty>classic|low|medium|high) (?<amount>\d+) (?<numbers>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<difficulty>classic|low|medium|high) (?<amount>\d+\.\d+) (?<numbers>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<amount>\d+) (?<numbers>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<amount>\d+\.\d+) (?<numbers>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex("^keno$")
|
||||
new Regex(@"^keno (?<difficulty>classic|low|medium|high) (?<amount>\d+(?:\.\d+)?) (?<numbers>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<difficulty>classic|low|medium|high) (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<amount>\d+(?:\.\d+)?) (?<numbers>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^keno (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex("^keno")
|
||||
];
|
||||
public string? HelpText => "!keno [bet amount] [numbers to pick(optional, default 10)]";
|
||||
public UserRight RequiredRight => UserRight.Loser;
|
||||
|
||||
@@ -15,12 +15,8 @@ namespace KfChatDotNetBot.Commands.Kasino;
|
||||
public class LimboCommand : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
new Regex(@"^limbo (?<amount>\d+) (?<number>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+\.\d+) (?<number>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+\.\d+) (?<number>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+) (?<number>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+(?:\.\d+)?) (?<number>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^limbo (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex("^limbo")
|
||||
];
|
||||
public string? HelpText => "!limbo <bet amount> <optional number, default 2>";
|
||||
|
||||
@@ -13,10 +13,8 @@ public class MinesCommand : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
//attempting to start a game below here
|
||||
new Regex(@"^mines (?<bet>\d+\.\d+) (?<size>\d+) (?<mines>\d+) (?<picks>\d+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^mines (?<bet>\d+) (?<size>\d+) (?<mines>\d+) (?<picks>\d+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^mines (?<bet>\d+\.\d+) (?<size>\d+) (?<mines>\d+) (?<betString>.+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^mines (?<bet>\d+) (?<size>\d+) (?<mines>\d+) (?<betString>.+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^mines (?<bet>\d+(?:\.\d+)?) (?<size>\d+) (?<mines>\d+) (?<picks>\d+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^mines (?<bet>\d+(?:\.\d+)?) (?<size>\d+) (?<mines>\d+) (?<betString>.+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
//attempting to continue a game below here
|
||||
new Regex(@"^mines (?<picks>\d+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^mines (?<betString>.+)(?<cashout> cashout|)$", RegexOptions.IgnoreCase),
|
||||
|
||||
@@ -16,8 +16,7 @@ namespace KfChatDotNetBot.Commands.Kasino;
|
||||
public class Planes : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
new Regex(@"^planes (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^planes (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^planes (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex("^planes$")
|
||||
];
|
||||
public string? HelpText => "!planes <bet amount>";
|
||||
|
||||
@@ -14,10 +14,8 @@ namespace KfChatDotNetBot.Commands.Kasino;
|
||||
public class PlinkoCommand : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
new Regex(@"^plinko (?<amount>\d+\.\d+) (?<number>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^plinko (?<amount>\d+) (?<number>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^plinko (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^plinko (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^plinko (?<amount>\d+(?:\.\d+)?) (?<number>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^plinko (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex("^plinko")
|
||||
];
|
||||
public string? HelpText => "!plinko <bet amount> <optional number of balls 1 - 10, default 1 if nothing entered>";
|
||||
|
||||
@@ -11,8 +11,7 @@ namespace KfChatDotNetBot.Commands.Kasino;
|
||||
public class RainCommand : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
new Regex(@"^rain (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^rain (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^rain (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^rain", RegexOptions.IgnoreCase)
|
||||
];
|
||||
|
||||
|
||||
@@ -23,15 +23,11 @@ namespace KfChatDotNetBot.Commands.Kasino;
|
||||
public class SlotsCommand : ICommand
|
||||
{
|
||||
public List<Regex> Patterns => [
|
||||
new Regex(@"^slots (?<amount>\d+) (?<spins>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^slots (?<amount>\d+\.\d+) (?<spins>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^slots (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^slots (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^slots (?<amount>\d+(?:\.\d+)?) (?<spins>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^slots (?<amount>\d+(?:\.\d+)?)$", RegexOptions.IgnoreCase),
|
||||
new Regex("^slots$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^sluts (?<amount>\d+) (?<spins>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^sluts (?<amount>\d+\.\d+) (?<spins>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^sluts (?<amount>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^sluts (?<amount>\d+\.\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^sluts (?<amount>\d+(?:\.\d+)?) (?<spins>\d+)$", RegexOptions.IgnoreCase),
|
||||
new Regex(@"^sluts (?<amount>\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<int>());
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user