// WingsEmu // // Developed by NosWings Team using System; using System.Collections.Generic; using System.Threading.Tasks; using WingsEmu.DTOs.Quests; namespace WingsEmu.Game.Quests; public interface IQuestManager { Task InitializeAsync(); QuestDto GetQuestById(int questId); IReadOnlyCollection GetScriptsTutorialByType(TutorialActionType type); IReadOnlyCollection GetScriptsTutorialByScriptId(int scriptId); IReadOnlyCollection GetScriptsTutorial(); IReadOnlyCollection GetScriptsTutorialUntilIndex(int scriptId, int scriptIndex); IReadOnlyCollection GetQuestlines(int questId); TutorialDto GetQuestPayScriptByQuestId(int questId); TutorialDto GetScriptTutorialById(int scriptId); TutorialDto GetScriptTutorialByIndex(int scriptId, int index); TutorialDto GetFirstScriptFromIdByType(int scriptId, TutorialActionType type); QuestNpcDto GetQuestNpcByScriptId(int scriptId); IReadOnlyCollection GetNpcBlueAlertQuests(); QuestNpcDto GetNpcBlueAlertQuestByQuestId(int questId); Task CanRefreshDailyQuests(long characterId); Task TryTakeDailyQuest(Guid masterAccId, int questPackId); Task TryTakeDailyQuest(long characterId, int questPackId); List GetQuestByName(string name); bool IsNpcBlueAlertQuest(int questId); }