添加活动和活动中心,添加单位,修改任务系统

This commit is contained in:
milimoe 2025-02-07 01:28:20 +08:00
parent d68a4c86ae
commit 27e281adc4
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
3 changed files with 51 additions and 39 deletions

View File

@ -144,50 +144,60 @@ namespace Oshima.FunGame.OshimaServers
}, true); }, true);
TaskScheduler.Shared.AddTask("刷新每日任务", new TimeSpan(4, 0, 0), () => 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); string directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/quests";
foreach (string filePath in filePaths) if (Directory.Exists(directoryPath))
{ {
string fileName = Path.GetFileNameWithoutExtension(filePath); string[] filePaths = Directory.GetFiles(directoryPath);
EntityModuleConfig<Quest> quests = new("quests", fileName); foreach (string filePath in filePaths)
quests.Clear(); {
FunGameService.CheckQuestList(quests); string fileName = Path.GetFileNameWithoutExtension(filePath);
quests.SaveConfig(); EntityModuleConfig<Quest> quests = new("quests", fileName);
quests.Clear();
FunGameService.CheckQuestList(quests);
quests.SaveConfig();
}
Controller.WriteLine("刷新每日任务");
} }
Controller.WriteLine("刷新每日任务"); });
} Task.Run(() =>
// 刷新签到
directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/saved";
if (Directory.Exists(directoryPath))
{ {
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); string[] filePaths = Directory.GetFiles(directoryPath);
PluginConfig pc = new("saved", fileName); foreach (string filePath in filePaths)
pc.LoadConfig(); {
pc.Add("signed", false); string fileName = Path.GetFileNameWithoutExtension(filePath);
pc.SaveConfig(); PluginConfig pc = new("saved", fileName);
pc.LoadConfig();
pc.Add("signed", false);
pc.SaveConfig();
}
Controller.WriteLine("刷新签到");
} }
Controller.WriteLine("刷新签到"); });
} Task.Run(() =>
// 刷新商店
directoryPath = $@"{AppDomain.CurrentDomain.BaseDirectory}configs/stores";
if (Directory.Exists(directoryPath))
{ {
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); string[] filePaths = Directory.GetFiles(directoryPath);
EntityModuleConfig<Store> store = new("stores", fileName); foreach (string filePath in filePaths)
store.Clear(); {
FunGameService.CheckDailyStore(store); string fileName = Path.GetFileNameWithoutExtension(filePath);
store.SaveConfig(); EntityModuleConfig<Store> store = new("stores", fileName);
store.Clear();
FunGameService.CheckDailyStore(store);
store.SaveConfig();
}
Controller.WriteLine("刷新签到");
} }
Controller.WriteLine("刷新签到"); });
}
}); });
TaskScheduler.Shared.AddRecurringTask("刷新boss", TimeSpan.FromHours(1), () => TaskScheduler.Shared.AddRecurringTask("刷新boss", TimeSpan.FromHours(1), () =>
{ {

View File

@ -1148,7 +1148,7 @@ namespace Oshima.FunGame.OshimaServers.Service
magic.Guid = magicCard.Guid; magic.Guid = magicCard.Guid;
msg = $"此魔法卡的技能已经添加到未满三个魔法的卡包上。\r\n"; msg = $"此魔法卡的技能已经添加到未满三个魔法的卡包上。\r\n";
} }
return $"魔法【{magic.Name}】在此魔法卡包中不存在或是已经升至满级!"; else return $"魔法【{magic.Name}】在此魔法卡包中不存在或是已经升至满级!";
} }
string containMagics = magicCardPack.Description.Split("增加角色属性")[0]; 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, ""); 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, CreditsAward = maxProgress * 80,
MaterialsAward = maxProgress / 2 * 1, MaterialsAward = maxProgress / 2 * 1,
Awards = items, Awards = items,
AwardsCount = itemsCount AwardsCount = itemsCount,
Status = QuestState.InProgress
}; };
} }

View File

@ -3846,9 +3846,10 @@ namespace Oshima.FunGame.WebAPI.Controllers
quests.LoadConfig(); quests.LoadConfig();
if (quests.Count > 0 && quests.Values.FirstOrDefault(q => q.Id == questid) is Quest quest) if (quests.Count > 0 && quests.Values.FirstOrDefault(q => q.Id == questid) is Quest quest)
{ {
if (quest.Status == QuestState.InProgress) IEnumerable<Quest> 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) else if (quest.Status == QuestState.Completed)
{ {