From f6a80a0b22aebe9a1780cff74296775a74b9f38b Mon Sep 17 00:00:00 2001 From: Awbugl Date: Mon, 18 Jul 2022 22:10:27 +0800 Subject: [PATCH] Update Code --- Andreal.Core/Executor/ArcExecutor.cs | 39 ++++++++++++++++--------- Andreal.Core/Model/Arcaea/ArcaeaSong.cs | 7 ++++- Andreal.Core/Utils/ArcaeaHelper.cs | 3 ++ 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/Andreal.Core/Executor/ArcExecutor.cs b/Andreal.Core/Executor/ArcExecutor.cs index a9cf46c..b9e405a 100644 --- a/Andreal.Core/Executor/ArcExecutor.cs +++ b/Andreal.Core/Executor/ArcExecutor.cs @@ -246,6 +246,32 @@ private async Task Const() if (!ArcaeaHelper.SongInfoParser(Command, out var song, out _, out var errMessage)) return errMessage; + if (song.SongID is "last" or "lasteternity") + { + var lastsong = ArcaeaCharts.QueryByID("last"); + var lasteternitysong = ArcaeaCharts.QueryByID("lasteternity"); + var msg = new MessageChain(); + + for (var i = 0; i < lastsong.Count; i++) + if (i == 2 || lastsong[i].JacketOverride) + msg.Append(ImageMessage.FromPath(await Path.ArcaeaSong(lastsong[i]))); + + msg.Append(ImageMessage.FromPath(await Path.ArcaeaSong(lasteternitysong[3]))); + + msg.Append(lastsong.NameWithPackage); + + foreach (var t in lastsong) + { + msg.Append("\n" + t.ConstString); + if(t.AudioOverride) msg.Append($" ({t.NameEn})"); + } + + msg.Append(lasteternitysong[3].ConstString); + msg.Append($" ({lasteternitysong[3].NameEn})"); + + return msg; + } + return await song.FullConstString(); } @@ -316,19 +342,6 @@ private async Task FloorOrCeil(bool isFloor) return await new ArcRecord5ImageGenerator(b30data, isFloor).Generate(); } - private static double CalcSongConst(string scores, double rating) - { - var score = Convert.ToDouble(scores); - return score switch - { - >= 10000000 => rating - 2, - >= 9800000 => rating - 1 - (score - 9800000) / 200000, - _ => rating > 0 - ? rating - (score - 9500000) / 300000 - : 0.0 - }; - } - private async Task Recent() { var data = await ArcaeaUnlimitedApi.UserInfo(User!.ArcCode); diff --git a/Andreal.Core/Model/Arcaea/ArcaeaSong.cs b/Andreal.Core/Model/Arcaea/ArcaeaSong.cs index 02012ef..9a24144 100644 --- a/Andreal.Core/Model/Arcaea/ArcaeaSong.cs +++ b/Andreal.Core/Model/Arcaea/ArcaeaSong.cs @@ -24,7 +24,12 @@ internal async Task FullConstString() if (i == 2 || this[i].JacketOverride) msg.Append(ImageMessage.FromPath(await Path.ArcaeaSong(this[i]))); msg.Append(NameWithPackage); - for (var i = 0; i < Count; i++) msg.Append("\n" + this[i].ConstString); + + for (var i = 0; i < Count; i++) + { + msg.Append("\n" + this[i].ConstString); + if(this[i].AudioOverride) msg.Append($" ({this[i].NameEn})"); + } return msg; } diff --git a/Andreal.Core/Utils/ArcaeaHelper.cs b/Andreal.Core/Utils/ArcaeaHelper.cs index 0c0e0a2..843b197 100644 --- a/Andreal.Core/Utils/ArcaeaHelper.cs +++ b/Andreal.Core/Utils/ArcaeaHelper.cs @@ -57,6 +57,9 @@ internal static bool SongInfoParser(IEnumerable command, out ArcaeaSong } song = result[0]; + + if (song.SongID == "lasteternity") dif = 3; + return true; } }