291 lines
12 KiB
XML
291 lines
12 KiB
XML
<?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="npc" type="npcType" minOccurs="1" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:complexType name="npcType">
|
|
<xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
<xs:element name="acquire" type="acquireType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="ai" type="aiType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="collision" type="collisionType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="corpseTime" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="dropLists" type="dropListsType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="equipment" type="equipmentType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="exCrtEffect" type="xs:boolean" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="parameters" type="parametersType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="race" type="xs:token" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="sNpcPropHpRate" type="xs:decimal" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="sex" type="xs:token" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="shots" type="shotsType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="skillList" type="skillType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="stats" type="statsType" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="status" type="statusType" minOccurs="0" maxOccurs="1" />
|
|
</xs:choice>
|
|
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
|
<xs:attribute name="displayId" type="xs:positiveInteger" />
|
|
<xs:attribute name="level" type="xs:byte" />
|
|
<xs:attribute name="type" type="xs:token" />
|
|
<xs:attribute name="name" type="xs:string" />
|
|
<xs:attribute name="usingServerSideName" type="xs:boolean" />
|
|
<xs:attribute name="title" type="xs:string" />
|
|
<xs:attribute name="usingServerSideTitle" type="xs:boolean" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="acquireType">
|
|
<xs:attribute name="exp" type="xs:decimal" />
|
|
<xs:attribute name="sp" type="xs:decimal" />
|
|
<xs:attribute name="raidPoints" type="xs:decimal" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="aiType">
|
|
<xs:all>
|
|
<xs:element name="skill" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="minChance" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="maxChance" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="primaryId" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="shortRangeId" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="shortRangeChance" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="longRangeId" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="longRangeChance" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="clanList" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element name="clan" type="xs:token" />
|
|
<xs:element name="ignoreNpcId" type="xs:nonNegativeInteger" />
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:all>
|
|
<xs:attribute name="type" type="xs:token" />
|
|
<xs:attribute name="aggroRange" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="clanHelpRange" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="dodge" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="isChaos" type="xs:boolean" />
|
|
<xs:attribute name="isAggressive" type="xs:boolean" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="collisionType">
|
|
<xs:all>
|
|
<xs:element name="radius" type="size" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="height" type="size" minOccurs="0" maxOccurs="1" />
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="size">
|
|
<xs:attribute name="normal" type="xs:decimal" />
|
|
<xs:attribute name="grown" type="xs:decimal" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="dropListsType">
|
|
<xs:all>
|
|
<xs:element name="death" type="dropList" minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="corpse" type="dropList" minOccurs="0" maxOccurs="1" />
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="dropList">
|
|
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element name="item" type="dropListItem" />
|
|
<xs:element name="group">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="item" type="dropListItem" minOccurs="1" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
<xs:attribute name="chance" type="xs:decimal" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="dropListItem">
|
|
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
|
<xs:attribute name="min" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="max" type="xs:positiveInteger" />
|
|
<xs:attribute name="chance" type="xs:decimal" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="equipmentType">
|
|
<xs:attribute name="chest" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="rhand" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="lhand" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="weaponEnchant" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="parametersType">
|
|
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element name="param">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:token" use="required" />
|
|
<xs:attribute name="value" type="xs:string" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="skill">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:token" use="required" />
|
|
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
|
<xs:attribute name="level" type="xs:positiveInteger" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="minions">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="npc" minOccurs="1" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
|
<xs:attribute name="count" type="xs:positiveInteger" use="required" />
|
|
<xs:attribute name="respawnTime" type="xs:nonNegativeInteger" use="required" />
|
|
<xs:attribute name="weightPoint" type="xs:integer" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:token" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="shotsType">
|
|
<xs:attribute name="soul" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="spirit" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="shotChance" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="spiritChance" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="skillType">
|
|
<xs:sequence>
|
|
<xs:element name="skill" minOccurs="1" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="id" type="xs:nonNegativeInteger" use="required" />
|
|
<xs:attribute name="level" type="xs:nonNegativeInteger" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="statsType">
|
|
<xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
<xs:element name="vitals" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="hp" type="xs:decimal" />
|
|
<xs:attribute name="hpRegen" type="xs:decimal" />
|
|
<xs:attribute name="mp" type="xs:decimal" />
|
|
<xs:attribute name="mpRegen" type="xs:decimal" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="attack" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="physical" type="xs:decimal" />
|
|
<xs:attribute name="magical" type="xs:decimal" />
|
|
<xs:attribute name="random" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="critical" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="accuracy" type="xs:decimal" />
|
|
<xs:attribute name="attackSpeed" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="reuseDelay" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="type">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="SWORD" />
|
|
<xs:enumeration value="BLUNT" />
|
|
<xs:enumeration value="DAGGER" />
|
|
<xs:enumeration value="BOW" />
|
|
<xs:enumeration value="DUAL" />
|
|
<xs:enumeration value="POLE" />
|
|
<xs:enumeration value="DUALFIST" />
|
|
<xs:enumeration value="FIST" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="range" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="distance" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="width" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="defence" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="physical" type="xs:decimal" />
|
|
<xs:attribute name="magical" type="xs:decimal" />
|
|
<xs:attribute name="evasion" type="xs:integer" />
|
|
<xs:attribute name="shield" type="xs:nonNegativeInteger" />
|
|
<xs:attribute name="shieldRate" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="attribute" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element name="attack" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="type">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="FIRE" />
|
|
<xs:enumeration value="WATER" />
|
|
<xs:enumeration value="WIND" />
|
|
<xs:enumeration value="EARTH" />
|
|
<xs:enumeration value="DARK" />
|
|
<xs:enumeration value="HOLY" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="value" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="defence" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="fire" type="xs:integer" />
|
|
<xs:attribute name="water" type="xs:integer" />
|
|
<xs:attribute name="wind" type="xs:integer" />
|
|
<xs:attribute name="earth" type="xs:integer" />
|
|
<xs:attribute name="holy" type="xs:integer" />
|
|
<xs:attribute name="dark" type="xs:integer" />
|
|
<xs:attribute name="default" type="xs:integer" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="speed" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element name="walk" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="ground" type="xs:decimal" />
|
|
<xs:attribute name="swim" type="xs:decimal" />
|
|
<xs:attribute name="fly" type="xs:decimal" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="run" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:attribute name="ground" type="xs:decimal" />
|
|
<xs:attribute name="swim" type="xs:decimal" />
|
|
<xs:attribute name="fly" type="xs:decimal" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="hitTime" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="statusType">
|
|
<xs:attribute name="unique" type="xs:boolean" />
|
|
<xs:attribute name="attackable" type="xs:boolean" />
|
|
<xs:attribute name="talkable" type="xs:boolean" />
|
|
<xs:attribute name="targetable" type="xs:boolean" />
|
|
<xs:attribute name="undying" type="xs:boolean" />
|
|
<xs:attribute name="showName" type="xs:boolean" />
|
|
<xs:attribute name="flying" type="xs:boolean" />
|
|
<xs:attribute name="canMove" type="xs:boolean" />
|
|
<xs:attribute name="noSleepMode" type="xs:boolean" />
|
|
<xs:attribute name="passableDoor" type="xs:boolean" />
|
|
<xs:attribute name="hasSummoner" type="xs:boolean" />
|
|
<xs:attribute name="canBeSown" type="xs:boolean" />
|
|
</xs:complexType>
|
|
</xs:schema> |