Mod:Creation Kit/Quest

Type:  Papyrus: Quest Script

Quests are the stories and adventures of Fallout 4. Quest objects are found in the Object Window under Character.

Quest Data
For clarity, all forms of resetting including Reset will not work when this is checked.
 * Quest Name: Display name of your quest. This is the in game name the player sees.
 * Priority: Dialogue is assigned by priority. The dialogue for higher priority quests will take precedence over the dialogue of lower priority quests, in cases where the dialogue "stacks" (shared topic types, or blocking/exclusive branches). Aliases are also affected by priority. A quest with low priority will give way to another quest's aliases with higher priority. The higher the number, the higher the quest priority.
 * Event: Any quest which specifies an Event can only be started by the Story Manager ("Start Game Enabled" will be greyed out). Quests which have no Event are started "manually", by calling Start, SetStage, or SetObjectiveDisplayed.
 * Start Game Enabled: Start the quest as soon as possible. Un-ticking this option saves on memory and helps minimize your quest's memory imprint on the game. Your quest will start running when the Start, SetStage, or SetObjectiveDisplayed commands are used.
 * Run Once:  Prevents the Quest from being reset when it starts. If a "Start Game Enabled" quest is not also flagged to "Run Once", its OnInit event will fire twice.
 * Run Once:  Prevents the Quest from being reset when it starts. If a "Start Game Enabled" quest is not also flagged to "Run Once", its OnInit event will fire twice.
 * Warn on alias fill failure: Prints out alias fill errors to Papyrus Log. Useful when debugging quest alias order. If aliases fail to fill, the entire quest will fail and not function properly. Stages won't set, actors won't speak their dialogue, fragments don't run and objectives don't display.
 * Allow repeated stages: If this box is checked, a journal entry will be displayed (and quest stage results run) every time SetStage is called for a particular stage number. Otherwise, SetStage has no effect after it is called the first time for any stage on a running quest.
 * Add Idle Topic To Hello:
 * Quest Completion XP:  Choose the amount of XP you want given to the player upon completing your quest. '''
 * Type:  Type of the Quest. Influences the presentation elements of your quest. Miscellaneous quests go under the Misc section in the Pipboy and do not display objective descriptions and summaries.
 * Object Window Filter:  The in CK "Folder" you'd like your quest to be categorized under. For example, Brotherhood of Steel\, Institute\, My Quest Category\, etc.
 * SWF File:  The special Flash swf to display upon quest completion. Most quests have special animation art associated with them.
 * Location:
 * Quest Group: Quest collection this quest belongs to.
 * Recompile All Papyrus Scripts:  Batch re-compiles all fragments associated with this quest.
 * Export Dialogue Specific Voices: Batch export all dialogue associated with a specific Voicetype.
 * Export Quest Dialogue: Batch export all of the quest's dialogue to a text file. The file can be located in Fallout 4's main directory.
 * Exclude from dialogue export: Marks this quest to be ignored from batch exporting dialogue from the Character> Export Dialogue menu selection.
 * Calculate Voice Assets: Evaluates (using the same process as the export) how many actual audio files are used by the quest. If this is larger than the Lines of Dialogue field, it means that some lines can be said by multiple voice types. If it is smaller, it means that some lines cannot be said by any voice types.
 * Out of Date Dialogue: List of dialogue topics marked as "outdated".
 * Lines of dialog:
 * Text Display Globals:
 * Quest Dialogue Conditions: Apply a condition to the entirety of a quest's dialogue. For example, if you set a GetIsID condition here, all dialogues within your quest would have to abide by this condition, otherwise they will not show up.

Quest Stages

 * Stage Items
 * Index: Each stage has an index number from 0 to 65535. It is recommended to space out stage indexes by at least 5 or 10 units in order to leave room for iteration further down the line. Useful when wanting to add new stages afterward.
 * Log: Does this stage have a log associated with it?
 * Notes: Displays a snippet of designer notes attached to this stage.
 * Run on start?:
 * Run on stop?:
 * Keep Instance Data From Here On: Preserves text replacement data across save games.
 * Log Entries The description for your quest's objectives which is displayed in the Pipboy. If a stage item has log entry text, that text becomes the quest summary in the player's quest list. Only the most recent log entry is displayed to the player. You can have multiple entries for a single stage, however elect to have one display at any time, and that can be controlled by setting conditions on each entry.
 * Log Entry: The individual log entries.
 * Designer Notes: CK only notes for other designers to read. Has no effect on actual game. Useful commenting and organizational tool, especially for collaborative efforts.
 * Complete Quest: If this box is checked, setting this stage will trigger the "Quest Completed" message, and move the quest from the active to completed portions of the player's quest list. Note that a completed quest can still be running.
 * Fail Quest: The same as Complete Quest, but triggers the "Quest Failed" message.
 * Next quest: Not used. The next quest to trigger after completing current quest. Instead, most quests trigger using case specific papyrus code, Quest.Start or SetStage instead.
 * Start scene:
 * Conditions Conditions to set for the entire stage.
 * Papyrus Fragment The Papyrus fragment editor is for Quest Stage Fragments. These are code snippets that run when moving to this stage. A common use for this is SetObjectiveDisplayed and SetObjectiveCompleted to give the player new objectives, and complete others. The advanced tab allows the renaming and assignment of a unique namespace for your fragment.

Renaming fragments allows for setting unique prefixes or changing the naming of a fragment. Namespaces are sub folders within which your fragments will be output by the CK. The combination of a unique prefix and namespace for your fragments allows for more effective asset tracking.

Quest Objectives

 * Objectives: Each objective has an Objective Index, and Display Text. By right clicking the window, you can add or delete an objective.
 * Quest Objective Data
 * Index: Index of the objective, used for script functions dealing with turning them on/off and completing.
 * Display Text: What is displayed in the player's quest list and on the associated quest targets on the map when the objective is active.
 * ORed With Previous: When checked, if this objective and the previous one are both displayed, they will appear in the interface as a single objective automatically combined with an "or" in between them. Additionally, if one of a group of ORed objectives is completed, the whole "group" of objectives will be marked complete in the interface.
 * No Stats Tracking:
 * Targets: Each target has a target alias and can have a set of conditions. By right clicking in the window, you can copy/paste a quest target, as well as delete one or add a new one.
 * Quest Target Data:
 * Target Alias:
 * Keyword:
 * Compass Markers Ignore Locks:
 * Hostile:
 * Use Straight Line Pathing:
 * Conditions:

Scenes
Scenes are used to create dialogue for any actor in the game, including the player. Scenes consist of an ordered collection of Topic Info forms.

Topic Info:

Topic infos consist of a few key components, namely the text the actor will say, the sound file name and location information, and the facial animation selection.

Facial animations are used to give a facial expression to an actor while they speak a line. There are many facial animations to choose from under the drop down list. For a visual reference of the different facial animation options, see this video. (Credit to Sirick)