diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/22000-22099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/22000-22099.xml index 5d2cabb4e823ccf7fd75ba570d70f3545a7e797c..8f6c6f8841e46d53ae246bfe48abc25e1edbab78 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/22000-22099.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/22000-22099.xml @@ -633,7 +633,6 @@ <table name="#bonusExp"> 30 50 </table> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="skillType" val="BUFF" /> <set name="target" val="TARGET_SELF" /> <for> <add order="0x40" stat="bonusExp" val="#bonusExp" /> @@ -644,7 +643,6 @@ <table name="#bonusSp"> 30 50 </table> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="skillType" val="BUFF" /> <set name="target" val="TARGET_SELF" /> <for> <add order="0x40" stat="bonusSp" val="#bonusSp" /> @@ -655,7 +653,6 @@ <table name="#bonus"> 3 5 </table> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="skillType" val="BUFF" /> <set name="target" val="TARGET_SELF" /> <for> <effect name="CrystalGradeModify" abnormalTime="-1" val="#bonus" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/26000-26099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/26000-26099.xml index 29d5a7c6a78967b14697ca7975ab127eb6646687..930f389a8d7391ab3a816d8a1e517675aa97f2c3 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/26000-26099.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/26000-26099.xml @@ -570,7 +570,6 @@ <table name="#bonusExp"> 10 20 30 40 50 </table> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="skillType" val="BUFF" /> <set name="target" val="TARGET_SELF" /> <for> <add order="0x40" stat="bonusExp" val="#bonusExp" /> @@ -581,7 +580,6 @@ <table name="#bonusSp"> 10 20 30 40 50 </table> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="skillType" val="BUFF" /> <set name="target" val="TARGET_SELF" /> <for> <add order="0x40" stat="bonusSp" val="#bonusSp" /> @@ -592,7 +590,6 @@ <table name="#bonus"> 1 2 3 4 5 </table> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="skillType" val="BUFF" /> <set name="target" val="TARGET_SELF" /> <for> <effect name="CrystalGradeModify" abnormalTime="-1" val="#bonus" /> diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/transformations.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/transformations.xsd index bc1600726a00ece5aad016633ac1c6541f61a582..49ca91ef3ac0104dd053650de3c96aeb4f710c42 100644 --- a/L2J_DataPack_BETA/dist/game/data/xsd/transformations.xsd +++ b/L2J_DataPack_BETA/dist/game/data/xsd/transformations.xsd @@ -1,336 +1,467 @@ <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - <xs:element name="list"> - <xs:complexType> - <xs:sequence> - <xs:element name="transform"> - <xs:complexType> - <xs:sequence> - <xs:element name="Male"> - <xs:complexType> - <xs:sequence> - <xs:element name="collision" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:float" name="radius" /> - <xs:attribute type="xs:float" name="height" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="moving" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:float" name="walk" /> - <xs:attribute type="xs:float" name="run" /> - <xs:attribute type="xs:float" name="waterWalk" /> - <xs:attribute type="xs:float" name="waterRun" /> - <xs:attribute type="xs:float" name="flyWalk" /> - <xs:attribute type="xs:float" name="flyRun" /> - <xs:attribute type="xs:float" name="unknownWalk" /> - <xs:attribute type="xs:float" name="unknownRun" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="skills" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="skill" maxOccurs="unbounded" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:short" name="id" use="optional" /> - <xs:attribute type="xs:byte" name="level" use="optional" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="additional_skills" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="skill" maxOccurs="unbounded" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:short" name="id" use="optional" /> - <xs:attribute type="xs:byte" name="level" use="optional" /> - <xs:attribute type="xs:byte" name="minLevel" use="optional" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element type="xs:string" name="actions" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:string" name="base_attack_type" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:integer" name="base_attack_range" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_random_damage" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:short" name="base_attack_speed" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_critical_prob" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_physical_attack" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_magical_attack" minOccurs="0" maxOccurs="1" /> - <xs:element name="items" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="item" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:integer" name="id" /> - <xs:attribute type="xs:boolean" name="allowed" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="basic_stat" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="str" /> - <xs:attribute type="xs:byte" name="int" /> - <xs:attribute type="xs:byte" name="con" /> - <xs:attribute type="xs:byte" name="dex" /> - <xs:attribute type="xs:byte" name="wit" /> - <xs:attribute type="xs:byte" name="men" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="base_defend" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="chest" /> - <xs:attribute type="xs:byte" name="legs" /> - <xs:attribute type="xs:byte" name="head" /> - <xs:attribute type="xs:byte" name="feet" /> - <xs:attribute type="xs:byte" name="gloves" /> - <xs:attribute type="xs:byte" name="underwear" /> - <xs:attribute type="xs:byte" name="cloak" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="base_magic_defend" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="rear" /> - <xs:attribute type="xs:byte" name="lear" /> - <xs:attribute type="xs:byte" name="rfinger" /> - <xs:attribute type="xs:byte" name="lfinger" /> - <xs:attribute type="xs:byte" name="neck" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="levels" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="level" maxOccurs="unbounded" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="val" use="optional" /> - <xs:attribute type="xs:float" name="bonus" use="optional" /> - <xs:attribute type="xs:float" name="hp_regen" use="optional" /> - <xs:attribute type="xs:float" name="mp_regen" use="optional" /> - <xs:attribute type="xs:float" name="cp_regen" use="optional" /> - <xs:attribute type="xs:short" name="str" use="optional" /> - <xs:attribute type="xs:short" name="int" use="optional" /> - <xs:attribute type="xs:short" name="con" use="optional" /> - <xs:attribute type="xs:byte" name="dex" use="optional" /> - <xs:attribute type="xs:short" name="wit" use="optional" /> - <xs:attribute type="xs:short" name="men" use="optional" /> - <xs:attribute type="xs:float" name="hp" use="optional" /> - <xs:attribute type="xs:float" name="mp" use="optional" /> - <xs:attribute type="xs:float" name="cp" use="optional" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Female"> - <xs:complexType> - <xs:sequence> - <xs:element name="collision" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:float" name="radius" /> - <xs:attribute type="xs:float" name="height" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="moving" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:float" name="walk" /> - <xs:attribute type="xs:float" name="run" /> - <xs:attribute type="xs:float" name="waterWalk" /> - <xs:attribute type="xs:float" name="waterRun" /> - <xs:attribute type="xs:float" name="flyWalk" /> - <xs:attribute type="xs:float" name="flyRun" /> - <xs:attribute type="xs:float" name="unknownWalk" /> - <xs:attribute type="xs:float" name="unknownRun" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="skills" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="skill" maxOccurs="unbounded" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:short" name="id" use="optional" /> - <xs:attribute type="xs:byte" name="level" use="optional" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="additional_skills" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="skill" maxOccurs="unbounded" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:short" name="id" use="optional" /> - <xs:attribute type="xs:byte" name="level" use="optional" /> - <xs:attribute type="xs:byte" name="minLevel" use="optional" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element type="xs:string" name="actions" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:string" name="base_attack_type" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:integer" name="base_attack_range" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_random_damage" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:short" name="base_attack_speed" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_critical_prob" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_physical_attack" minOccurs="0" maxOccurs="1" /> - <xs:element type="xs:byte" name="base_magical_attack" minOccurs="0" maxOccurs="1" /> - <xs:element name="items" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="item" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:integer" name="id" /> - <xs:attribute type="xs:boolean" name="allowed" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="basic_stat" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="str" /> - <xs:attribute type="xs:byte" name="int" /> - <xs:attribute type="xs:byte" name="con" /> - <xs:attribute type="xs:byte" name="dex" /> - <xs:attribute type="xs:byte" name="wit" /> - <xs:attribute type="xs:byte" name="men" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="base_defend" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="chest" /> - <xs:attribute type="xs:byte" name="legs" /> - <xs:attribute type="xs:byte" name="head" /> - <xs:attribute type="xs:byte" name="feet" /> - <xs:attribute type="xs:byte" name="gloves" /> - <xs:attribute type="xs:byte" name="underwear" /> - <xs:attribute type="xs:byte" name="cloak" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="base_magic_defend" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="rear" /> - <xs:attribute type="xs:byte" name="lear" /> - <xs:attribute type="xs:byte" name="rfinger" /> - <xs:attribute type="xs:byte" name="lfinger" /> - <xs:attribute type="xs:byte" name="neck" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="levels" minOccurs="0" maxOccurs="1"> - <xs:complexType> - <xs:sequence> - <xs:element name="level" maxOccurs="unbounded" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute type="xs:byte" name="val" use="optional" /> - <xs:attribute type="xs:float" name="bonus" use="optional" /> - <xs:attribute type="xs:float" name="hp_regen" use="optional" /> - <xs:attribute type="xs:float" name="mp_regen" use="optional" /> - <xs:attribute type="xs:float" name="cp_regen" use="optional" /> - <xs:attribute type="xs:short" name="str" use="optional" /> - <xs:attribute type="xs:short" name="int" use="optional" /> - <xs:attribute type="xs:short" name="con" use="optional" /> - <xs:attribute type="xs:byte" name="dex" use="optional" /> - <xs:attribute type="xs:short" name="wit" use="optional" /> - <xs:attribute type="xs:short" name="men" use="optional" /> - <xs:attribute type="xs:float" name="hp" use="optional" /> - <xs:attribute type="xs:float" name="mp" use="optional" /> - <xs:attribute type="xs:float" name="cp" use="optional" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute type="xs:short" name="id" /> - <xs:attribute type="xs:string" name="type" /> - <xs:attribute type="xs:byte" name="can_swim" /> - <xs:attribute type="xs:short" name="spawn_height" use="optional" /> - <xs:attribute type="xs:byte" name="normal_attackable" /> - </xs:complexType> + <xs:element name="list"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="transform" maxOccurs="1" minOccurs="1"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="Male" maxOccurs="1" minOccurs="1"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="collision" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="height" type="xs:decimal" use="required" /> + <xs:attribute name="radius" type="xs:decimal" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="moving" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="flyRun" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="flyWalk" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="run" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="walk" type="xs:decimal" use="required" /> + <xs:attribute name="waterRun" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="waterWalk" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="unknownRun" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="unknownWalk" type="xs:nonNegativeInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="skills" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="skill" maxOccurs="unbounded" minOccurs="1"> + <xs:complexType> + <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="level" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="additional_skills" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="skill" maxOccurs="unbounded" minOccurs="1"> + <xs:complexType> + <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="level" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="minLevel"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="actions" maxOccurs="1" minOccurs="1"> + <xs:simpleType> + <xs:restriction base="xs:normalizedString" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_attack_type" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="bow" /> + <xs:enumeration value="dual" /> + <xs:enumeration value="sword" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="base_attack_range" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_random_damage" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_attack_speed" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_critical_prob" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_physical_attack" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_magical_attack" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="items" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="item" maxOccurs="unbounded" minOccurs="1"> + <xs:complexType> + <xs:attribute name="allowed" type="xs:boolean" use="required" /> + <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:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="basic_stat" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="con" type="xs:positiveInteger" use="required" /> + <xs:attribute name="dex" type="xs:positiveInteger" use="required" /> + <xs:attribute name="int" type="xs:positiveInteger" use="required" /> + <xs:attribute name="men" type="xs:positiveInteger" use="required" /> + <xs:attribute name="str" type="xs:positiveInteger" use="required" /> + <xs:attribute name="wit" type="xs:positiveInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="base_defend" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="chest" type="xs:positiveInteger" use="required" /> + <xs:attribute name="cloak" type="xs:positiveInteger" use="required" /> + <xs:attribute name="feet" type="xs:positiveInteger" use="required" /> + <xs:attribute name="gloves" type="xs:positiveInteger" use="required" /> + <xs:attribute name="head" type="xs:positiveInteger" use="required" /> + <xs:attribute name="legs" type="xs:positiveInteger" use="required" /> + <xs:attribute name="underwear" type="xs:positiveInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="base_magic_defend" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="lear" type="xs:positiveInteger" use="required" /> + <xs:attribute name="lfinger" type="xs:positiveInteger" use="required" /> + <xs:attribute name="neck" type="xs:positiveInteger" use="required" /> + <xs:attribute name="rear" type="xs:positiveInteger" use="required" /> + <xs:attribute name="rfinger" type="xs:positiveInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="levels" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="level" maxOccurs="99" minOccurs="1"> + <xs:complexType> + <xs:attribute name="bonus" type="xs:decimal" use="required" /> + <xs:attribute name="con" type="xs:integer" use="required" /> + <xs:attribute name="cp_regen" type="xs:decimal" use="required" /> + <xs:attribute name="cp" type="xs:decimal" use="required" /> + <xs:attribute name="dex" type="xs:integer" use="required" /> + <xs:attribute name="hp_regen" type="xs:decimal" use="required" /> + <xs:attribute name="hp" type="xs:decimal" use="required" /> + <xs:attribute name="int" type="xs:integer" use="required" /> + <xs:attribute name="men" type="xs:integer" use="required" /> + <xs:attribute name="mp_regen" type="xs:decimal" use="required" /> + <xs:attribute name="mp" type="xs:decimal" use="required" /> + <xs:attribute name="str" type="xs:integer" use="required" /> + <xs:attribute name="val" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="wit" type="xs:integer" use="required" /> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Female" maxOccurs="1" minOccurs="1"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="collision" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="height" type="xs:decimal" use="required" /> + <xs:attribute name="radius" type="xs:decimal" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="moving" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="flyRun" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="flyWalk" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="run" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="walk" type="xs:decimal" use="required" /> + <xs:attribute name="waterRun" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="waterWalk" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="unknownRun" type="xs:nonNegativeInteger" use="required" /> + <xs:attribute name="unknownWalk" type="xs:nonNegativeInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="skills" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="skill" maxOccurs="unbounded" minOccurs="1"> + <xs:complexType> + <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="level" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="additional_skills" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="skill" maxOccurs="unbounded" minOccurs="1"> + <xs:complexType> + <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="level" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="minLevel"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="actions" maxOccurs="1" minOccurs="1"> + <xs:simpleType> + <xs:restriction base="xs:normalizedString" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_attack_type" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="bow" /> + <xs:enumeration value="dual" /> + <xs:enumeration value="sword" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="base_attack_range" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_random_damage" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_attack_speed" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_critical_prob" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_physical_attack" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="base_magical_attack" maxOccurs="1" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger" /> + </xs:simpleType> + </xs:element> + <xs:element name="items" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="item" maxOccurs="unbounded" minOccurs="1"> + <xs:complexType> + <xs:attribute name="allowed" type="xs:boolean" use="required" /> + <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:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="basic_stat" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="con" type="xs:positiveInteger" use="required" /> + <xs:attribute name="dex" type="xs:positiveInteger" use="required" /> + <xs:attribute name="int" type="xs:positiveInteger" use="required" /> + <xs:attribute name="men" type="xs:positiveInteger" use="required" /> + <xs:attribute name="str" type="xs:positiveInteger" use="required" /> + <xs:attribute name="wit" type="xs:positiveInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="base_defend" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="chest" type="xs:positiveInteger" use="required" /> + <xs:attribute name="cloak" type="xs:positiveInteger" use="required" /> + <xs:attribute name="feet" type="xs:positiveInteger" use="required" /> + <xs:attribute name="gloves" type="xs:positiveInteger" use="required" /> + <xs:attribute name="head" type="xs:positiveInteger" use="required" /> + <xs:attribute name="legs" type="xs:positiveInteger" use="required" /> + <xs:attribute name="underwear" type="xs:positiveInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="base_magic_defend" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:attribute name="lear" type="xs:positiveInteger" use="required" /> + <xs:attribute name="lfinger" type="xs:positiveInteger" use="required" /> + <xs:attribute name="neck" type="xs:positiveInteger" use="required" /> + <xs:attribute name="rear" type="xs:positiveInteger" use="required" /> + <xs:attribute name="rfinger" type="xs:positiveInteger" use="required" /> + </xs:complexType> + </xs:element> + <xs:element name="levels" maxOccurs="1" minOccurs="0"> + <xs:complexType> + <xs:sequence maxOccurs="1" minOccurs="1"> + <xs:element name="level" maxOccurs="99" minOccurs="1"> + <xs:complexType> + <xs:attribute name="bonus" type="xs:decimal" use="required" /> + <xs:attribute name="con" type="xs:integer" use="required" /> + <xs:attribute name="cp_regen" type="xs:decimal" use="required" /> + <xs:attribute name="cp" type="xs:decimal" use="required" /> + <xs:attribute name="dex" type="xs:integer" use="required" /> + <xs:attribute name="hp_regen" type="xs:decimal" use="required" /> + <xs:attribute name="hp" type="xs:decimal" use="required" /> + <xs:attribute name="int" type="xs:integer" use="required" /> + <xs:attribute name="men" type="xs:integer" use="required" /> + <xs:attribute name="mp_regen" type="xs:decimal" use="required" /> + <xs:attribute name="mp" type="xs:decimal" use="required" /> + <xs:attribute name="str" type="xs:integer" use="required" /> + <xs:attribute name="val" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="99" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="wit" type="xs:integer" use="required" /> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="can_swim" use="required"> + <xs:simpleType> + <xs:restriction base="xs:nonNegativeInteger"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="id" use="required"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="20003" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="normal_attackable" use="required"> + <xs:simpleType> + <xs:restriction base="xs:nonNegativeInteger"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="spawn_height" type="xs:positiveInteger" /> + <xs:attribute name="type" use="required"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="COMBAT" /> + <xs:enumeration value="CURSED" /> + <xs:enumeration value="FLYING" /> + <xs:enumeration value="MODE_CHANGE" /> + <xs:enumeration value="NON_COMBAT" /> + <xs:enumeration value="PURE_STAT" /> + <xs:enumeration value="RIDING_MODE" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>