diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/tmw.xsd | 311 |
1 files changed, 286 insertions, 25 deletions
diff --git a/client/tmw.xsd b/client/tmw.xsd index 693ffb5..bd232c3 100644 --- a/client/tmw.xsd +++ b/client/tmw.xsd @@ -451,7 +451,6 @@ </xs:sequence> <xs:attribute name="image" type="xs:string" default="equipmentbox.png"/> </xs:complexType> - <!-- EquipmentWindow::loadPage --> @@ -571,25 +570,20 @@ <xs:element name="status-effects" type="root_status-effects"/> <xs:complexType name="root_status-effects"> <xs:sequence> - <xs:element ref="its:rules" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="include"/> <xs:element name="status-effect"> <xs:complexType> + <!-- legacy attribute only for old clients --> <xs:attribute name="block-id" type="xs:int" use="optional"/> <xs:attributeGroup ref="status_or_stun_attrs"/> </xs:complexType> </xs:element> - <xs:element name="stun-effect"> - <xs:complexType> - <xs:attributeGroup ref="status_or_stun_attrs"/> - </xs:complexType> - </xs:element> </xs:choice> </xs:sequence> </xs:complexType> <xs:attributeGroup name="status_or_stun_attrs"> - <xs:attribute name="id" type="xs:int" use="required"/> + <xs:attribute name="id" type="xs:int" use="optional"/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="start-message" type="xs:string" use="optional"/> <xs:attribute name="start-audio" type="xs:string" use="optional"/> @@ -600,6 +594,11 @@ <xs:attribute name="end-message" type="xs:string" use="optional"/> <xs:attribute name="end-audio" type="xs:string" use="optional"/> <xs:attribute name="end-particle" type="xs:string" use="optional"/> + <xs:attribute name="particle" type="xs:string" use="optional"/> + <xs:attribute name="option" type="xs:int" use="optional"/> + <xs:attribute name="opt1" type="xs:int" use="optional"/> + <xs:attribute name="opt2" type="xs:int" use="optional"/> + <xs:attribute name="opt3" type="xs:int" use="optional"/> </xs:attributeGroup> <!-- maps and tilesets omitted, they have a DTD from tiled @@ -1389,8 +1388,6 @@ </xs:element> </xs:choice> </xs:complexType> - - <!-- probably not all tags correct here --> <xs:element name="elementals" type="root_elementals"/> <xs:complexType name="root_elementals"> @@ -1440,7 +1437,6 @@ </xs:choice> </xs:sequence> </xs:complexType> - <xs:element name="equipmentslots" type="root_equipmentslots"/> <xs:complexType name="root_equipmentslots"> <xs:sequence> @@ -1454,7 +1450,6 @@ </xs:choice> </xs:sequence> </xs:complexType> - <xs:element name="groups" type="root_groups"/> <xs:complexType name="root_groups"> <xs:sequence> @@ -1463,8 +1458,8 @@ <xs:element name="group"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="commands" type="groups_commands" /> - <xs:element name="permissions" type="groups_permissions" /> + <xs:element name="commands" type="groups_commands"/> + <xs:element name="permissions" type="groups_permissions"/> </xs:choice> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" default=""/> @@ -1501,7 +1496,6 @@ </xs:choice> </xs:sequence> </xs:complexType> - <!-- probably not all tags correct here --> <xs:element name="homunculuses" type="root_homunculuses"/> <xs:complexType name="root_homunculuses"> @@ -1552,7 +1546,6 @@ </xs:choice> </xs:sequence> </xs:complexType> - <xs:element name="horses" type="root_horses"/> <xs:complexType name="horse_offset"> <xs:attribute name="direction" type="xs:string" use="required"/> @@ -1570,7 +1563,7 @@ <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="include"/> - <xs:element name="horse" type="horse_node" /> + <xs:element name="horse" type="horse_node"/> </xs:choice> </xs:sequence> </xs:complexType> @@ -1589,8 +1582,8 @@ <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="sprite" type="horse_sprite" /> - <xs:element name="offset" type="horse_offset" /> + <xs:element name="sprite" type="horse_sprite"/> + <xs:element name="offset" type="horse_offset"/> </xs:choice> </xs:sequence> </xs:complexType> @@ -1599,8 +1592,8 @@ <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="sprite" type="horse_sprite" /> - <xs:element name="offset" type="horse_offset" /> + <xs:element name="sprite" type="horse_sprite"/> + <xs:element name="offset" type="horse_offset"/> </xs:choice> </xs:sequence> </xs:complexType> @@ -1608,7 +1601,6 @@ </xs:sequence> <xs:attribute name="id" type="xs:int" use="required"/> </xs:complexType> - <xs:element name="itemfields" type="root_itemfields"/> <xs:complexType name="root_itemfields"> <xs:sequence> @@ -1619,7 +1611,7 @@ <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="field" type="itemfield_node" /> + <xs:element name="field" type="itemfield_node"/> </xs:choice> </xs:sequence> </xs:complexType> @@ -1628,7 +1620,7 @@ <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="field" type="itemfield_node" /> + <xs:element name="field" type="itemfield_node"/> </xs:choice> </xs:sequence> </xs:complexType> @@ -1642,7 +1634,6 @@ <xs:attribute name="description" type="xs:string" use="required"/> <xs:attribute name="signed" type="bool" default="true"/> </xs:complexType> - <xs:element name="itemoptions" type="root_itemoptions"/> <xs:complexType name="root_itemoptions"> <xs:sequence> @@ -1674,4 +1665,274 @@ </xs:choice> </xs:sequence> </xs:complexType> + <xs:element name="languages" type="root_languages"/> + <xs:complexType name="root_languages"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="language"> + <xs:complexType> + <xs:attribute name="id" type="xs:int" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="icon" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="mercenaries" type="root_mercenaries"/> + <xs:complexType name="root_mercenaries"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="mercenary"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="sprite"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="variant" type="xs:int" default="0"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="particlefx" type="xs:string"/> + </xs:choice> + <xs:attribute name="id" type="xs:int" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="targetSelection" type="bool" default="true"/> + <xs:attributeGroup ref="being_basic_attributes"/> + <xs:attribute name="deadSortOffsetY" type="xs:int" default="31"/> + <xs:attribute name="startFollowDistance" type="xs:int" default="3"/> + <xs:attribute name="followDistance" type="xs:int" default="0"/> + <xs:attribute name="warpDistance" type="xs:int" default="11"/> + <xs:attribute name="walkSpeed" type="xs:int" default="0"/> + <xs:attribute name="offsetX" type="xs:int" default="0"/> + <xs:attribute name="offsetY" type="xs:int" default="1"/> + <xs:attribute name="sitOffsetX" type="xs:int" default="0"/> + <xs:attribute name="sitOffsetY" type="xs:int" default="1"/> + <xs:attribute name="moveOffsetX" type="xs:int" default="0"/> + <xs:attribute name="moveOffsetY" type="xs:int" default="1"/> + <xs:attribute name="deadOffsetX" type="xs:int" default="0"/> + <xs:attribute name="deadOffsetY" type="xs:int" default="1"/> + <xs:attribute name="attackOffsetX" type="xs:int" use="optional"/> + <xs:attribute name="attackOffsetY" type="xs:int" use="optional"/> + <xs:attribute name="thinkTime" type="xs:int" default="500"/> + <xs:attribute name="directionType" type="xs:int" default="1"/> + <xs:attribute name="sitDirectionType" type="xs:int" default="1"/> + <xs:attribute name="deadDirectionType" type="xs:int" default="1"/> + <xs:attribute name="attackDirectionType" type="xs:int" default="4"/> + <xs:attribute name="removeMessage" type="xs:string" use="optional"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="network" type="root_network"/> + <xs:complexType name="root_network"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="inpackets" type="network_inpackets"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="network_inpackets"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="fakepacket"> + <xs:complexType> + <xs:attribute name="id" type="xs:int" use="required"/> + <xs:attribute name="len" type="xs:int" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="removepacket"> + <xs:complexType> + <xs:attribute name="id" type="xs:int" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="dialogs" type="root_npc_dialogs"/> + <xs:complexType name="root_npc_dialogs"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="dialog" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="menu" type="npc_dialogs_menu"/> + <xs:element name="inventory" type="npc_dialogs_inventory"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="hideText" type="bool"/> + </xs:complexType> + </xs:element> + <xs:element ref="include"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="npc_dialogs_menu"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="button"> + <xs:complexType> + <xs:attribute name="name" type="xs:string" default=""/> + <xs:attribute name="value" type="xs:string" use="required"/> + <xs:attribute name="x" type="xs:int" default="0"/> + <xs:attribute name="y" type="xs:int" default="0"/> + <xs:attribute name="image" type="xs:string" default=""/> + <xs:attribute name="imageWidth" type="xs:int" default="16"/> + <xs:attribute name="imageHeight" type="xs:int" default="16"/> + </xs:complexType> + </xs:element> + <xs:element name="image"> + <xs:complexType> + <xs:attribute name="image" type="xs:string" use="required"/> + <xs:attribute name="x" type="xs:int" default="0"/> + <xs:attribute name="y" type="xs:int" default="0"/> + </xs:complexType> + </xs:element> + <xs:element name="text"> + <xs:complexType> + <xs:attribute name="text" type="xs:string" use="required"/> + <xs:attribute name="x" type="xs:int" default="0"/> + <xs:attribute name="y" type="xs:int" default="0"/> + <xs:attribute name="width" type="xs:int" default="20"/> + <xs:attribute name="height" type="xs:int" default="20"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="npc_dialogs_inventory"> + <xs:attribute name="cell" type="xs:string" default=""/> + <xs:attribute name="columns" type="xs:int" default="10000"/> + </xs:complexType> + <xs:element name="skillunits" type="root_skillunits"/> + <xs:complexType name="root_skillunits"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="skillunit"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="particlefx" type="xs:string"/> + <xs:element name="sprite"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="variant" type="xs:int" default="0"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + <xs:attribute name="id" type="xs:int" use="required"/> + <xs:attribute name="name" type="xs:string" default="skill"/> + <xs:attribute name="targetSelection" type="bool" default="true"/> + <xs:attributeGroup ref="being_basic_attributes"/> + <xs:attribute name="deadSortOffsetY" type="xs:int" default="31"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="stats" type="root_stats"/> + <xs:complexType name="root_stats"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="basic"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="stat"> + <xs:complexType> + <xs:attribute name="id" type="xs:int" use="optional"/> + <xs:attribute name="attr" type="xs:string" use="required"/> + <xs:attribute name="tag" type="xs:string" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="extended"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="stat"> + <xs:complexType> + <xs:attribute name="id" type="xs:int" use="optional"/> + <xs:attribute name="attr" type="xs:string" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="page"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="stat"> + <xs:complexType> + <xs:attribute name="id" type="xs:int" use="optional"/> + <xs:attribute name="attr" type="xs:string" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="texts" type="root_texts"/> + <xs:complexType name="root_texts"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="text"> + <xs:complexType> + <xs:attribute name="show" type="bool" default="false"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="badges" type="root_badges"/> + <xs:complexType name="root_badges"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="guild" type="badges_list"/> + <xs:element name="party" type="badges_list"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="badges_list"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="include"/> + <xs:element name="badge"> + <xs:complexType> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="image" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> </xs:schema> |