<conversation>

<prerequisites>
<retriggerDelayRealDays minDays="0"Description: Min number of real days since last occurrence
Type: Integer
Default: 0
Required: no
/>

<map mapId="string"Description: Map id
Type: String
Required: no
/>

<numOwnedFarmlands max="9999999999"Description: Max number of owned farmlands
Type: Integer
Default: 9999999999
Required: no
min="0"Description: Min number of owned farmlands
Type: Integer
Default: 0
Required: no
/>

<ingameDaysPlayed max="9999999999"Description: Max number of ingame days played
Type: Integer
Default: 9999999999
Required: no
min="0"Description: Min number of ingame days played
Type: Integer
Default: 0
Required: no
/>

<seasonPeriod max="LATE_WINTER"Description: Name of the max season period
Type: String
Default: LATE_WINTER
Required: no
min="EARLY_SPRING"Description: Name of the min season period
Type: String
Default: EARLY_SPRING
Required: no
/>

<manuallyTriggered>stringDescription: The conversation is manually triggered
Type: String
Required: no
</manuallyTriggered>

<conversationAllTriggeredByType type="string"Description: Type of the conversation
Type: String
Required: yes
/>

<realDate year="0"Description: Real date year
Type: Integer
Default: 0
Required: no
day="0"Description: Real date day
Type: Integer
Default: 0
Required: no
month="0"Description: Real date month
Type: Integer
Default: 0
Required: no
/>

<missionAvailable>
<type variant="string"Description: Variant name of the available mission
Type: String
Required: no
name="string"Description: Type name of the available mission
Type: String
Required: no
/>

</missionAvailable>
<ingameTime minHour="0"Description: Ingame time min hour
Type: Float
Default: 0
Required: no
maxHour="24"Description: Ingame time max hour
Type: Float
Default: 24
Required: no
/>

<firstContact>stringDescription: If should be played on first contact only
Type: String
Required: no
</firstContact>

<numOwnedVehicles min="0"Description: Min number of owned vehicles
Type: Integer
Default: 0
Required: no
max="9999999999"Description: Max number of owned vehicles
Type: Integer
Default: 9999999999
Required: no
/>

<numOwnedAnimals min="0"Description: Min number of owned animals
Type: Integer
Default: 0
Required: no
type="string"Description: Animal type
Type: String
Required: no
max="9999999999"Description: Max number of owned animals
Type: Integer
Default: 9999999999
Required: no
/>

<numContacts max="9999999999"Description: Max number of contacts
Type: Integer
Default: 9999999999
Required: no
min="0"Description: Min number of contacts
Type: Integer
Default: 0
Required: no
/>

<money min="0"Description: Min money
Type: Integer
Default: 0
Required: no
max="9999999999"Description: Max money
Type: Integer
Default: 9999999999
Required: no
/>

<gameMode singleplayer="true"Description: Is available in singleplayer
Type: Boolean
Default: true
Required: no
multiplayer="true"Description: Is available in multiplayer
Type: Boolean
Default: true
Required: no
/>

<numTriggered max="1"Description: Max number of triggers
Type: Integer
Default: 1
Required: no
/>

<ownedAllFarmlands>stringDescription: If should be played if all farmlands are owned
Type: String
Required: no
</ownedAllFarmlands>

<retriggerTypeDelayIngameDays type="string"Description: Type of the conversation
Type: String
Required: yes
minDays="0"Description: Min number of ingame days since last occurrence
Type: Integer
Default: 0
Required: no
/>

<retriggerDelayIngameDays minDays="0"Description: Min number of ingame days since last occurrence
Type: Integer
Default: 0
Required: no
/>

<realTime minHour="0"Description: Real time min hour
Type: Float
Default: 0
Required: no
maxHour="24"Description: Real time max hour
Type: Float
Default: 24
Required: no
/>

<conversationWasTriggered uniqueId="string"Description: Unique id of the conversation that has to be triggered before
Type: String
Required: yes
/>

<conversationAvailableByType type="string"Description: Type of the conversation
Type: String
Required: yes
/>

</prerequisites>

<textFlow startId="string"Description: Start unique id of the conversation
Type: String
Required: no
>

<item nextId="string"Description: Unique id of the next converstion flow item
Type: String
Required: no
animationType="string"Description: Name of the animation that should be played
Type: String
Required: no
isActive="boolean"Description: If the item is active
Type: Boolean
Required: no
id="string"Description: Unique id of the conversation text flow item
Type: String
Required: yes
>

<next>
<option id="string"Description: Unique id of the conversation flow item. Used for Dialog Editor only
Type: String
Required: yes
isActive="boolean"Description: If the item is active. Used for Dialog Editor only
Type: Boolean
Required: no
nextId="string"Description: Unique id of the next converstion flow item
Type: String
Required: no
>

<prerequisites>
<missionPermission>stringDescription: Mission Permission
Type: String
Required: yes
</missionPermission>

<missionAvailable variant="string"Description: Variant name of the available mission
Type: String
Required: no
type="string"Description: Mission type
Type: String
Required: yes
/>

</prerequisites>
<inputs>
<selectedMission type="string"Description: Mission type
Type: String
Required: yes
/>

<availableMissions>stringDescription: missing
Type: String
Required: yes
</availableMissions>

<leaseVehicles value="false"Description: True if vehicles should be leased, else false
Type: Boolean
Default: false
Required: no
/>

</inputs>
<actions>
<startSelectedMission>stringDescription: missing
Type: String
Required: yes
</startSelectedMission>

<navigateToNPC npcName="string"Description: Name of the npc
Type: String
Required: yes
/>

<startConversationFromList>
<failConversation uniqueId="string"Description: Unique id of the fail conversation
Type: String
Required: yes
/>

<conversation uniqueId="string"Description: Unique id of the conversation
Type: String
Required: yes
/>

</startConversationFromList>
<startMissionSelectionByType typeMissionAvailable="string"Description: Type of the conversation that should be started if missions are available
Type: String
Required: yes
typeMissionUnavailable="string"Description: Type of the conversation that should be started if no missions are available
Type: String
Required: yes
/>

<resetNumTriggeredByType type="string"Description: Type of the conversation
Type: String
Required: yes
/>

<cancelTour>stringDescription: Cancel tour
Type: String
Required: no
</cancelTour>

<startConversationByType type="string"Description: Type of the conversation
Type: String
Required: yes
/>

<startConversationById uniqueId="string"Description: Unique id of the conversation
Type: String
Required: yes
/>

<startMissionSelection uniqueIdMissionUnavailable="string"Description: Unique id of the conversation that should be started if no missions are available
Type: String
Required: yes
uniqueIdMissionAvailable="string"Description: Unique id of the conversation that should be started if missions are available
Type: String
Required: yes
/>

</actions>
<text>stringDescription: Path to the conversation text flow item option text
Type: String
Required: yes
</text>

</option>
</next>
<inputs>
<leaseVehicles value="false"Description: True if vehicles should be leased, else false
Type: Boolean
Default: false
Required: no
/>

<availableMissions>stringDescription: missing
Type: String
Required: yes
</availableMissions>

<selectedMission type="string"Description: Mission type
Type: String
Required: yes
/>

</inputs>
<text>stringDescription: Path to the conversation text flow item text
Type: String
Required: yes
</text>

<actions>
<startMissionSelection uniqueIdMissionUnavailable="string"Description: Unique id of the conversation that should be started if no missions are available
Type: String
Required: yes
uniqueIdMissionAvailable="string"Description: Unique id of the conversation that should be started if missions are available
Type: String
Required: yes
/>

<startMissionSelectionByType typeMissionAvailable="string"Description: Type of the conversation that should be started if missions are available
Type: String
Required: yes
typeMissionUnavailable="string"Description: Type of the conversation that should be started if no missions are available
Type: String
Required: yes
/>

<startSelectedMission>stringDescription: missing
Type: String
Required: yes
</startSelectedMission>

<resetNumTriggeredByType type="string"Description: Type of the conversation
Type: String
Required: yes
/>

<startConversationById uniqueId="string"Description: Unique id of the conversation
Type: String
Required: yes
/>

<startConversationByType type="string"Description: Type of the conversation
Type: String
Required: yes
/>

<cancelTour>stringDescription: Cancel tour
Type: String
Required: no
</cancelTour>

<startConversationFromList>
<failConversation uniqueId="string"Description: Unique id of the fail conversation
Type: String
Required: yes
/>

<conversation uniqueId="string"Description: Unique id of the conversation
Type: String
Required: yes
/>

</startConversationFromList>
<navigateToNPC npcName="string"Description: Name of the npc
Type: String
Required: yes
/>

</actions>
</item>
</textFlow>

<parentFile xmlFilename="string"Description: Parent xml filepath used as basis
Type: String
Required: no
>

<attributes>
<remove path="string"Description: Path to remove from parent xml
Type: String
Required: no
/>

<clearList path="string"Description: List to clear but keep one item
Type: String
Required: no
keepIndex="integer"Description: Index of list to keep
Type: Integer
Required: no
/>

<set path="string"Description: Path change in parent xml
Type: String
Required: no
value="string"Description: Target value to set in parent file
Type: String
Required: no
/>

</attributes>
</parentFile>

<probability>1Description: Default probability of the conversation
Type: Integer
Default: 1
Required: no
</probability>


<class>NPCConversationDescription: Class name of the npc conversation controller
Type: String
Default: NPCConversation
Required: no
</class>


<isActive>booleanDescription: If conversation is active
Type: Boolean
Required: no
</isActive>


<type>DEFAULTDescription: Type of the conversation
Type: String
Default: DEFAULT
Required: no
</type>

</conversation>