BoardQuests¶
BoardQuests are split in 3 TextAssets in the game loaded on boot:
- By LoadEssentials:
Ressources/data/QuestChecks
- By SetVariables:
Ressources/data/BoardDataBoardQuestsfrom 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