Djinni Wiki

NOTE: This article is incomplete. Much work is still left to be done. QST format is the file format used for quests within The Witcher.

QST File[]

QST files are based on BioWare's Generic File Format (GFF), and it is assumed that the reader of this article is familiar with GFF.

Main Structure[]

The main structure (the one with Type = -1) has the following format

Field nameField TypeField Description
QuestLocNameCExoLocStringQuest name as it appears in the list
QuestLocDescrip CExoLocString?*)
QuestLocShortDes CExoLocString?*)
QuestFailedLocSh CExoLocString?*)
PrimaryBYTEIs 1 if is a part of the plot
MotherDBCExoString? Seems to be unused
MainPhaselist of QuestPhase structuresMain (initial?) phase of the quest, always contain exactly one item

Notes: *) I suppose that this is the text that you see when you get (or fail) a quest.

QuestPhase structure[]

Field nameField TypeField Description
NameCExoStringInternal quest name
OnCompletedCExoStringScript to execute, refers to ncs file
OnFailedCExoStringScript to execute, refers to ncs file
WaypointTagCExoStringInternal name of map POI to highlight for the stage
LocNameCExoLocStringName of the quest
LocPhaseNameCExoLocStringPhase name
LocDescriptionCExoLocStringPhase description (long, shown in white in quests window)
LocShortDescriptCExoLocStringPhase summary (short, shown in yellow in quests window)
FailedLocDesc CExoLocStringFailure description (long, shown in white in quests window)
FailedLocShortDe CExoLocStringFailure summary (short, shown in yellow in quests window)
Phaseslist of QuestPhase structuresOther quest phases and sub-quests
Conditionslist of Condition structuresSome conditions**)
PhaseActionslist of Action structuresActions to perform when moving onto this phase

**) This field is a double-purpose one.

The first purpose is to choose which branch of multi-branch phase to choose. "Branching" is not only decision-based, it also allows the game to show different text depending on quest progress - like number of sephirots left to be placed in the corresponding quest.

The second purpose is to check weather the player has advanced to next quest phase.

Overall condition for the phase is done by joining single conditions in this list with (supposedly) "AND" predicate.

Condition structure[]

Field nameField TypeField Description
TypeINTType of condition
Parameterslist of Parameter structures
ParameterIsProgrlist of ParameterIsProgr structures?

Condition types[]

TypeDescriptionParameter P1 meaning
0Flag valueFlag name
2Act numberAct number
4Something to do with quest stages?
7Destroyed Count monsters "MonsterName"MonsterName#Count
8Has at least Count of items ItemItem#Count
10Drunk potion?Potion name
12Has journal entry tagged "Tag" (after dialog DialogName)DialogName@Tag


  1. Learning sign (Aard at least) is equal to drinking a potion!
  2. DialogName is a name of DLG file.

Action structure[]

Field nameField TypeField Description
IdINTAction type
Paramslist of Parameter structuresParameters

Action types[]

TypeDescriptionParameter #1 meaningParameter #2 meaning
305442690Gain XPXP amountNot used
305442691Get itemItem nameGiver name
305442692Give itemItem nameTo whom
305442694?MST file nameNot used
305442695Execute a scriptNCS file nameNot used
305442696Spawn or move NPCNPC namelocation
305442697Gain moneyAmountFrom whom
305442699Set flagFlag nameFlag value

Parameter structure[]

Field nameField TypeField Description
P1CExoStringParameter name

ParameterIsProgr structure[]

Field nameField TypeField Description
P1BYTEParameter name
MarkedAsTrueBYTE? (Optional)