FANDOM


The quest in our adventure will be fairly simple. It will involve killing the bandit leader but it will comprise three phases - a Quest Beginning (which will start the quest), an executive quest (in which Geralt (the player) will have to be the bandit leader), and a Quest Completed (in which the quest will be finished). To start a new quest select NewQuest File (.qst) from the file menu:


Quest1


A new quest window will open:


Quest2


Each quest has two default phases - a Quest Beginning


Quest3


and a quest completed


Quest4


Additionally, information about NPCs, dialogs and items involved in the quest is displayed:


Quest5


The quest is displayed in a form of a horizontal diagram. However, you can change it into a vertical diagram. To do this, right-click on the new quest window and select Vertical view from the menu:


Quest6


Now the quest will be displayed in a form of a vertical diagram:


Quest7


To return to a horizontal diagram simply right-click on the new quest window again and select Horizontal view from the menu:


Quest8


The way the diagram is displayed is simply a matter of preference. To continue creating our quest, we need a Properties window in which quest attributes will be displayed. If the Properties window is not open, select Utility Windows → Properties from the View menu:


Quest9


An empty Properties window will open on the right side of the screen:


Quest10


Geralt will obtain this quest if he selects the “Done” node during his conversation with Siegfried. Since that is the start of the quest, we need to select the conversation node and create a condition to receive the quest. Select Quest Beginning and then right-click:


Quest11


Select Add Starting Condition → Dialog Line Chosen from the menu:


Quest12


A new starting condition has appeared in the Quest Beginning:


Quest13


If there were two or more nodes in the conversation which would begin this quest, we could add a different condition. To do this, select a previously added condition in the Quest Beginning and right-click:


Quest14


Select Add ‘or’ Condition from the menu:


Quest15


This creates a Quest Beginning with two possible starting conditions:


Quest16


We can also add another starting condition for the quest. Select Quest Beginning and right-click. Then choose Add Starting Condition → Game Phase Is == from the menu:


Quest17


This way the Quest Beginning has three starting conditions:


Quest18


However, only two of them are required to start the quest. Why? Because the second Dialog Line Chosen condition is an ‘or’ type, which means that only one of the two must be fulfilled. Our quest only requires one condition be fulfilled in order to start the quest, however, so we don’t need the other two. Right-click on the field next to the Game Phase Is == condition:


Quest19


Select Delete ‘or’ Condition from the menu:


Quest20


This deletes the third condition:


Quest21


Follow the same steps in the case of the second Dialog Line Chosen condition. Right-click on the lower field of the Dialog Line Chosen condition:


Quest22


Select Delete ‘or’ Condition from the menu again. The second condition will be deleted:


Quest23


Now we need to assign the appropriate conversation node to the Dialog Line Chosen starting condition. Left-click on the field next to the Dialog Line Chosen condition:


Quest24


The Select window will open:


Quest25


This window contains all the quest conversations in the Data\Dialogues folder which contain a quest node with a quest id. The conversations are displayed in the form of a tree. Our siegfried_conversation conversation is located in the list. To select the appropriate conversation node, expand the siegfried_conversation branch by clicking on the small ‘+’ sign next to the name of the conversation:


Quest26


Then double-click on the Zrobi się (Siegfried_Zlecenie ) node:


Quest27


The “Done” conversation node will be assigned to the Dialog Line Chosen condition:


Quest28


Dialog Line Chosen conditions may be progressive (conditions that end a particular quest phase) and non-progressive (conditions that do not end a particular quest phase). To make the Dialog Line Chosen condition A non-progressive condition, select the small box next to the assigned conversation node:


Quest29


If a player makes the conversation node non-progressive, the quest will remain unchanged and this conversation node will be available during the next conversation with the character. This is the best option in situations where you want the player to accept a quest from a character but also have a chance to ask about details before its completion.

Important: If we create a quest conversation but do not assign a conversation node to any quest, the conversation will never be displayed. Next we have to set the attributes of the Quest Beginning. Left-click on Quest Beginning:


Quest30


Let’s take a look at the Properties window on the right side of the screen. There is the list of Quest Beginning attributes:


Quest31


Quest Section:

- Quest Localized Name. Contains the name of the quest. To insert a text, click the right-hand column opposite the Quest Localized Name attribute. A small window will open:


Quest32


Write Orders and hit ENTER. It is also possible to select a language option. Select from the list:


Quest33


The name Orders will appear on the quest list in Geralt’s journal:


Quest34


- Phase Localized Name. Contains the name of the quest phase. To insert a text, click the right-hand column opposite the Phase Localized Name attribute and write Hunt. After that hit ENTER. The name Hunt will appear in Geralt’s journal as the first phase of the Orders quest:


Quest35


- Phase Localized Description. This attribute contains the quest phase description. Click the right-hand column opposite the Phase Localized Description attribute and write “Siegfried passed sentence on the bandit leader. He must be killed. Maybe some orens will come of it”. The text will appear in the Orders quest description under the Hunt phase:


Quest36


- Phase Localized Short Description. Contains a short quest phase description. This is the best place for key information on what should be accomplished during a particular quest. Click the right-hand column opposite the Phase Localized Short Description attribute and write “I must kill the bandit leader”. The text will appear in yellow under the quest description:


Quest37


- Phase Failed Localized Description. Contains a description of why a particular quest phase was failed. We don’t really need this for our quest, you don’t have to write anything here.

- Phase Failed Localized Short Description. Contains a short description of why a particular quest phase was failed. There’s no need to write anything here either.

- Journal Entry Id. Contains information which may appear in Geralt’s journal. In this case, it could be an entry about Siegfried connected with the quest. To change the setting, click the right-hand column opposite the Journal Entry Id attribute:


Quest38


Clicking on the blue icon next to the choice list will open the journal.2da file, a database containing information about entries in the player’s journal.

- Waypoint assigned (tag). Contains a waypoint tag which points to the place on the area map where the quest will be completed. For now don’t write anything here.

- Worldmap region. Contains the map of the area where the particular quest is to be completed. To change the setting, click the right-hand column opposite the Worldmap region attribute:


Quest39


This list contains all the regions available in The Witcher. Select NO_REGION_SET from the list.

- OnPhaseCompleted Action. Contains a script which will be activated if a particular quest phase is completed successfully. To assign a script, click on the small yellow icon in the right-hand column opposite the OnPhaseCompleted Action attribute:


Quest40


This opens the standard Windows window used for loading files. Go to the Data\Scripts folder, highlight the appropriate file and click on Open.

- OnPhaseFailed Action. Contains a script which will be activated if a particular quest phase is failed. The script is assigned in the same way as in case of the OnPhaseCompleted Action attribute.

- Comment. A space in which to write a comment. This is not used by the game, it’s just an information field. You can write whatever you want here. To change the setting, click the right-hand column opposite the Comment attribute.

- QuestFile. Contains the name of the quest file. After saving our quest here, the name of the quest file will appear.

- IsPrimary. Determines whether this is a primary quest necessary to advance the plot, or a secondary quest. Our quest will be primary. Click the right-hand column opposite the IsPrimary attribute and select True from the list:


Quest41


False means that the quest is not primary. A secondary quest is also marked in the player’s journal on the quest list:


Quest42


OnPhaseFinished Actions Section:

This section defines which actions will occur after completing a particular quest phase. To see how this works, we’ll Geralt 100 orens (the currency used in The Witcher). That way he’ll have some money to play dice poker with Jethro. Select the action from the list. To change the setting, click the right-hand column opposite the Available Actions attribute and select Transfer gold to player from the list:


Quest43


The other values you can assign this option are:

- Add XP to player – gives the player a certain number of experience points, - Transfer item to player – gives the player an item, - Transfer item to NPC – gives an NPC an item, - Change game phase – changes the game phase, - Enable spawnset – enables a spawn set, - Disable spawnset – disables a spawn set, - Change NPC story phase – changes an NPC story phase, - Transfer gold to NPC – transfers orens to an NPC, - Transfer gold to player – transfers orens to the player, - Set dialog flag – sets a conversation flag, - Enable trigger – enables a trigger.

After choosing an action, click on the blue ‘+’ sign next to the appropriate action:


Quest44


This will be added the OnPhaseFinished Actions section:


Quest45


Let’s give Geralt 100 orens. Set the amount in the gold_amount¬ attribute. To change the setting, click the right-hand column opposite the gold_amount attribute and write 100. Then hit ENTER. This amount can be changed using the small arrows in the right-hand column opposite the gold_amount attribute.


Quest46


An NPC spawn set is assigned to the npc_resref attribute. Geralt is to receive orens from this NPC. Remember that the NPC needs to have enough orens in his gear to cover the gold_amount. To assign the NPC, click on the small yellow icon in the right-hand column opposite the npc_resref attribute:


Quest47


This opens the standard Windows window used for loading files. Go to the Data\Templates\NPCSpawn folder, select the our_siegfried.npc file and click on Open. This will assign the NPC. There’s no need to assign a character – it’s enough to set the gold_amount attribute. If you want to delete an action, click on a red ‘-‘ sign opposite the action:


Quest48


OnQuestFinished Actions Section:

This section defines which actions will occur after a quest is completed. This section works the same as the OnPhaseFinished Actions section. Here we also add the action Transfer gold to player. This time, however, Geralt will receive 500 orens:


Quest49


We need to add one more action – Add XP to player. This gives the player experience points for completing the quest. After adding the Add XP to player action in the xp attribute, enter the value 500 to ensure that the player receives 500 experience points. The whole OnQuestFinished Actions section should look like this:


Quest50


That’s it for Quest Beginning attributes. Before we move further, however, let’s go over conditions a little more. Conditions are relevant during both the starting and ending phases of a quest:


Quest51


- Game Phase Is == – the condition is fulfilled when the game phase is equal this value,

- Game Phase Is >= – the condition is fulfilled when the game phase is higher or equal to this value,

- Game Phase Is <= – the condition is fulfilled when the game phase is lower or equal to this value,

- Quest Phase Is == – the condition is fulfilled when the quest phase is equal to this value,

- Quest Phase Is >= – the condition is fulfilled when the quest phase is higher or equal to this value,

- Quest Phase Is <= – the condition is fulfilled when the quest phase is lower or equal to this value,

- Characters Dead Less Than – the condition is fulfilled when the number of living characters is higher than this value,

- Character Is Dead – the condition is fulfilled when a given character is dead,

- Hero Has Item(s) – the condition is fulfilled when Geralt has a specific item in his gear,

- Hero Doesn’t Have Item(s) – the condition is fulfilled when Geralt does not have a specific item in his gear,

- Hero Has Ability – the condition is fulfilled when Geralt has a specific ability,

- Hero Has Journal Entry – the condition is fulfilled when Geralt has a specific journal entry,

- Dialog Line Chosen – the condition is fulfilled when Geralt selects the appropriate conversation node,

- Hero Has Gold – the condition is fulfilled when Geralt has the specified amount of orens in his gear,

- Hero Doesn’t Have Gold – the condition is fulfilled when Geralt does not have the specified amount of orens in his gear,

- Hero Doesn’t Have Journal Entry – the condition is fulfilled when Geralt does not have a specific journal entry.

Let’s go back to creating our quest. The next stage will include the creation of a new phase. Right-click on the Quest Beginning:


Quest52


Select Insert Phase -> Conditional Phase from the menu:


Quest53


The Enter name window will appear:


Quest54


Write a name of the new phase. Remember that each phase must have a different name. Let’s write Bandit leader. Then click on OK. The Bandit leader phase will be added to our diagram:


Quest55


Of course more phases can be added. If you want to add another phase between the Quest Beginning and the Bandit leader phase, right-click on the Quest Beginning:


Quest56


To add a phase after the Bandit leader phase, right-click on the name of that phase:


Quest57


Select Conditional Phase from the menu:


Quest58


The Enter name window will open again. Type in of the phase and click on OK. This adds the next phase of the quest:


Quest59


In both cases we have added a conditional phase. This means that the phase will be completed only if a condition is fulfilled. We chose this option because the bandit leader is supposed to be killed in this phase. Instead of a conditional phase, we could add other phases depending on the requirements of our quest. The following phases are available:


Quest60


- Conditional Phase:


Quest61


This is a conditional phase which will be completed only after all phase conditions are fulfilled,

- Subquests ‘AND’ Phase :


Quest62


This is a phase which will be completed only after all subquests are completed. There can be a number of subquests and they can be added or deleted as necessary. In addition, any subquest can have several of its own phases,

- Subquests ‘OR’ Phase:


Quest63


This type of phase is similar to the previous one. The only difference is that this phase will be completed if just one of the subquests is completed. Other subquests can be performed but do not have to be. As before, there can be many subquests here as well, each consisting of several phases,

- Subquests ‘XOR’ Phase:


Quest64


This type of phase is also similar to the previous ones. The difference is that this phase will be completed when exactly one subquest is completed. The remaining subquests cannot be completed,

- Subquests ‘1 Subquest’ Phase:


Quest65


This type of phase is completed when a subquest is completed. This phase can be composed of several other phases.

In each case, we first need to write Phase 1 in the Enter name window. Now we’ll go through the Subquests ‘AND’ Phase, Subquests OR’ Phase and Subquests ‘XOR’ Phase menus. Right-click on the phase name:


Quest66


The following menu will appear:


Quest67


- Add Subquest – adds another subquest,

- Change Subquest Color – changes the color of a subquest,

- Convert to ‘AND’ Phase – converts a phase into a Subquests ‘AND’ Phase (if it isn’t already a Subquests ‘AND’ Phase),

- Convert to ‘OR’ Phase – converts a phase into a Subquests ‘OR’ Phase (if it isn’t already a Subquests ‘AND’ Phase),

- Convert to ‘XOR’ Phase – converts a phase into a Subquests ‘XOR’ Phase (if it isn’t already a Subquests ‘XOR’ Phase),

- Insert Phase – inserts another phase,

- Rename Phase – renames a phase,

- Delete Phase – deletes a phase,

- Move Phase Left – moves a phase to the left (if possible),

- Move Phase Right – moves a phase to the right (if possible),

- Optional Phase – marks a phase as optional, meaning it can be completed but does not have to be completed in order to advance the plot,

- Select Phase – selects a phase,

- Expand All – expands a phase,

- Collapse All – collapses a phase,

- Expand All (with conditions) – expands a phase together with all the conditions,

- Copy – copies a phase,

- Paste – pastes a phase.


If you right-click on the name of one of the subquests:


Quest68


The following menu will appear:


Quest69


- Rename Subquest – renames a subquest, - Delete Subquest – deletes a subquest, - Move Subquest Up – moves a subquest up (if possible), - Move Subquest Down – moves a subquest down (if possible).

Our adventure does not need this phase, however, so we can delete it. Right-click on the name of the phase and select Delete Phase from the menu:


Quest70


The phase will be deleted and only the Bandit leader phase will remain:


Quest71


Because the Bandit leader phase is a conditional phase, we need to add a completing condition now. This condition specifies what is necessary to complete the phase, in our case the bandit leader being slain by Geralt. Right-click on the Bandit leader phase name and select Add Completing Condition -> Character Is Dead from the menu:


Quest72


This condition will be added to the Bandit leader phase:


Quest73


Now we need to add which character and the total number of characters that Geralt must kill in order to fulfill the condition. In this case, Geralt must kill the bandit leader and the number of characters is one. As a reminder: we gave him the tag our_professor. Click on the larger of the Character Is Dead fields and write our_professor:


Quest74


Then hit ENTER. In the smaller field, write 1 and hit ENTER again:


Quest75


The Bandit leader phase will be completed when one character with the our_professor tag is killed.

Important: The number of characters that must be killed to fulfill this condition refers to the total number of these characters killed in whole game. For example, if in one quest Geralt has to kill five wolves and seven in the next quest, the condition will only be fulfilled if the number 12 (and not seven) is set as the total number of wolves to kill. It is best to define new characters with new tags for each quest.

Now we need to set the attributes of the Bandit leader phase. Click on the Bandit leader phase name:


Quest76


Then go to the Properties window, where the Bandit leader phase attributes are displayed:


Quest77


Because the attributes are practically the same as under Quest Beginnings, they will not be described again. You should enter the following:

- Phase Localized Name – Bandit leader,

- Phase Localized Description – “The bandit leader is dead. Now it should be peaceful around here” ,

- Phase Localized Short Description – “I have killed the freak. Now I must go to Siegfried”,

Leave the remaining attributes unchanged. We only need to define actions in the OnPhaseFinished Actions section. These actions will be performed after the Bandit leader phase is completed, in our case after the bandit leader is killed. The only action needed here to set the dialog flag. As you may remember, we set the global flag leader_killed to 1 (true). Because of this flag, after killing the bandit leader Geralt will be able to talk to Siegfried again and report his success.

Click the right-hand column opposite the Available Actions attribute and select Set dialog flag:


Quest78


Then click on the blue ‘+’ sign next to the Set dialog flag action. This adds the action:


Quest79


Now click the right-hand column opposite the name attribute and select leader_killed from the list:


Quest80


Note that such flags like orders_received and results_reported do not appear on the list. This is because these flags were local, so in this case they were available only when the conversation was created.

We defined the leader_killed flag in the file globaldlgflags.2da, however. That’s why it’s a global flag, available outside the conversation. It can be used in creating a conversation as well as in creating a quest. Click on the small blue icon next to the list and open the globaldlgflags.2da file. Set the value attribute to True (when creating a conversation, this would be 1):


Quest81


The Bandit leader phase is ready. We just need to create the last phase now, the on which will finish the quest. Before we do that, let’s modify Siegfried’s conversation a bit. If the Resources Explorer is closed, open it from the View menu by selecting Utility Windows -> Resources Explorer:


Quest82


Expand the Dialogues branch in the Resources Explorer, then double-click on the siegfried_conversation.dlg file:


Quest83


A window containing our conversation for Siegfried will open. Now click on the “Yes, the bastard’s dead” node:


Quest84


In the Properties window, change the Conv Type attribute to Quest:


Quest85


In the Quest Id attribute write leader_dead:


Quest86


Finally, we need to save our changes. To do this, select Save siegfried_conversation.dlg from the File menu:


Quest87


If Save siegfried_conversation.dlg is not listed or a different file name appears instead, it means that the siegfried_conversation.dlg window is not active at the moment. Activate it by clicking on the title bar of the siegfried_conversation.dlg window and then select Save siegfried_conversation.dlg from the File menu.

We made this change to the conversation because we want our quest to be completed after selecting “Yes, the bastard’s dead”. Now let’s add the last phase to our quest. Right-click on the Bandit leader phase name:


Quest88


Select Insert Phase -> Conditional Phase from the menu:


Quest89


Write Siegfried in the Enter name window and click OK. The Siegfried phase will be added.

Now we need to add a completing condition. Right-click on the Siegfried phase name and select the Dialog Line Chosen condition from the menu:


Quest90


This adds the condition. Double-click in the field next to the Dialog Line Chosen condition. The Select window will open. Expand the siegfried_conversation branch and double-click on the “Yes, the bastard’s dead” node:


Quest91


This is the conversation node that we have just modified. The Siegfried phase will be completed when the player selects the “Yes, the bastard’s dead” node during his conversation with Siegfried.

Now we need to set the phase attributes. Click on the Siegfried phase name:


Quest92


Go to the Properties window and set these attributes:

- Phase Localized Name – Siegfried, - Phase Localized Description – Siegfried was pleased by the results. - Phase Localized Short Description – I got 500 orens from Siegfried. It was worth it.

Leave the remaining attributes unchanged. Our quest is ready and we can save it now. To do this, select Save As… from the File menu:


Quest93


This opens the standard Windows window used for saving files. Go to the Data\Quests folder, type in our_task and click on Save. Remember that the name of the file cannot exceed 16 characters. Make sure the file is saved in the .qst format:


Quest94


If a different type of file is listed instead, it probably means that you’re trying to save the content in another open window by accident. Before saving the quest, make sure that the new quest window is active. If it is inactive, the title bar will be grey:


Quest95


A different color means that the window is active:


Quest96


An asterisk before the name in the title bar means that the file has not been saved since the last change was introduced.

That’s it. The quest is ready to use in the adventure we are creating.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.