QuestProduct.bquestpack
This resource is found in TitleBG.pack.
Its canonical resource path is "Quest/QuestProduct.bquestpack".
QuestProduct is the configuration file for the quest manager.
Contrary to what its file extension would suggest, it is not a SARC archive, but a standard BYML file. Like all other files with "product" in their name, QuestProduct is a machine generated file with many redundant structures which is not meant to be edited directly.
Contents
The root structure is an array; each element is a dictionary that corresponds to a quest.
Key | Type | Description |
---|---|---|
Location | str | |
Name | str | Quest name |
NotPostNote | bool | |
Orderer | str | Actor name of the quest giver |
QuestDependencyFlag | str | Name of Flag |
QuestDependencyFlagType | str | Type of Flag |
StepDependencyFlags | array | |
Steps | array (#Step structure) | Steps |
Type | str | Quest type. Valid values:
|
Step structure
Key | Type | Description |
---|---|---|
Actors | array (#Actor structure) | Quest-related AISchedule overrides when this step is active |
AttentionOff | bool | |
IndicatorActors | array (#Indicator actor structure) | Yellow quest markers on the map |
MessageName | str | Message name of the quest description in the UI |
Name | str | Step name |
NextFlag | str | Name of the flag that causes the quest to advance to this step [check] |
UpdateStep | bool |
Indicator actor structure
Key | Type | Description |
---|---|---|
HasFar | bool | Whether a Far version of the actor exists [check] |
InstanceName | str | [Optional] Unique name of the actor [check] |
Location | dict (X: float, Y: float, Z: float) | Position of the actor |
Name | str | Actor name |
OffFlag | str | [Optional] ? |
Actor structure
Not to be confused with event flow timelines.
Key | Type | Description |
---|---|---|
DefaultTimeline | See ActorParam/AISchedule | |
ConditionalTimelines | See ActorParam/AISchedule | |
DisplayDistanceMode | See ActorParam/AISchedule | |
DisableClipping | bool | |
Name | str | Name of the actor to which this AISchedule override will be bound |
UniqueName | str | [Optional] Unique name of the actor to which this AISchedule override will be bound |
Example
Example ("Find_Impa" quest):
- Location: HopesPlateau
Name: Find_Impa
NotPostNote: false
Orderer: Dm_Npc_Hyrule_KingSoul
StepDependencyFlags: []
Steps:
- {AttentionOff: false, MessageName: Desc, Name: Ready, NextFlag: Find_Impa_Activated,
UpdateStep: true}
- Actors:
- <ACTOR_STRUCTURE_1>
- <ACTOR_STRUCTURE_2>
- ...
AttentionOff: false
IndicatorActors:
- HasFar: false
InstanceName: ''
Location: {X: 1772.7099609375, Y: 0.0, Z: 984.3099975585938}
Name: Npc_Kakariko001
OffFlag: ''
MessageName: Finish
Name: Finish
NextFlag: Find_Impa_Finish
UpdateStep: true
- ...
Type: Main