QuestProduct.bquestpack

From ZeldaMods (Breath of the Wild)
Revision as of 12:54, 7 September 2019 by imported>Leoetlino (→‎Contents)
Jump to navigation Jump to search

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
StepDependencyFlags array
Steps array (#Step structure) Steps
Type str Quest type. Valid values:
  • Main: Main quest
  • Sub: Shrine quest
  • Mini: Side quest

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