mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 17:28:27 -04:00
Added betroll bettest, fixed a bug which caused betroll to have very low payout
This commit is contained in:
@@ -25,20 +25,6 @@ public class NadekoRandom : Random
|
|||||||
_rng.GetBytes(bytes);
|
_rng.GetBytes(bytes);
|
||||||
return Math.Abs(BitConverter.ToInt32(bytes, 0)) % maxValue;
|
return Math.Abs(BitConverter.ToInt32(bytes, 0)) % maxValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte Next(byte minValue, byte maxValue)
|
|
||||||
{
|
|
||||||
if (minValue > maxValue)
|
|
||||||
throw new ArgumentOutOfRangeException(nameof(maxValue));
|
|
||||||
|
|
||||||
if (minValue == maxValue)
|
|
||||||
return minValue;
|
|
||||||
|
|
||||||
var bytes = new byte[1];
|
|
||||||
_rng.GetBytes(bytes);
|
|
||||||
|
|
||||||
return (byte)((bytes[0] % (maxValue - minValue)) + minValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override int Next(int minValue, int maxValue)
|
public override int Next(int minValue, int maxValue)
|
||||||
{
|
{
|
||||||
|
@@ -12,7 +12,7 @@ public sealed class BetflipGame
|
|||||||
|
|
||||||
public BetflipResult Flip(byte guess, decimal amount)
|
public BetflipResult Flip(byte guess, decimal amount)
|
||||||
{
|
{
|
||||||
var side = _rng.Next(0, 2);
|
var side = (byte)_rng.Next(0, 2);
|
||||||
if (side == guess)
|
if (side == guess)
|
||||||
{
|
{
|
||||||
return new BetflipResult()
|
return new BetflipResult()
|
||||||
|
@@ -13,7 +13,7 @@ public sealed class BetrollGame
|
|||||||
|
|
||||||
public BetrollResult Roll(decimal amount = 0)
|
public BetrollResult Roll(decimal amount = 0)
|
||||||
{
|
{
|
||||||
var roll = _rng.Next(0, 101);
|
var roll = _rng.Next(1, 101);
|
||||||
|
|
||||||
for (var i = 0; i < _thresholdPairs.Length; i++)
|
for (var i = 0; i < _thresholdPairs.Length; i++)
|
||||||
{
|
{
|
||||||
|
@@ -8,9 +8,9 @@ public class SlotGame
|
|||||||
{
|
{
|
||||||
var rolls = new[]
|
var rolls = new[]
|
||||||
{
|
{
|
||||||
_rng.Next(0, 6),
|
(byte)_rng.Next(0, 6),
|
||||||
_rng.Next(0, 6),
|
(byte)_rng.Next(0, 6),
|
||||||
_rng.Next(0, 6)
|
(byte)_rng.Next(0, 6)
|
||||||
};
|
};
|
||||||
|
|
||||||
ref var a = ref rolls[0];
|
ref var a = ref rolls[0];
|
||||||
|
@@ -875,11 +875,12 @@ public partial class Gambling : GamblingModule<GamblingService>
|
|||||||
public enum GambleTestTarget
|
public enum GambleTestTarget
|
||||||
{
|
{
|
||||||
Slot,
|
Slot,
|
||||||
|
Betroll,
|
||||||
|
Betflip,
|
||||||
|
BetflipT,
|
||||||
BetDraw,
|
BetDraw,
|
||||||
BetDrawHL,
|
BetDrawHL,
|
||||||
BetDrawRB,
|
BetDrawRB,
|
||||||
Betflip,
|
|
||||||
BetflipT,
|
|
||||||
Lula,
|
Lula,
|
||||||
Rps,
|
Rps,
|
||||||
}
|
}
|
||||||
@@ -920,6 +921,7 @@ public partial class Gambling : GamblingModule<GamblingService>
|
|||||||
GambleTestTarget.BetflipT => (await _gs.BetFlipAsync(ctx.User.Id, 0, 1)).AsT0.Multiplier,
|
GambleTestTarget.BetflipT => (await _gs.BetFlipAsync(ctx.User.Id, 0, 1)).AsT0.Multiplier,
|
||||||
GambleTestTarget.Lula => (await _gs.LulaAsync(ctx.User.Id, 0)).AsT0.Multiplier,
|
GambleTestTarget.Lula => (await _gs.LulaAsync(ctx.User.Id, 0)).AsT0.Multiplier,
|
||||||
GambleTestTarget.Rps => (await _gs.RpsAsync(ctx.User.Id, 0, (byte)(i % 3))).AsT0.Multiplier,
|
GambleTestTarget.Rps => (await _gs.RpsAsync(ctx.User.Id, 0, (byte)(i % 3))).AsT0.Multiplier,
|
||||||
|
GambleTestTarget.Betroll => (await _gs.BetRollAsync(ctx.User.Id, 0)).AsT0.Multiplier,
|
||||||
_ => throw new ArgumentOutOfRangeException(nameof(target))
|
_ => throw new ArgumentOutOfRangeException(nameof(target))
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user