51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Immutable;
|
|
using Dalamud.Game.Text;
|
|
using LLib.GameData;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Model;
|
|
|
|
internal interface IQuestInfo
|
|
{
|
|
ElementId QuestId { get; }
|
|
|
|
string Name { get; }
|
|
|
|
uint IssuerDataId { get; }
|
|
|
|
bool IsRepeatable { get; }
|
|
|
|
bool IsSeasonalQuest => false;
|
|
|
|
DateTime? SeasonalQuestExpiry => null;
|
|
|
|
ImmutableList<PreviousQuestInfo> PreviousQuests { get; }
|
|
|
|
EQuestJoin PreviousQuestJoin { get; }
|
|
|
|
ushort Level { get; }
|
|
|
|
EAlliedSociety AlliedSociety { get; }
|
|
|
|
uint? JournalGenre { get; }
|
|
|
|
ushort SortKey { get; }
|
|
|
|
bool IsMainScenarioQuest { get; }
|
|
|
|
IReadOnlyList<EClassJob> ClassJobs { get; }
|
|
|
|
EExpansionVersion Expansion { get; }
|
|
|
|
string SimplifiedName => Name.Replace(".", "", StringComparison.Ordinal).Replace("*", "", StringComparison.Ordinal).Replace("\"", "", StringComparison.Ordinal)
|
|
.Replace("/", "", StringComparison.Ordinal)
|
|
.Replace("\\", "", StringComparison.Ordinal)
|
|
.Replace("<", "", StringComparison.Ordinal)
|
|
.Replace(">", "", StringComparison.Ordinal)
|
|
.Replace("|", "", StringComparison.Ordinal)
|
|
.Replace(":", "", StringComparison.Ordinal)
|
|
.Replace("?", "", StringComparison.Ordinal)
|
|
.TrimStart(SeIconChar.QuestSync.ToIconChar(), SeIconChar.QuestRepeatable.ToIconChar(), ' ');
|
|
}
|