Journal: Using Quest Flags in Dialogue
Overview
Quest flags can be used to update a quest via an in-game dialogue.
Quest flags allow you to update quests easily without scripting. These flags are automatically generated from the journal data, and are automatically available in the Dialogue Editor as a new flag category. They are not found in the flag LSX file and cannot be used in scripts.
Each quest step (see Steps) will automatically get an associated quest flag. Dialogues can then use these flags to check if players have unlocked certain updates by checking if a flag is set. The dialogue can also give out updates by setting a quest flag.
Setting a Quest Flag
Quest flags are set in the Dialogue Editor, which can be opened via the speech bubble icon on the Editor's main toolbar. To set a quest flag, click on a dialogue node (line of dialogue) in the Dialogue Editor to open its unique Properties panel, which contains all the flag settings of that node.
Things to note when setting a quest flag on a dialogue node:
- Quest flags should be set on
GROUP_Players(the player characters). - In the Dialogue Editor flag overview, quest flags are sorted by objective (see Objectives) priority. Quest flags with the same priority are sorted alphabetically. This means that, in general, quest flags will be sorted chronologically (start => middle => end).
Don’t Check Quest Flags
As a rule of thumb, don't check quest flags. Instead, check the situation’s flags (global, party, user, and character flags).
You’ll feel like you have some duplicate flags, but your structure will be easier to iterate on. Quest flags are not flexible. A journal entry is bound to a string and an objective that have a very specific design purpose and you can’t iterate quickly on this.
A situation and a quest rarely follow the same flow. Several situations may be grouped into the same quest in the journal. A situation may have several solutions or starting points that are not all needed in the journal.
