internal Quest AcceptQuest(int i, Cycle c)
        {
            DailyQuest q     = (c == Cycle.Daily ? dailies : weeklies)[i];
            Quest      quest = q.quest;

            q.quest = null;
            q.next  = DateTime.UtcNow.AddDays((int)c);
            Save();
            return(quest);
        }
        internal (bool, string) LoadQuest(Player player, int i, Cycle time)
        {
            DailyQuest quest = (time == Cycle.Daily ? dailies : weeklies)[i];

            if (quest.level > player.level)
            {
                return(false, $"[Unlock at level {quest.level}]");
            }

            if (quest.next > DateTime.UtcNow)
            {
                return(false, $"[{Timers.CoolDownToString(quest.next)}]");
            }

            if (quest.quest == null)
            {
                quest.quest = Quest.Random(time == Cycle.Daily ? 1 : 2);
                Save();
            }

            return(player.quests.Count < Quest.MaxQuests, $" **__{quest.quest.title}__** {Environment.NewLine} {quest.quest.description}");
        }