<conversation>

<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>


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

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

<remove path="string"Description: Path to remove from parent xml
Type: String
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>

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

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

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

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

<gameMode multiplayer="true"Description: Is available in multiplayer
Type: Boolean
Default: true
Required: no
singleplayer="true"Description: Is available in singleplayer
Type: Boolean
Default: true
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
/>

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

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

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

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

</missionAvailable>
<money max="9999999999"Description: Max money
Type: Integer
Default: 9999999999
Required: no
min="0"Description: Min money
Type: Integer
Default: 0
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
/>

<numOwnedAnimals max="9999999999"Description: Max number of owned animals
Type: Integer
Default: 9999999999
Required: no
min="0"Description: Min number of owned animals
Type: Integer
Default: 0
Required: no
type="string"Description: Animal type
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
/>

<numOwnedVehicles max="9999999999"Description: Max number of owned vehicles
Type: Integer
Default: 9999999999
Required: no
min="0"Description: Min number of owned vehicles
Type: Integer
Default: 0
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>

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

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

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

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

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

<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
/>

</prerequisites>

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


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

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

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

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

<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
/>

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

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

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

</actions>
<inputs>
<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
/>

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

</inputs>
<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
>

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

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

<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
/>

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

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

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

</actions>
<inputs>
<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
/>

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

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

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

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

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

</item>
</textFlow>

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

</conversation>