QuestProduct.bquestpack: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
imported>Leoetlino
Line 24: Line 24:
| Type || str || Quest type. Valid values:
| Type || str || Quest type. Valid values:
* Main: Main quest
* Main: Main quest
* Sub: Side quest
* Sub: Shrine quest
* Mini: Minigame system quest (used for minigame implementations internally; totally hidden from the UI)
* Mini: Side quest
|}
|}


=== Step structure ===
{|class="wikitable"
! 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}} (needs UpdateStep to be set to true{{check}})
|-
| UpdateStep || bool ||
|}
=== Actor structure ===
''Not to be confused with event flow timelines.''
<source lang="yaml">
- DefaultTimeline: ...
  ConditionalTimelines: ...
  DisableClipping: true
  DisplayDistanceMode: None
  Name: Npc_MiniGame_Crosscountry # Name of the actor
  UniqueName: ''
</source>
For DefaultTimeline, ConditionalTimelines, DisplayDistanceMode and some other properties, see [[ActorParam/AISchedule]].
=== Example ===
Example ("Find_Impa" quest):
Example ("Find_Impa" quest):
<source lang="yaml">
<source lang="yaml">
Line 45: Line 79:
         - ...
         - ...
       AttentionOff: false
       AttentionOff: false
       IndicatorActors: # Yellow quest markers on the map
       IndicatorActors:
         - HasFar: false
         - HasFar: false
           InstanceName: ''
           InstanceName: ''
Line 59: Line 93:
   Type: Main
   Type: Main
</source>
</source>
=== Actor structure ===
''Not to be confused with event flow timelines.''
<source lang="yaml">
- DefaultTimeline: ...
  ConditionalTimelines: ...
  DisableClipping: true
  DisplayDistanceMode: None
  Name: Npc_MiniGame_Crosscountry # Name of the actor
  UniqueName: ''
</source>
For DefaultTimeline, ConditionalTimelines, DisplayDistanceMode and some other properties, see [[ActorParam/AISchedule]].


[[Category: Content (BotW)]]
[[Category: Content (BotW)]]
[[Category: Content (BotW, product)]]
[[Category: Content (BotW, product)]]

Revision as of 12:35, 7 September 2019

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 of steps 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] (needs UpdateStep to be set to true[check])
UpdateStep bool

Actor structure

Not to be confused with event flow timelines.

- DefaultTimeline: ...
  ConditionalTimelines: ...
  DisableClipping: true
  DisplayDistanceMode: None
  Name: Npc_MiniGame_Crosscountry # Name of the actor
  UniqueName: ''

For DefaultTimeline, ConditionalTimelines, DisplayDistanceMode and some other properties, see ActorParam/AISchedule.

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