neon-sprawl/server/NeonSprawl.Server/Game/Quests/QuestDefRow.cs

24 lines
828 B
C#

namespace NeonSprawl.Server.Game.Quests;
/// <summary>Load-time quest row (NEO-113, NEO-134).</summary>
public sealed class QuestDefRow(
string id,
string displayName,
IReadOnlyList<string> prerequisiteQuestIds,
IReadOnlyList<QuestStepDefRow> steps,
QuestRewardBundleRow? completionRewardBundle = null,
IReadOnlyList<FactionGateRuleRow>? factionGateRules = null)
{
public string Id { get; } = id;
public string DisplayName { get; } = displayName;
public IReadOnlyList<string> PrerequisiteQuestIds { get; } = prerequisiteQuestIds;
public IReadOnlyList<QuestStepDefRow> Steps { get; } = steps;
public QuestRewardBundleRow? CompletionRewardBundle { get; } = completionRewardBundle;
public IReadOnlyList<FactionGateRuleRow> FactionGateRules { get; } = factionGateRules ?? [];
}