More enumeration in the schema instead of arbitrary integers
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<items>
|
||||
<item>
|
||||
<variety>12</variety>
|
||||
<variety>shield</variety>
|
||||
<level>3</level>
|
||||
<pic>12</pic>
|
||||
<name>Test Item</name>
|
||||
|
@@ -6,16 +6,67 @@
|
||||
<xs:enumeration value="false"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="itemVariety">
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="none"/>
|
||||
<xs:enumeration value="weapon-1hand"/>
|
||||
<xs:enumeration value="weapon-2hand"/>
|
||||
<xs:enumeration value="gold"/>
|
||||
<xs:enumeration value="bow"/>
|
||||
<xs:enumeration value="arrow"/>
|
||||
<xs:enumeration value="thrown-missile"/>
|
||||
<xs:enumeration value="potion"/>
|
||||
<xs:enumeration value="scroll"/>
|
||||
<xs:enumeration value="wand"/>
|
||||
<xs:enumeration value="tool"/>
|
||||
<xs:enumeration value="food"/>
|
||||
<xs:enumeration value="shield"/>
|
||||
<xs:enumeration value="armor"/>
|
||||
<xs:enumeration value="helm"/>
|
||||
<xs:enumeration value="gloves"/>
|
||||
<xs:enumeration value="boots"/>
|
||||
<xs:enumeration value="ring"/>
|
||||
<xs:enumeration value="necklace"/>
|
||||
<xs:enumeration value="poison"/>
|
||||
<xs:enumeration value="non-usable"/>
|
||||
<xs:enumeration value="pants"/>
|
||||
<xs:enumeration value="crossbow"/>
|
||||
<xs:enumeration value="bolts"/>
|
||||
<xs:enumeration value="missile"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="weaponType">
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="edged"/>
|
||||
<xs:enumeration value="bashing"/>
|
||||
<xs:enumeration value="pole"/>
|
||||
<!-- The rest of these values are for potential expansion -->
|
||||
<!-- Each corresponds to a skill/stat -->
|
||||
<xs:enumeration value="thrown"/>
|
||||
<xs:enumeration value="archery"/>
|
||||
<xs:enumeration value="defense"/>
|
||||
<xs:enumeration value="mage"/>
|
||||
<xs:enumeration value="priest"/>
|
||||
<xs:enumeration value="mage-lore"/>
|
||||
<xs:enumeration value="alchemy"/>
|
||||
<xs:enumeration value="item-lore"/>
|
||||
<xs:enumeration value="traps"/>
|
||||
<xs:enumeration value="lockpick"/>
|
||||
<xs:enumeration value="assassin"/>
|
||||
<xs:enumeration value="poison"/>
|
||||
<xs:enumeration value="luck"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="item">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="variety" type="xs:integer"/>
|
||||
<xs:element name="variety" type="itemVariety"/>
|
||||
<xs:element name="level" type="xs:integer"/>
|
||||
<xs:element name="awkward" type="xs:integer" minOccurs="0"/>
|
||||
<xs:element name="bonus" type="xs:integer" minOccurs="0"/>
|
||||
<xs:element name="protection" type="xs:integer" minOccurs="0"/>
|
||||
<xs:element name="charges" type="xs:integer" minOccurs="0"/>
|
||||
<xs:element name="melee-type" type="xs:integer" minOccurs="0"/>
|
||||
<xs:element name="melee-type" type="weaponType" minOccurs="0"/>
|
||||
<xs:element name="pic" type="xs:integer"/>
|
||||
<xs:element name="flag" type="xs:integer" minOccurs="0"/>
|
||||
<xs:element name="value" type="xs:integer"/>
|
||||
|
@@ -35,7 +35,9 @@
|
||||
<summon>0</summon>
|
||||
<!-- Default attitude -->
|
||||
<attitude>2</attitude>
|
||||
<!-- Immunities (bit field) -->
|
||||
<immunity>0</immunity>
|
||||
<!-- Immunities (empty element for none) -->
|
||||
<immunity>
|
||||
<fire resist='true'/>
|
||||
</immunity>
|
||||
</monster>
|
||||
</monsters>
|
@@ -11,6 +11,10 @@
|
||||
<xs:pattern value="\d*d\d+"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="immunity">
|
||||
<xs:attribute name="immune" type="bool"/>
|
||||
<xs:attribute name="resist" type="bool"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="ability">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -103,7 +107,16 @@
|
||||
<xs:element name="voice" minOccurs="0" type="xs:integer"/>
|
||||
<xs:element name="summon" minOccurs="0" type="xs:integer"/>
|
||||
<xs:element name="attitude" type="xs:integer"/>
|
||||
<xs:element name="immunity" type="xs:integer"/>
|
||||
<xs:element name="immunity">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="fire" type="immunity" minOccurs="0"/>
|
||||
<xs:element name="cold" type="immunity" minOccurs="0"/>
|
||||
<xs:element name="poison" type="immunity" minOccurs="0"/>
|
||||
<xs:element name="magic" type="immunity" minOccurs="0"/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="loot" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
|
@@ -76,6 +76,39 @@
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="blockage">
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="none"/>
|
||||
<xs:enumeration value="move"/>
|
||||
<xs:enumeration value="monsters"/>
|
||||
<xs:enumeration value="sight"/>
|
||||
<xs:enumeration value="move-and-shoot"/>
|
||||
<xs:enumeration value="move-and-sight"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="terTrim">
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="none"/>
|
||||
<xs:enumeration value="wall"/>
|
||||
<xs:enumeration value="s"/>
|
||||
<xs:enumeration value="n"/>
|
||||
<xs:enumeration value="e"/>
|
||||
<xs:enumeration value="w"/>
|
||||
<xs:enumeration value="sw"/>
|
||||
<xs:enumeration value="ne"/>
|
||||
<xs:enumeration value="se"/>
|
||||
<xs:enumeration value="nw"/>
|
||||
<xs:enumeration value="sw-inner"/>
|
||||
<xs:enumeration value="ne-inner"/>
|
||||
<xs:enumeration value="se-inner"/>
|
||||
<xs:enumeration value="nw-inner"/>
|
||||
<xs:enumeration value="frills"/>
|
||||
<xs:enumeration value="road"/>
|
||||
<xs:enumeration value="walkway"/>
|
||||
<xs:enumeration value="waterfall"/>
|
||||
<xs:enumeration value="city"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="editor">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
@@ -100,7 +133,7 @@
|
||||
<xs:element name="name" type="xs:string"/>
|
||||
<xs:element name="pic" type="xs:integer"/>
|
||||
<xs:element name="map" type="xs:integer"/>
|
||||
<xs:element name="blockage" type="xs:integer"/>
|
||||
<xs:element name="blockage" type="blockage"/>
|
||||
<xs:element name="special">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -115,7 +148,7 @@
|
||||
<xs:element name="ride" minOccurs="0" type="bool"/>
|
||||
<xs:element name="light" minOccurs="0" type="xs:integer"/>
|
||||
<xs:element name="step-sound" minOccurs="0" type="xs:integer"/>
|
||||
<xs:element name="trim" type="xs:integer"/>
|
||||
<xs:element name="trim" type="terTrim"/>
|
||||
<xs:element name="arena" type="xs:integer"/>
|
||||
<xs:element ref="editor" minOccurs="0"/>
|
||||
</xs:all>
|
||||
|
@@ -6,12 +6,12 @@
|
||||
<pic>2</pic>
|
||||
<map>2</map>
|
||||
<!-- Blockage information -->
|
||||
<blockage>0</blockage>
|
||||
<blockage>none</blockage>
|
||||
<fly>true</fly>
|
||||
<boat>false</boat>
|
||||
<ride>true</ride>
|
||||
<!-- Trim type, if it's a trim; this isn't -->
|
||||
<trim>0</trim>
|
||||
<trim>none</trim>
|
||||
<!-- Combat arena to use -->
|
||||
<arena>2</arena>
|
||||
<!-- Special terrain property -->
|
||||
|
Reference in New Issue
Block a user