mirror of
				https://gitlab.com/Kwoth/nadekobot.git
				synced 2025-11-03 16:24:27 -05:00 
			
		
		
		
	Added betroll bettest, fixed a bug which caused betroll to have very low payout
This commit is contained in:
		@@ -26,20 +26,6 @@ public class NadekoRandom : Random
 | 
				
			|||||||
        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)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if (minValue > maxValue)
 | 
					        if (minValue > 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