Пример #1
0
        public async Task Gauntlet(CommandContext ctx)
        {
            var interactivity = ctx.Client.GetInteractivity();

            embed = new DiscordEmbedBuilder();
            var MoveToDotCommands = new MoveToDotCommands();
            var user = Bot.PlayerDatabase.GetPlayerByID(Convert.ToInt64(ctx.Member.Id));

            if (GeneralFunctions.ValidatePlayer(ctx, user, true))
            {
                Item userKey   = null;
                var  totalKeys = 0;
                foreach (var item in user.Inventory)
                {
                    if (item.ID == 113)
                    {
                        userKey   = item;
                        totalKeys = item.Multiple;
                        break;
                    }
                }
                PuzzleStatus      = true;
                embed.Title       = "Gauntlet List";
                embed.Description = "Choose a gauntlet by responding with the gauntlet name or number";
                embed.AddField("1. Novice Gauntlet", "5 Puzzles Total\n4x Connectx\n1x Minesweeper\n\nReward: 12 Uncommon Crates");
                embed.AddField("2. Expert Gauntlet", "7 Puzzles Total\n5x Connectx\n1x Minesweeper\n1x Word Scrambler\n\nReward: 6 Epic Crates");
                embed.WithFooter($"{user.Name}'s total keys {totalKeys}");
                var message = await ctx.Channel.SendMessageAsync(embed : embed);

                var response = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author == ctx.Member, TimeSpan.FromSeconds(120));

                if (response.TimedOut)
                {
                }
                else if (userKey == null)
                {
                    await message.DeleteAsync();

                    embed.ClearFields();
                    embed.Title       = "Unable to access gauntlet";
                    embed.Description = "You have no gauntlet key.";
                    embed.WithFooter(" ");
                }
                else if (response.Result.Content.ToLower() == "novice gauntlet" || response.Result.Content.ToLower() == "1")
                {
                    GeneralFunctions.RemoveFromInventory(user, userKey, 1);
                    await message.DeleteAsync();
                    await NoviceGauntlet(ctx, user);
                }
                else if (response.Result.Content.ToLower() == "expert gauntlet" || response.Result.Content.ToLower() == "2")
                {
                    GeneralFunctions.RemoveFromInventory(user, userKey, 1);
                    await message.DeleteAsync();
                    await ExpertGauntlet(ctx, user);
                }
                else
                {
                }
            }
            await ctx.Channel.SendMessageAsync(embed : embed);
        }
Пример #2
0
 private async Task GauntletConnectx(CommandContext ctx, Player user, DotDifficulty difficulty, int stage)
 {
     MoveToDotCommands connectx = new MoveToDotCommands();
     await connectx.DotPuzzle(ctx, user, true, difficulty, stage);
 }