Esempio n. 1
0
        public async Task GenerateNewDailyTasks(PopeAIDB Context, ulong Memberid)
        {
            string[] types = new string[] { "Messages", "Hourly Claims", "Gamble Games Played", "Dice Games Played" };

            List <DailyTask> toadd = new List <DailyTask>();

            for (int i = 0; i < 3; i++)
            {
                DailyTask task     = new DailyTask();
                string    tasktype = types[rnd.Next(0, types.Count())];
                while (toadd.Any(x => x.TaskType == tasktype))
                {
                    tasktype = types[rnd.Next(0, types.Count())];
                }
                task.TaskType = tasktype;
                int id = rnd.Next(0, int.MaxValue);
                while (await Context.DailyTasks.AnyAsync(x => x.Id == (ulong)id))
                {
                    id = rnd.Next(0, int.MaxValue);
                }
                task.Id             = (ulong)id;
                task.LastDayUpdated = DateTime.UtcNow;
                task.MemberId       = Memberid;
                switch (tasktype)
                {
                case "Messages":
                    double[] goals = new double[] { 10, 15, 20, 25, 30, 35, 40, 45, 50 };
                    task.Goal = goals[rnd.Next(0, goals.Count())];
                    task.Done = 0;
                    double[] rewards = new double[] { 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300 };
                    task.Reward = rewards[rnd.Next(0, rewards.Count())];
                    break;

                case "Hourly Claims":
                    goals       = new double[] { 3, 4, 5 };
                    task.Goal   = goals[rnd.Next(0, goals.Count())];
                    task.Done   = 0;
                    rewards     = new double[] { 50, 75, 100, 125, 150, 175, 200, 225, 250 };
                    task.Reward = rewards[rnd.Next(0, rewards.Count())];
                    break;

                case "Gamble Games Played":
                    goals       = new double[] { 5, 6, 7, 8, 9, 10 };
                    task.Goal   = goals[rnd.Next(0, goals.Count())];
                    task.Done   = 0;
                    rewards     = new double[] { 50, 75, 100, 125, 150, 175, 200 };
                    task.Reward = rewards[rnd.Next(0, rewards.Count())];
                    break;

                case "Dice Games Played":
                    goals       = new double[] { 5, 6, 7, 8, 9, 10 };
                    task.Goal   = goals[rnd.Next(0, goals.Count())];
                    task.Done   = 0;
                    rewards     = new double[] { 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300 };
                    task.Reward = rewards[rnd.Next(0, rewards.Count())];
                    break;
                }
                toadd.Add(task);
                await Context.AddAsync(task);
            }
        }