Skip to content

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