TRE QSTFileType

From SWGANH Wiki
Jump to: navigation, search

QueST files are the new version of quests that appear with publish 10 when SOE introduced the journal in the game.

Basic Structure

<?xml version="1.0"?>
  <quest version="1.0" >
    <tasks availableId="" >
      <task type="" id="" name="" taskOnFail="" >
        <data value="" name="" />
        <data value="" name="" />
        <data value="" name="" />
        ...
        <task type="" id="" name="" taskOnFail="" >
          <data value="" name="" />
          <data value="" name="" />
          <data value="" name="" />
          ...
        </task>
      </task>
    </tasks>
    <list>
      <data value="" name="" />
      <data value="" name="" />
      <data value="" name="" />
      ...
    </list>
  </quest>

We have:

  • a XML header
  • a quest packet (1 per file)
    • a tasks packet containing 2 things:
      • a task packet (the main one of the quest) containing some informations:
        • name=value
        • ...
        • and 0 or more other task packets which can each contain 0 or more other task packet and so on...
      • a list packet containing some informations:
        • name=value
        • ...

In Depth Structure

task

Each task packet starts with a header containing 4 fields:

<task type="" id="" name="" taskOnFail="" >

Depending on the header, its content vary (more or less data fields, ...)

Type: Nothing

header

  • type=Nothing
  • id=0
  • name=Nothing
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=

Type: Go to Location

header

  • type=Go to Location
  • id=3
  • name=Go to Location
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=some text
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=
  • Planet=tatooine
  • LocationX(m)=220
  • LocationY(m)=190
  • LocationZ(m)=220
  • Radius(m)=10.0

Type: Timer

header

  • type=Timer
  • id=10
  • name=Timer
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=some text
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=
  • Min Time=0
  • Max Time=60

Type: Encounter

header

  • type=Encounter
  • id=9
  • name=Encounter
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=some text
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=
  • Creature Type=rockmite (or any other)
  • Count=1
  • Min Distance=5
  • Max Distance=50
  • Direction=Any
  • musicOnActivate= (this field is not always there)

Type: Reward

header

  • type=Reward
  • id=6
  • name=Reward
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=
  • Experience Type=
  • Experience Amount=0
  • Faction Name=Rebel
  • Faction Amount=0
  • Bank Credits=1000
  • Item=

Type: Immediately Complete Quest

header

  • type=Immediately Complete Quest
  • id=7
  • name=Immediately Complete Quest
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=
  • musicOnActivate=

Type: Escort

header

  • type=Escort
  • id=1
  • name=Escort
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=some text
  • journalEntryDescription= some text
  • isVisible=false
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=
  • Escort Creature Type=oola
  • Destination Path Node Name=
  • Movement Type=Walk

Type: Immediately Clear Quest

header

  • type=Immediately Clear Quest
  • id=7
  • name=Immediately Clear Quest
  • taskOnFail=false

content

  • prerequisiteTasks=
  • exclusionTasks=
  • journalEntryTitle=
  • journalEntryDescription=
  • isVisible=true
  • showSystemMessages=0
  • allowRepeats=0
  • target=
  • parameter=

list

Each variable of the list packet is stored this way:

<data value="" name="" />

Let's view what they are and their values:

  • journalEntryTitle=some text
  • journalEntryDescription=some text
  • prerequisiteQuests=
  • exclusionQuests=
  • allowRepeats=true (or false)
  • target=
  • parameter=
  • category=Test (or any other category)
  • completeWhenTasksComplete=true (or false)