API
Interface
public interface IQuestsPlugin
{
// Quest lifecycle
void AcceptQuest(SparkEntity actor, QuestEntry quest);
void AbandonQuest(SparkEntity actor, string questId);
void UpdateObjective(SparkEntity actor, string questId,
int objectiveIndex, int progressDelta);
void CompleteQuest(SparkEntity actor, string questId);
void TurnInQuest(SparkEntity actor, string questId);
// Reward selection
void SelectReward(SparkEntity actor, string questId, int rewardIndex);
void DeselectReward(SparkEntity actor, string questId, int rewardIndex);
// Tracking
void TrackQuest(string questId);
void UntrackQuest(string questId);
List<string> GetTrackedQuestIds();
bool IsQuestTracked(string questId);
// State queries
bool CanAcceptQuest(SparkEntity actor, QuestEntry quest);
bool IsQuestActive(SparkEntity actor, string questId);
bool IsQuestCompleted(SparkEntity actor, string questId);
// Progress data
QuestProgressSaveData GetQuestProgress(SparkEntity actor, string questId);
List<QuestProgressSaveData> GetActiveQuests(SparkEntity actor);
List<QuestProgressSaveData> GetQuestHistory(SparkEntity actor);
}QuestEntry
Field
Type
Description
QuestObjective
Field
Type
Description
QuestReward
Field
Type
Description
QuestProgressSaveData
Field
Type
Description
QuestObjectiveProgress
Field
Type
Description
Events
Event
Description
Commands
Command
Fields
Description
Components
QuestTrackerEntity
Save Data
Usage
Last updated
Was this helpful?
