public async Task BuyPass()
        {
            try
            {
                var account = UserAccounts.GetAccount(Context.User, Context.Guild.Id);
                var cost    = 4000 * (account.OctoPass + 1);

                if (account.Points >= cost)
                {
                    await Context.Channel.SendMessageAsync(
                        $"Are you sure about buying pass #{account.OctoPass + 1} for {cost} Octo Points? Than write **yes**!");

                    var response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 6000);

                    if (response.Content == "yes" || response.Content == "Yes")
                    {
                        account.OctoPass += 1;
                        account.Points   -= cost;
                        UserAccounts.SaveAccounts(Context.Guild.Id);

                        await CommandHandeling.ReplyAsync(Context,
                                                          $"Booole! You've Got Access **#{account.OctoPass}**");
                    }
                    else
                    {
                        await CommandHandeling.ReplyAsync(Context,
                                                          "You should say `yes` или `Yes` in 6s to get the pass.");
                    }
                }
                else
                {
                    await Context.Channel.SendMessageAsync(
                        $"You did not earn enough Octo Points, current amount: **{account.Points}**\nFor pass #{account.OctoPass + 1} you will need **{cost}** Octo Points!");
                }
            }
            catch
            {
                // await ReplyAsync("boo... An error just appear >_< \nTry to use this command properly: **pass**\n Alias: Пасс, Пропуск, Доступ, КупитьПропуск, Купить Пропуск");
            }
        }
Beispiel #2
0
        public async Task GuessGame(ulong enter)
        {
            try
            {
                var amount = (int)enter;

                var userAccount  = UserAccounts.GetAccount(Context.User, Context.Guild.Id);
                var octoAcccount = UserAccounts.GetAccount(Context.Guild.CurrentUser, Context.Guild.Id);

                if (amount > userAccount.Points || amount <= 0)
                {
                    await CommandHandeling.ReplyAsync(Context,
                                                      "You do not have enough OktoPoints! Or you just entered something wrong.");

                    return;
                }


                var randSlot = new Random();
                var slots    = randSlot.Next(72);


                await CommandHandeling.ReplyAsync(Context,
                                                  $"Number of slots **{slots}**. What is your choice?");

                var response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 10000);

                var result = int.TryParse(response.Content, out _);
                if (result)
                {
                    var choise = Convert.ToInt32(response.Content);
                    var bank   = Math.Abs(amount * slots / 5);


                    var rand   = new Random();
                    var random = rand.Next(slots);

                    if (choise == random)
                    {
                        userAccount.Points += bank;
                        UserAccounts.SaveAccounts(Context.Guild.Id);

                        await CommandHandeling.ReplyAsync(Context,
                                                          $"You won **{bank}** OctoPoints!\nNow you have **{userAccount.Points}** OctoPoints!");

                        userAccount.Points += bank;
                        UserAccounts.SaveAccounts(Context.Guild.Id);
                    }
                    else
                    {
                        await CommandHandeling.ReplyAsync(Context,
                                                          $"booole. Yuor **{amount}** OctoPoints stayed with us. Btw, number was **{random}**");


                        userAccount.Points  -= amount;
                        octoAcccount.Points += amount;
                        UserAccounts.SaveAccounts(Context.Guild.Id);
                    }
                }
                else


                {
                    await CommandHandeling.ReplyAsync(Context,
                                                      $"The choice should be between 0 and {slots}, answer only with a number.");
                }
            }
            catch
            {
                //    await ReplyAsync(
                //        "boo... An error just appear >_< \nTry to use this command properly: **guess [rate_num]**(like cassino, ty it!)\n" +
                //        "Alias: Рулетка, угадайка");
            }
        }
Beispiel #3
0
        public async Task CreateOctopusFighter()
        {
            var account  = _accounts.GetAccount(Context.User);
            var response = "бу";

            if (account.OctoInfo != null)
            {
                await SendMessAsync(
                    "У тебя уже есть осьминожка! Если ты хочешь ПОЛНОСТЬЮ обновить информацию осьминожки напиши **да**");

                var res = await _awaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 6000);

                response = res.Content;
            }

            if (account.OctoInfo == null || response == "да")
            {
                account.OctoInfo = null;


                await SendMessAsync("Введи имя своего осьминожка, у тебя 1 минута.");

                var res = await _awaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 60000);

                account.OctoInfo += res.Content + "|";
                account.OctoName  = res.Content;

                await SendMessAsync("Введи цвет своего осьминожка, у тебя 1 минута.");

                res = await _awaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 60000);

                account.OctoInfo += res.Content + "|";


                await SendMessAsync("Введи характер своего осьминожка, у тебя 2 минуты.");

                res = await _awaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 120000);

                account.OctoInfo += res.Content + "|";

                await SendMessAsync("Введи Лор своего осьминожка, у тебя 2 минуты.");

                res = await _awaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 120000);

                account.OctoInfo += res.Content + "|";


                account.Strength            = 20;
                account.AttackPower_Stats   = 0;
                account.MagicPower_Stats    = 0;
                account.Agility_Stats       = 0;
                account.CriticalDamage      = 1.5;
                account.DodgeChance         = 0;
                account.PhysicalResistance  = 1;
                account.MagicalResistance   = 1;
                account.Health              = 100;
                account.Stamina             = 200;
                account.OctoLvL             = 1;
                account.PhysicalPenetration = 0;
                account.MagicalPenetration  = 0;

                _accounts.SaveAccounts(Context.User);
                await SendMessAsync("Готово! Ты создал или обновил информацию о своем осьминоге!");
            }
        }
        public async Task CreateSkill(ulong skillId)
        {
            var skill = SpellUserAccounts.GetAccount(skillId);

            if (skill.SpellName != null)
            {
                var embed1 = new EmbedBuilder();
                embed1.WithAuthor(Context.User);
                embed1.AddField("Этот скилл иди уже существует",
                                $"{skill.SpellName}\nID: {skill.SpellId}\nTree: {skill.SpellTree}\nRU: {skill.SpellDescriptionRu}\nEN: {skill.SpellDescriptionEn}\nFormula: {skill.SpellFormula}\nCD: {skill.SpellCd}\n" +
                                "Если хочешь полностью его изменить, напиши **да** (1 минута)");
                await ReplyAsync("", false, embed1.Build());

                var res = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 60000);

                if (res.Content == "да")
                {
                    await ReplyAsync($"Ты изхменяешь скилл {skill.SpellName}");
                }
                else
                {
                    await ReplyAsync($"никкаких апдейтов. (ты сказал {res.Content})");

                    return;
                }
            }

            await Context.Channel.SendMessageAsync("Введи Назваие скилла, у тебя 5 минута.");

            var response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.SpellName = response.ToString();

            var embed = new EmbedBuilder();

            embed.AddField("Введи Номер дерева скилла, у тебя 5 минута", "1 - AD\n2 - DEF\n3 - AGI\n4 - AP");

            await CommandHandeling.ReplyAsync(Context, embed);


            response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.SpellTree = Convert.ToInt32(response.ToString());

            await Context.Channel.SendMessageAsync(
                "Введи Русское описание скилла (либо просто **нету**), у тебя 5 минут.");

            response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.SpellDescriptionRu = response.ToString();

            await Context.Channel.SendMessageAsync(
                "Введи Английское описание скилла (либо просто **нету**), у тебя 5 минут.");

            response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.SpellDescriptionEn = response.ToString();

            var embedAc = new EmbedBuilder();

            embedAc.AddField("Введи Активка или Пассивка, у тебя 5 минута", "0 - Пассив\n1 - Актив");
            await Context.Channel.SendMessageAsync("", false, embedAc.Build());

            response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.ActiveOrPassive = Convert.ToInt32(response.ToString());

            /*
             * await Context.Channel.SendMessageAsync("Введи Формулу описание скилла, у тебя 5 минут.");
             * response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000 );
             * skill.SpellFormula = response.ToString();
             */
            var embedCd = new EmbedBuilder();

            embedCd.AddField("Введи КД скилла, у тебя 5 минут",
                             "1)Если есть - в ходах\n2)Если КД = 1 раз в игру, пиши 9999\n3)Если КД нету вообще, пиши 0");
            await Context.Channel.SendMessageAsync("", false, embedCd.Build());

            response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.SpellCd = Convert.ToInt32(response.ToString());

            await Context.Channel.SendMessageAsync("Тип урона (AD or AP), у тебя 5 минут.");

            response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000);

            skill.SpellDmgType = response.ToString();

            /*
             * await Context.Channel.SendMessageAsync("Введи Пойзен (прокает он хит), у тебя 5 минут.");
             * response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000 );
             * skill.Poisen = response.ToString();
             *
             * await Context.Channel.SendMessageAsync("Введи ОнХит, у тебя 5 минут.");
             * response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000 );
             * skill.Onhit = response.ToString();
             *
             * await Context.Channel.SendMessageAsync("Введи Бафф, у тебя 5 минут.");
             * response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000 );
             * skill.Buff = response.ToString();
             *
             * await Context.Channel.SendMessageAsync("Введи ДЕбафф, у тебя 5 минут.");
             * response = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 300000 );
             * skill.DeBuff = response.ToString();
             */
            SpellUserAccounts.SaveAccounts();
            await ReplyAsync("Готово!");
        }
        public async Task CreateOctopusFighter()
        {
            var account  = GameUserAccounts.GetAccount(Context.User);
            var response = "бу";


            if (account.OctopusFighterInfo != null)
            {
                await ReplyAsync(
                    "У тебя уже есть осьминожка! Если ты хочешь ПОЛНОСТЬЮ обновить информацию осьминожки напиши **да**");

                var res = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 6000);

                response = res.Content;
            }

            if (account.OctopusFighterInfo == null || response == "да")
            {
                account.OctopusFighterInfo = null;


                await Context.Channel.SendMessageAsync("Введи имя своего осьминожка, у тебя 1 минута.");

                var res = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 60000);

                account.OctopusFighterInfo += res.Content + "|";
                account.OctopusFighterName  = res.Content;

                await Context.Channel.SendMessageAsync("Введи цвет своего осьминожка, у тебя 1 минута.");

                res = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 60000);

                account.OctopusFighterInfo += res.Content + "|";


                await Context.Channel.SendMessageAsync("Введи характер своего осьминожка, у тебя 2 минуты.");

                res = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 120000);

                account.OctopusFighterInfo += res.Content + "|";

                await Context.Channel.SendMessageAsync("Введи Лор своего осьминожка, у тебя 2 минуты.");

                res = await AwaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 120000);

                account.OctopusFighterInfo += res.Content + "|";


                account.OctopusFighterStrength    = 20;
                account.OctopusFighterAd          = 0;
                account.OctopusFighterAp          = 0;
                account.OctopusFighterAgility     = 0;
                account.OctopusFighterCritDmg     = 1.5;
                account.OctopusFighterDodge       = 0;
                account.OctopusFighterArmor       = 1;
                account.OctopusFighterMagicResist = 1;
                account.OctopusFighterHealth      = 100;
                account.OctopusFighterStamina     = 200;
                account.OctopusFighterLvl         = 1;
                account.OctopusFighterArmPen      = 0;
                account.OctopusFighterMagPen      = 0;

                GameUserAccounts.SaveAccounts();
                await Context.Channel.SendMessageAsync("Готово! Ты создал или обновил информацию о своем осьминоге!");
            }
        }
Beispiel #6
0
        public async Task GuessGame(ulong enter)
        {
            var amount = (int)enter;

            var userAccount  = _accounts.GetAccount(Context.User);
            var octoAcccount = _accounts.GetAccount(Context.Guild.CurrentUser);

            if (amount > userAccount.Points || amount <= 0)
            {
                await SendMessAsync(
                    "You do not have enough OktoPoints! Or you just entered something wrong.");

                return;
            }


            var randSlot = new Random();
            var slots    = randSlot.Next(72);


            await SendMessAsync(
                $"Number of slots **{slots}**. What is your choice?");

            var response = await _awaitForUserMessage.AwaitMessage(Context.User.Id, Context.Channel.Id, 10000);

            var result = int.TryParse(response.Content, out _);

            if (result)
            {
                var choise = Convert.ToInt32(response.Content);
                var bank   = Math.Abs(amount * slots / 5);


                var rand   = new Random();
                var random = rand.Next(slots);

                if (choise == random)
                {
                    userAccount.Points += bank;


                    await SendMessAsync(
                        $"You won **{bank}** OctoPoints!\nNow you have **{userAccount.Points}** OctoPoints!");

                    userAccount.Points += bank;
                }
                else
                {
                    await SendMessAsync(
                        $"booole. Yuor **{amount}** OctoPoints stayed with us. Btw, number was **{random}**");


                    userAccount.Points  -= amount;
                    octoAcccount.Points += amount;
                }
            }
            else


            {
                await SendMessAsync(
                    $"The choice should be between 0 and {slots}, answer only with a number.");
            }
        }