BoardQuests¶
BoardQuests are split in 3 TextAssets in the game loaded on boot:
- By LoadEssentials:
Ressources/data/QuestChecks
- By SetVariables:
Ressources/data/BoardData
BoardQuests
from the corresponding dialogue directory of the current languageid
QuestChecks
data¶
The asset contains one line per BoardQuests whose id corresponds to the line index. Each line contains one a @
separated list of one field per element:
Name | Type | Description |
---|---|---|
Prerequisite | int | > 0: a required flags slot for the quest to be true |
--- | --- | = 0: No prerequisite if it's the first element, having seen Areas 0 (Bugaria Outskirt) otherwise |
--- | --- | \< 0: A required Areas id to have been seen |
The data will be loaded into questchecks[id, x]
where id
is the BoardQuests id and x
is the index of each elements of the list starting from 0.
It should be noted that a prerequisite of 0 is only supported as it being the only element to indicate there are no prerequisite. Everything after will be ignored as the first element being 0 takes priority.
CheckQuests¶
The method that enforces questchecks
is MainManager.CheckQuests. It is mostly called by MapControl's Start meaning this is rechecked on every map load.
What happens in this method is all questchecks
are checked to see if there's any that corresponds to a quest that isn't in any boardquests
(meaning not open, taken or done), but satisfies all its prerequesites. Each found quest is added to boardquests[0]
which is the open quests. It's essentially what updates quests that CAN be taken, but weren't in the open board yet.
BoardData
data¶
The asset contains one line per BoardQuests whose id corresponds to the line index. Each line contains fields separated by @
:
Loaded index | Name | Type | Description |
---|---|---|---|
3 | Taken flags | int | The flags slot telling if the quest was taken |
4 | Icon | int | Index of the sprite in Sprites/Items/EnemyPortraits to render using the Quest Board List Type |
5 | Difficulty | int | The amount of stars to render as a difficulty indicator using the Quest Board List Type |
The data will be loaded into boardquestdata[id, x]
where id
is the BoardQuests id and x
is the loaded index.
BoardQuests
data¶
The asset contains one line per BoardQuests whose id corresponds to the line index. Each line contains fields separated by @
:
Loaded index | Name | Type | Description |
---|---|---|---|
0 | Name | SetText string | The name of the quest |
1 | Description | SetText string | The description of the quest |
2 | Sender | SetText string | The name of the sender of the quest |
The data will be loaded into boardquestdata[id, x]
where id
is the BoardQuests id and x
is the loaded index