From 27e281adc49c8e95e2d4eaced3d6475e49ef23d1 Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 7 Feb 2025 01:28:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B4=BB=E5=8A=A8=E5=92=8C?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E4=B8=AD=E5=BF=83=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OshimaServers/AnonymousServer.cs | 80 +++++++++++-------- OshimaServers/Service/FunGameService.cs | 5 +- OshimaWebAPI/Controllers/FunGameController.cs | 5 +- 3 files changed, 51 insertions(+), 39 deletions(-) diff --git a/OshimaServers/AnonymousServer.cs b/OshimaServers/AnonymousServer.cs index 6f8dd4c..6cbc90e 100644 --- a/OshimaServers/AnonymousServer.cs +++ b/OshimaServers/AnonymousServer.cs @@ -144,50 +144,60 @@ namespace Oshima.FunGame.OshimaServers }, true); TaskScheduler.Shared.AddTask("刷新每日任务", new TimeSpan(4, 0, 0), () => { - string directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/quests"; - if (Directory.Exists(directoryPath)) + // 刷新每日任务 + Task.Run(() => { - string[] filePaths = Directory.GetFiles(directoryPath); - foreach (string filePath in filePaths) + string directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/quests"; + if (Directory.Exists(directoryPath)) { - string fileName = Path.GetFileNameWithoutExtension(filePath); - EntityModuleConfig quests = new("quests", fileName); - quests.Clear(); - FunGameService.CheckQuestList(quests); - quests.SaveConfig(); + string[] filePaths = Directory.GetFiles(directoryPath); + foreach (string filePath in filePaths) + { + string fileName = Path.GetFileNameWithoutExtension(filePath); + EntityModuleConfig quests = new("quests", fileName); + quests.Clear(); + FunGameService.CheckQuestList(quests); + quests.SaveConfig(); + } + Controller.WriteLine("刷新每日任务"); } - Controller.WriteLine("刷新每日任务"); - } - // 刷新签到 - directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/saved"; - if (Directory.Exists(directoryPath)) + }); + Task.Run(() => { - string[] filePaths = Directory.GetFiles(directoryPath); - foreach (string filePath in filePaths) + // 刷新签到 + string directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/saved"; + if (Directory.Exists(directoryPath)) { - string fileName = Path.GetFileNameWithoutExtension(filePath); - PluginConfig pc = new("saved", fileName); - pc.LoadConfig(); - pc.Add("signed", false); - pc.SaveConfig(); + string[] filePaths = Directory.GetFiles(directoryPath); + foreach (string filePath in filePaths) + { + string fileName = Path.GetFileNameWithoutExtension(filePath); + PluginConfig pc = new("saved", fileName); + pc.LoadConfig(); + pc.Add("signed", false); + pc.SaveConfig(); + } + Controller.WriteLine("刷新签到"); } - Controller.WriteLine("刷新签到"); - } - // 刷新商店 - directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/stores"; - if (Directory.Exists(directoryPath)) + }); + Task.Run(() => { - string[] filePaths = Directory.GetFiles(directoryPath); - foreach (string filePath in filePaths) + // 刷新商店 + string directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/stores"; + if (Directory.Exists(directoryPath)) { - string fileName = Path.GetFileNameWithoutExtension(filePath); - EntityModuleConfig store = new("stores", fileName); - store.Clear(); - FunGameService.CheckDailyStore(store); - store.SaveConfig(); + string[] filePaths = Directory.GetFiles(directoryPath); + foreach (string filePath in filePaths) + { + string fileName = Path.GetFileNameWithoutExtension(filePath); + EntityModuleConfig store = new("stores", fileName); + store.Clear(); + FunGameService.CheckDailyStore(store); + store.SaveConfig(); + } + Controller.WriteLine("刷新签到"); } - Controller.WriteLine("刷新签到"); - } + }); }); TaskScheduler.Shared.AddRecurringTask("刷新boss", TimeSpan.FromHours(1), () => { diff --git a/OshimaServers/Service/FunGameService.cs b/OshimaServers/Service/FunGameService.cs index c41c7fa..2c1eb22 100644 --- a/OshimaServers/Service/FunGameService.cs +++ b/OshimaServers/Service/FunGameService.cs @@ -1148,7 +1148,7 @@ namespace Oshima.FunGame.OshimaServers.Service magic.Guid = magicCard.Guid; msg = $"此魔法卡的技能已经添加到未满三个魔法的卡包上。\r\n"; } - return $"魔法【{magic.Name}】在此魔法卡包中不存在或是已经升至满级!"; + else return $"魔法【{magic.Name}】在此魔法卡包中不存在或是已经升至满级!"; } string containMagics = magicCardPack.Description.Split("增加角色属性")[0]; magicCardPack.Description = $"包含魔法:{string.Join(",", magicCardPack.Skills.Magics.Select(m => m.Name + (m.Level > 1 ? $" +{m.Level - 1}" : "")))}\r\n" + magicCardPack.Description.Replace(containMagics, ""); @@ -1567,7 +1567,8 @@ namespace Oshima.FunGame.OshimaServers.Service CreditsAward = maxProgress * 80, MaterialsAward = maxProgress / 2 * 1, Awards = items, - AwardsCount = itemsCount + AwardsCount = itemsCount, + Status = QuestState.InProgress }; } diff --git a/OshimaWebAPI/Controllers/FunGameController.cs b/OshimaWebAPI/Controllers/FunGameController.cs index dbf097c..8c56183 100644 --- a/OshimaWebAPI/Controllers/FunGameController.cs +++ b/OshimaWebAPI/Controllers/FunGameController.cs @@ -3846,9 +3846,10 @@ namespace Oshima.FunGame.WebAPI.Controllers quests.LoadConfig(); if (quests.Count > 0 && quests.Values.FirstOrDefault(q => q.Id == questid) is Quest quest) { - if (quest.Status == QuestState.InProgress) + IEnumerable workingQuests = quests.Values.Where(q => q.QuestType != QuestType.Progressive && q.Status == QuestState.InProgress); + if (workingQuests.Any()) { - msgs.Add($"你正在进行任务【{quest.Name}】,无法开始新任务!\r\n{quest}"); + msgs.Add($"你正在进行任务【{string.Join(",【", workingQuests.Select(q => q.Name))}】,无法开始新任务!\r\n{quest}"); } else if (quest.Status == QuestState.Completed) {