Example #1
0
        private static Embed CreateMultiplePlayEmbed(User user, IList <UserBestBeatmap> pairs)
        {
            EmbedBuilder embed = new EmbedBuilder()
            {
                Author = new EmbedAuthorBuilder()
                {
                    Name    = user.Username,
                    Url     = GetUserpageFromUserId(user.Userid),
                    IconUrl = GetAvatarUrlFromUserId(user.Userid)
                },
                ThumbnailUrl = GetAvatarUrlFromUserId(user.Userid),
                Color        = Color.Purple
            };
            var i = 1;

            foreach (var pair in pairs)
            {
                var score        = pair.UserBest;
                var beatmap      = pair.Beatmap;
                var oppaiBeatmap = GetOppaiBeatmapFromUrl(GetBeatmapApiUrlFromBeatmap(beatmap));
                var mods         = (OppaiSharp.Mods)score.Mods;
                var diffCalc     = new OppaiSharp.DiffCalc().Calc(oppaiBeatmap, mods);
                var fcPP         = new OppaiSharp.PPv2(new OppaiSharp.PPv2Parameters(oppaiBeatmap, diffCalc, score.Count100, 0, c300: score.Count300 + score.Miss, mods: mods));
                AddScoreFieldToEmbed(embed, i, beatmap, mods, score.Rank, score.Pp, fcPP.Total, fcPP.ComputedAccuracy.Value() * 100d, score.Accuracy, score.MaxCombo.GetValueOrDefault(), beatmap.MaxCombo.GetValueOrDefault(), score.Count300, score.Count100, score.Count50, score.Miss);
                i++;
            }
            return(embed);
        }
Example #2
0
        private static Embed CreateSinglePlayEmbed(User user, UserBest score, Beatmap beatmap)
        {
            var          oppaiBeatmap = GetOppaiBeatmapFromUrl(GetBeatmapApiUrlFromBeatmap(beatmap));
            var          mods         = (OppaiSharp.Mods)score.Mods;
            var          diffCalc     = new OppaiSharp.DiffCalc().Calc(oppaiBeatmap, 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** ◉ **{score.Pp: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);
        }