l2j_mobius/trunk/dist/game/data/xsd/items.xsd
2015-01-02 16:44:45 +00:00

252 lines
10 KiB
XML

<?xml version="1.1" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="setType">
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="armor_type" />
<xs:enumeration value="attack_range" />
<xs:enumeration value="auto_destroy_time" />
<xs:enumeration value="blessed" />
<xs:enumeration value="bodypart" />
<xs:enumeration value="capsuled_items" />
<xs:enumeration value="change_weaponId" />
<xs:enumeration value="crystal_count" />
<xs:enumeration value="crystal_type" />
<xs:enumeration value="damage_range" />
<xs:enumeration value="default_action" />
<xs:enumeration value="duration" />
<xs:enumeration value="element_enabled" />
<xs:enumeration value="enchant_enabled" />
<xs:enumeration value="enchant4_skill" />
<xs:enumeration value="enchanted" />
<xs:enumeration value="equip_condition" />
<xs:enumeration value="equip_reuse_delay" />
<xs:enumeration value="ex_immediate_effect" />
<xs:enumeration value="etcitem_type" />
<xs:enumeration value="for_npc" />
<xs:enumeration value="handler" />
<xs:enumeration value="icon" />
<xs:enumeration value="immediate_effect" />
<xs:enumeration value="is_depositable" />
<xs:enumeration value="is_destroyable" />
<xs:enumeration value="is_dropable" />
<xs:enumeration value="is_freightable" />
<xs:enumeration value="is_magic_weapon" />
<xs:enumeration value="is_oly_restricted" />
<xs:enumeration value="is_premium" />
<xs:enumeration value="is_questitem" />
<xs:enumeration value="is_sellable" />
<xs:enumeration value="is_stackable" />
<xs:enumeration value="is_tradable" />
<xs:enumeration value="isAttackWeapon" />
<xs:enumeration value="isForceEquip" />
<xs:enumeration value="item_skill" />
<xs:enumeration value="allow_self_resurrection" />
<xs:enumeration value="material" />
<xs:enumeration value="mp_consume" />
<xs:enumeration value="oncrit_chance" />
<xs:enumeration value="oncrit_skill" />
<xs:enumeration value="onmagic_chance" />
<xs:enumeration value="onmagic_skill" />
<xs:enumeration value="price" />
<xs:enumeration value="random_damage" />
<xs:enumeration value="recipe_id" />
<xs:enumeration value="reduced_mp_consume" />
<xs:enumeration value="reduced_soulshot" />
<xs:enumeration value="reuse_delay" />
<xs:enumeration value="shared_reuse_group" />
<xs:enumeration value="soulshots" />
<xs:enumeration value="spiritshots" />
<xs:enumeration value="time" />
<xs:enumeration value="unequip_skill" />
<xs:enumeration value="use_condition" />
<xs:enumeration value="useSkillDisTime" />
<xs:enumeration value="useWeaponSkillsOnly" />
<xs:enumeration value="weapon_type" />
<xs:enumeration value="weight" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="val" type="xs:token" use="required" />
</xs:complexType>
<xs:complexType name="playerType">
<xs:attribute name="castle">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="-1" />
<xs:maxInclusive value="9" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="clanHall" type="xs:normalizedString" />
<xs:attribute name="class_id_restriction" type="xs:normalizedString" />
<xs:attribute name="cloakStatus" type="xs:boolean" />
<xs:attribute name="isHero" type="xs:boolean" />
<xs:attribute name="insideZoneId" type="xs:normalizedString" />
<xs:attribute name="level">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1" />
<xs:maxInclusive value="85" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pledgeClass">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="-1" />
<xs:maxInclusive value="11" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="levelRange" type="xs:token" />
<xs:attribute name="races" type="xs:token" />
<xs:attribute name="sex" type="xs:byte" use="optional" />
<xs:attribute name="fort" type="xs:integer" fixed="-1" />
<xs:attribute name="chaotic" type="xs:boolean" />
<xs:attribute name="subclass" type="xs:boolean" />
<xs:attribute name="SiegeZone" type="xs:positiveInteger" />
<xs:attribute name="flyMounted" type="xs:boolean" />
<xs:attribute name="instanceId" type="xs:normalizedString" />
<xs:attribute name="categoryType" type="xs:normalizedString" />
<xs:attribute name="pkCount" type="xs:int" />
<xs:attribute name="vehicleMounted" type="xs:boolean" />
</xs:complexType>
<xs:complexType name="andType">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="using" type="usingType" />
<xs:element name="player" type="playerType" />
<xs:element name="target" type="targetType" />
<xs:element name="not" type="notType" />
<xs:element name="game" type="gameType" />
<xs:element name="or" minOccurs="0" type="andType" />
</xs:choice>
</xs:complexType>
<xs:complexType name="gameType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="night" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="notType">
<xs:sequence>
<xs:element name="using" minOccurs="0" type="usingType" />
<xs:element name="player" minOccurs="0" type="playerType" />
<xs:element name="target" minOccurs="0" type="targetType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="usingType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="kind" use="optional" />
<xs:attribute type="xs:string" name="slot" use="optional" />
<xs:attribute type="xs:string" name="weaponChange" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="targetType">
<xs:attribute name="levelRange" type="xs:token" />
<xs:attribute name="categoryType" type="xs:normalizedString" />
</xs:complexType>
<xs:complexType name="enchantType">
<xs:attribute name="order" type="xs:byte" use="optional" />
<xs:attribute name="stat" use="required" type="statType" />
<xs:attribute name="val" type="xs:integer" fixed="0" use="required" />
</xs:complexType>
<xs:simpleType name="statType">
<xs:restriction base="xs:token">
<xs:enumeration value="mAtk" />
<xs:enumeration value="mDef" />
<xs:enumeration value="pAtk" />
<xs:enumeration value="pDef" />
<xs:enumeration value="sDef" />
<xs:enumeration value="mAtk" />
<xs:enumeration value="pAtkAngle" />
<xs:enumeration value="pAtkRange" />
<xs:enumeration value="pAtkSpd" />
<xs:enumeration value="rCrit" />
<xs:enumeration value="mCritRate" />
<xs:enumeration value="rShld" />
<xs:enumeration value="rEvas" />
<xs:enumeration value="mEvas" />
<xs:enumeration value="accCombat" />
<xs:enumeration value="accMagic" />
<xs:enumeration value="darkRes" />
<xs:enumeration value="earthRes" />
<xs:enumeration value="fireRes" />
<xs:enumeration value="holyPower" />
<xs:enumeration value="holyRes" />
<xs:enumeration value="maxMp" />
<xs:enumeration value="waterRes" />
<xs:enumeration value="windRes" />
<xs:enumeration value="magicSuccRes" />
<xs:enumeration value="runSpd" />
<xs:enumeration value="broochJewels" />
<xs:enumeration value="inventoryLimit" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="condType">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="using" type="usingType" />
<xs:element name="and" type="andType" />
<xs:element name="not" type="notType" />
<xs:element name="player" type="playerType" />
<xs:element name="target" type="targetType" />
</xs:choice>
<xs:attribute type="xs:short" name="msgId" use="optional" />
<xs:attribute type="xs:byte" name="addName" use="optional" />
<xs:attribute type="xs:string" name="msg" use="optional" />
</xs:complexType>
<xs:complexType name="addType">
<xs:attribute name="order" type="xs:byte" use="optional" />
<xs:attribute name="stat" type="statType" use="required" />
<xs:attribute name="val" type="xs:decimal" use="required" />
</xs:complexType>
<xs:complexType name="forType" mixed="true">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="add" type="addType" />
<xs:element name="mul" type="addType" />
<xs:element name="sub" type="addType" />
<xs:element name="basemul" type="addType" />
<xs:element name="set" type="addType" />
<xs:element name="enchant" maxOccurs="2" minOccurs="0" type="enchantType" />
</xs:choice>
<xs:attribute type="xs:string" name="name" use="optional" />
<xs:attribute type="xs:byte" name="val" use="optional" />
</xs:complexType>
<xs:complexType name="itemType">
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element name="set" maxOccurs="unbounded" minOccurs="1" type="setType" />
<xs:element name="cond" maxOccurs="2" minOccurs="0" type="condType" />
<xs:element name="for" maxOccurs="1" minOccurs="0" type="forType" />
</xs:sequence>
<xs:attribute name="id" use="required">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1" />
<xs:maxInclusive value="65535" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" type="xs:normalizedString" use="required" />
<xs:attribute name="additionalName" type="xs:normalizedString" use="optional" />
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="Armor" />
<xs:enumeration value="EtcItem" />
<xs:enumeration value="Weapon" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="item" type="itemType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>