Table of Contents

Interface IQuestObjectives

Namespace
SkyrimForge
Assembly
SkyrimForge.dll

The objectives of an IRuntimeQuest.

public interface IQuestObjectives

Remarks

Call members on the game's thread with a game loaded.

Methods

Complete(QuestObjective)

Marks objective completed, replacing a failure.

void Complete(QuestObjective objective)

Parameters

objective QuestObjective

Exceptions

ArgumentNullException

objective is null.

ArgumentException

No stage of the quest completes, fails, or displays objective.

InvalidOperationException

The quest has not displayed objective.

Display(QuestObjective)

Displays objective in the journal with its set or declared text and its markers, as a stage that displays it does, starting the quest where it has displayed none.

void Display(QuestObjective objective)

Parameters

objective QuestObjective

Remarks

Displaying an objective again leaves it completed or failed where it was.

Exceptions

ArgumentNullException

objective is null.

ArgumentException

No stage of the quest completes, fails, or displays objective.

InvalidOperationException

The objective has no text declared or set.

Fail(QuestObjective)

Marks objective failed, replacing a completion.

void Fail(QuestObjective objective)

Parameters

objective QuestObjective

Exceptions

ArgumentNullException

objective is null.

ArgumentException

No stage of the quest completes, fails, or displays objective.

InvalidOperationException

The quest has not displayed objective.

SetTargetReferences<TReference>(QuestObjective, params IEnumerable<FormId<TReference>>)

Sets the references objective's markers point at besides the aliases it targets, replacing those set before. An empty list removes them.

void SetTargetReferences<TReference>(QuestObjective objective, params IEnumerable<FormId<TReference>> referenceIds) where TReference : struct, IObjectReference

Parameters

objective QuestObjective
referenceIds IEnumerable<FormId<TReference>>

Type Parameters

TReference

Remarks

The references are saved with the quest's progress. A displayed objective shows the markers at once, and one displayed later shows them then. The markers point at the references while the objective is neither completed nor failed, and the compass and the map show them while the quest is the active quest. A reference the loaded game does not have shows no marker, and the log names it.

Exceptions

ArgumentNullException

objective or referenceIds is null.

ArgumentException

No stage of the quest completes, fails, or displays objective.

SetText(QuestObjective, string)

Sets the text objective displays, replacing its declared text.

void SetText(QuestObjective objective, string text)

Parameters

objective QuestObjective
text string

Remarks

The text is saved with the quest's progress, and a stage that displays the objective later displays that text.

Exceptions

ArgumentNullException

objective or text is null.

ArgumentException

No stage of the quest completes, fails, or displays objective.