public static UserPlayRecord Create(int osuId, Mode mode, int playNumber, UserRecent userRecent)
 {
     return(new UserPlayRecord
     {
         UserId = osuId,
         Mode = mode,
         PlayNumber = playNumber,
         Record = userRecent,
     });
 }
Beispiel #2
0
        private static Embed CreateSinglePlayEmbed(User user, UserRecent score, Beatmap beatmap)
        {
            var          oppaiBeatmap = GetOppaiBeatmapFromUrl(GetBeatmapApiUrlFromBeatmap(beatmap));
            var          mods         = (OppaiSharp.Mods)score.Mods;
            var          diffCalc     = new OppaiSharp.DiffCalc().Calc(oppaiBeatmap, mods);
            var          playPP       = new OppaiSharp.PPv2(new OppaiSharp.PPv2Parameters(oppaiBeatmap, diffCalc, score.Count100, score.Count50, score.Miss, score.MaxCombo.Value, score.Count300, mods));
            var          fcPP         = new OppaiSharp.PPv2(new OppaiSharp.PPv2Parameters(oppaiBeatmap, diffCalc, score.Count100, 0, c300: score.Count300 + score.Miss, mods: mods));
            EmbedBuilder embed        = new EmbedBuilder()
            {
                Author = new EmbedAuthorBuilder()
                {
                    Name    = user.Username,
                    Url     = GetUserpageFromUserId(user.Userid),
                    IconUrl = GetAvatarUrlFromUserId(user.Userid)
                },
                Title        = $"{beatmap.Artist} - {beatmap.Title} [{beatmap.Difficulty}] +{score.Mods} [{beatmap.DifficultyRating:F2}⚝]",
                Url          = GetBeatmapUrlFromBeatmap(beatmap),
                ThumbnailUrl = beatmap.ThumbnailUrl,
                Color        = Color.Purple,
                Description  = $"◉ **{score.Rank} Rank** ◉ **{playPP.Total:F2}PP** ({fcPP.Total:F2} for {fcPP.ComputedAccuracy.Value() * 100:F2}% FC) ◉ {score.Accuracy:F2}% ◉ {score.ScorePoints} ◉ x{score.MaxCombo}/{beatmap.MaxCombo} ◉ [{score.Count300}/{score.Count100}/{score.Count50}/{score.Miss}]"
            };

            return(embed);
        }