mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Added to Dialogue schema (#84)
* Update dialogue_schema.xsd with better condition elements Improved support for the condition system, plus some other tweaks * Update dialogue_schema.xsd
This commit is contained in:
parent
f7d0bac568
commit
0eb667864d
@ -8,7 +8,7 @@
|
||||
<xs:element name="NameField" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The name of the dialogue tree
|
||||
The name of the character, used for the interaction prompt. Set to "SIGN" for the prompt "Read", or "RECORDING" for "Play Recording"
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
@ -36,14 +36,7 @@
|
||||
<xs:element name="EntryCondition" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The condition that needs to be met in order to get to this node
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DialogueTargetShipLogCondition" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A ship log fact that must be revealed in order to get to this node
|
||||
The condition that needs to be met in order for the dialogue to begin at this node. There must be one node that uses "DEFAULT"
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
@ -54,17 +47,45 @@
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RevealFacts" type="RevealFacts" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Facts to reveal when the player sees this dialogue node
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DialogueOptionsList" type="DialogueOptionsList" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A list of options to show to the player once the character is one talking
|
||||
A list of options to show to the player once the character is done talking
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RevealFacts" type="RevealFacts" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Facts to reveal when the player goes through this dialogue node
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SetCondition" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set a new condition that will only last for the current loop
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SetPersistentCondition" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set a new persistent condition that will last indefinitely in the current save, unless cancelled or deleted
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DialogueTargetShipLogCondition" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A ship log fact that must be revealed in order to proceed to the DialogueTarget
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DialogueTarget" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The name of the DialogueNode to go to after this node. Mutually exclusive with DialogueOptionsList here
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
@ -113,17 +134,38 @@
|
||||
<!-- Dialogue Option Info -->
|
||||
<xs:complexType name="DialogueOption">
|
||||
<xs:sequence>
|
||||
<xs:element name="RequiredPersistentCondition" type="xs:string" minOccurs="0">
|
||||
<xs:element name="RequiredPersistentCondition" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Require a prior condition to be met to show this option
|
||||
Require a persistent condition to be met to show this option
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CancelledPersistentCondition" type="xs:string" minOccurs="0">
|
||||
<xs:element name="CancelledPersistentCondition" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Hide this option if a condition has been met
|
||||
Hide this option if a persistent condition has been met
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RequiredCondition" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Require a (single-loop) condition to be met to show this option
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CancelledCondition" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Hide this option if a (single-loop) condition has been met
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RequiredLogCondition" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Require a ship log fact to be known to show this option
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
@ -134,7 +176,21 @@
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DialogueTarget" type="xs:string">
|
||||
<xs:element name="ConditionToSet" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set a condition when this option is chosen
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ConditionToCancel" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Cancel a condition when this option is chosen
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DialogueTarget" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The name of the DialogueNode to go to when this option is selected
|
||||
@ -144,4 +200,4 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
</xs:schema>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user