コード例 #1
0
            public async Task IncomingPlayerElvenTreatingRequest()
            {
                if (CharactersData.GetCharacterWoodworkingSkill(Context.User.Id) >= 35)
                {
                    //Checking commands
                    if (CharactersData.GetCharacterElvenWood(Context.User.Id) < 5)
                    {
                        TreatingEmbed.WithColor(Color.Blue);
                        TreatingEmbed.AddField("<:Plank:607523563410554880>```You don't have enought elven wood to treat it!```", $"```You need {5 - CharactersData.GetCharacterElvenWood(Context.User.Id)} more units of elven wood```");
                        await Context.Channel.SendMessageAsync("", false, TreatingEmbed.Build());

                        return;
                    }
                    //Execution of command
                    TreatingEmbed.WithColor(Color.Blue);
                    int TotalPlanksToGive = 0, TotalWoodToTook = 0, ChanceToGetBonusPlanks, TreatedPlanksToGive;
                    for (int i = CharactersData.GetCharacterElvenWood(Context.User.Id); i >= 5; i -= 5)
                    {
                        ChanceToGetBonusPlanks = random.Next(0, 10);
                        if (ChanceToGetBonusPlanks > (7 - CharactersData.GetCharacterWoodworkingSkill(Context.User.Id) / 24))
                        {
                            TreatedPlanksToGive = random.Next(2, 3);
                        }
                        else
                        {
                            TreatedPlanksToGive = 1;
                        }
                        TotalPlanksToGive += TreatedPlanksToGive;
                        TotalWoodToTook   += 5;
                    }
                    TreatingEmbed.AddField("<:Plank:607523563410554880>```Success!```", $"```You have received {TotalPlanksToGive} units of treated elven wood!```");
                    await Context.Channel.SendMessageAsync("", false, TreatingEmbed.Build());

                    //Save data
                    await CharactersData.SaveCharacterThreatedElvenWood(Context.User.Id, TotalPlanksToGive, 0.3f / CharactersData.GetCharacterWoodworkingSkill(Context.User.Id), TotalWoodToTook);;
                    return;
                }
                else
                {
                    TreatingEmbed.WithColor(Color.Blue);
                    TreatingEmbed.AddField($"<:Plank:607523563410554880>```Treating skill comes with time, {CharactersData.GetCharacterName(Context.User.Id)}```",
                                           "```Required level of skill is: [35]\n" +
                                           $"Your current skill level is: [{CharactersData.GetCharacterWoodworkingSkill(Context.User.Id)}]```");
                    await Context.Channel.SendMessageAsync("", false, TreatingEmbed.Build());

                    return;
                }
            }