public async Task GamblingGames(SocketReaction reaction, IUserMessage msg) { switch (data) { case "Tavern": { string s = reaction.Emote.ToString(); int i = EUI.Dice(s); if (i > -1) { switch (i) { case 1: await GamblingCommands.DiceGame_EvenOdd(player, reaction.Channel); break; } } else { i = EUI.GetNum(s); string[] games = { "Blackjack", }; if (i > games.Length) { return; } await GamblingGame.SelectInitialBet(player, reaction.Channel, games[i]); break; } } break; } }
private async Task CardBet(Player player, int amount) { string[] d = player.ui.data.Split(';'); if (d.Length < 2) { return; } await GamblingGame.SelectInitialBet(player, Context.Channel, d[0], amount); }
private static void InitO_Gambling() { OptionsLoad.Add(MsgType.GamblingGames, ui => { ui.options = new List <string>(); switch (ui.data) { case "Tavern": ui.options.Add(EUI.Dice(1)); ui.options.Add(EUI.GetNum(0)); break; } }); OptionsLoad.Add(MsgType.DiceGame, ui => ui.options = new List <string>() { EUI.prev, EUI.Dice(1), EUI.Dice(2), EUI.next, EUI.two, EUI.five, EUI.zero, EUI.cancel }); OptionsLoad.Add(MsgType.GameBet, ui => ui.options = new List <string>() { EUI.prev, EUI.next, EUI.two, EUI.five, EUI.zero, EUI.ok, }); OptionsLoad.Add(MsgType.CardGame, ui => { Type type = GamblingGame.GetGameType(ui.data); Dictionary <string, string> actions = Utils.GetVar <Dictionary <string, string> >(type, "Actions", true); ui.options = new List <string>(actions.Keys); }); }
public async Task GameBet(SocketReaction reaction, IUserMessage _) { //"{name};{bet amount};{has agreed}" string[] d = data.Split(';'); int bet = int.Parse(d[1]); switch (reaction.Emote.ToString()) { case EUI.prev: bet -= 10; break; case EUI.next: bet += 10; break; case EUI.two: bet *= 2; break; case EUI.five: bet *= 5; break; case EUI.zero: bet *= 10; break; case EUI.ok: if (player.IsSolo) { await GamblingGame.Initialise( player, d[0], bet, reaction.Channel); return; } bool accepted = false; if (d.Length == 3) { bool.TryParse(d[2], out accepted); } await GamblingGame.ConfirmInitialBet( player, d[0], bet, accepted, reaction.Channel); return; } await GamblingGame.SelectInitialBet(player, reaction.Channel, d[0], bet); }
public async Task CardGame(SocketReaction reaction, IUserMessage msg) { if (reaction.Emote.ToString() == EUI.cancel) { await QuitCardGame(reaction); return; } if (player.GamblingHand.turn != null) { await reaction.Channel.SendMessageAsync( $"You've already played your turn for this round: {player.GamblingHand.turn}"); return; } Type type = GamblingGame.GetGameType(data); Dictionary <string, string> actions = Utils.GetVar <Dictionary <string, string> >(type, "Actions", true); if (actions == null) { return; } actions.TryGetValue(reaction.Emote.ToString(), out string action); if (action != null) { IGamblingGame game = GamblingGame.CreateInstance(type, player); game.Action(action); player.GamblingHand.turn = action; player.GamblingHandKey.Save(); await game.EndTurn(); } }
public async Task CardGamesShortcut() { Context.WIPCheck(); await GamblingGame.SelectInitialBet(Context.Player, Context.Channel, "Blackjack"); }