1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-06 07:32:46 +00:00
Files
l2jserver2/data/templates/npc.xsd
2011-05-24 22:55:31 -03:00

208 lines
6.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="npc" type="npcTemplate" />
<xs:complexType name="npcTemplate">
<xs:sequence>
<xs:element name="info" type="npcInformationMetadata"
minOccurs="0" />
<xs:element name="ai" type="aiMetadata" minOccurs="0" />
<xs:element name="teleporter" type="teleporterMetadata"
minOccurs="0" />
<xs:element name="talk" type="talkMetadata" minOccurs="0" />
<xs:element name="droplist" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="item" type="dropItemMetadata"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:int" use="required" />
<xs:attribute name="type" type="xs:string" />
</xs:complexType>
<xs:complexType name="npcInformationMetadata">
<xs:sequence>
<xs:element name="name" type="npcNameMetadata" minOccurs="0" />
<xs:element name="title" type="npcTitleMetadata"
minOccurs="0" />
<xs:element name="level" type="xs:int" />
<xs:element name="sex" type="actorSex" minOccurs="0" />
<xs:element name="stats" type="npcStatsMetadata"
minOccurs="0" />
<xs:element name="experience" type="xs:long" />
<xs:element name="sp" type="xs:int" />
<xs:element name="item" type="itemMetadata" minOccurs="0" />
<xs:element name="collision" type="collisionMetadata"
minOccurs="0" />
</xs:sequence>
<xs:attribute name="attackable" type="xs:boolean" use="required" />
<xs:attribute name="targetable" type="xs:boolean" use="required" />
<xs:attribute name="aggressive" type="xs:boolean" use="required" />
</xs:complexType>
<xs:complexType name="npcNameMetadata">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="send" type="xs:boolean" use="required" />
<xs:attribute name="display" type="xs:boolean" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="npcTitleMetadata">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="send" type="xs:boolean" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="npcStatsMetadata">
<xs:sequence>
<xs:element name="hp" type="stat" minOccurs="0" />
<xs:element name="mp" type="stat" minOccurs="0" />
<xs:element name="attack" type="attackMetadata" minOccurs="0" />
<xs:element name="defense" type="defenseMetadata"
minOccurs="0" />
<xs:element name="move" type="moveMetadata" minOccurs="0" />
<xs:element name="base" type="baseMetadata" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="stat">
<xs:sequence />
<xs:attribute name="max" type="xs:double" use="required" />
<xs:attribute name="regen" type="xs:double" use="required" />
</xs:complexType>
<xs:complexType name="attackMetadata">
<xs:sequence>
<xs:element name="physical" type="attackValueMetadata"
minOccurs="0" />
<xs:element name="magical" type="attackValueMetadata"
minOccurs="0" />
</xs:sequence>
<xs:attribute name="range" type="xs:int" use="required" />
<xs:attribute name="evasion" type="xs:int" use="required" />
<xs:attribute name="critical" type="xs:int" use="required" />
</xs:complexType>
<xs:complexType name="attackValueMetadata">
<xs:sequence />
<xs:attribute name="damage" type="xs:double" use="required" />
<xs:attribute name="speed" type="xs:double" use="required" />
</xs:complexType>
<xs:complexType name="defenseMetadata">
<xs:sequence>
<xs:element name="physical" type="defenseValueMetadata"
minOccurs="0" />
<xs:element name="magical" type="defenseValueMetadata"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="defenseValueMetadata">
<xs:sequence />
<xs:attribute name="value" type="xs:double" use="required" />
</xs:complexType>
<xs:complexType name="moveMetadata">
<xs:sequence />
<xs:attribute name="run" type="xs:double" use="required" />
<xs:attribute name="walk" type="xs:double" use="required" />
</xs:complexType>
<xs:complexType name="baseMetadata">
<xs:sequence />
<xs:attribute name="int" type="xs:int" use="required" />
<xs:attribute name="str" type="xs:int" use="required" />
<xs:attribute name="con" type="xs:int" use="required" />
<xs:attribute name="men" type="xs:int" use="required" />
<xs:attribute name="dex" type="xs:int" use="required" />
<xs:attribute name="wit" type="xs:int" use="required" />
</xs:complexType>
<xs:complexType name="itemMetadata">
<xs:sequence />
<xs:attribute name="righthand" type="xs:int" />
<xs:attribute name="lefthand" type="xs:int" />
</xs:complexType>
<xs:complexType name="collisionMetadata">
<xs:sequence />
<xs:attribute name="radius" type="xs:double" use="required" />
<xs:attribute name="heigth" type="xs:double" use="required" />
</xs:complexType>
<xs:complexType name="aiMetadata">
<xs:sequence />
<xs:attribute name="script" type="xs:string" />
</xs:complexType>
<xs:complexType name="teleporterMetadata">
<xs:sequence>
<xs:element name="teleport" type="teleporterTeleportMetadata"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="teleporterTeleportMetadata">
<xs:sequence>
<xs:element name="region" type="teleporterRegionMetadata"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
<xs:complexType name="teleporterRegionMetadata">
<xs:sequence />
<xs:attribute name="id" type="xs:string" />
<xs:attribute name="price" type="xs:int" use="required" />
<xs:attribute name="item" type="xs:int" use="required" />
</xs:complexType>
<xs:complexType name="talkMetadata">
<xs:sequence>
<xs:element name="chat" type="chatMetadata" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="default" type="xs:string" />
</xs:complexType>
<xs:complexType name="chatMetadata">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="dropItemMetadata">
<xs:sequence />
<xs:attribute name="id" type="xs:int" />
<xs:attribute name="min" type="xs:int" use="required" />
<xs:attribute name="max" type="xs:int" use="required" />
<xs:attribute name="category" type="dropCategory" />
<xs:attribute name="chance" type="xs:int" use="required" />
</xs:complexType>
<xs:simpleType name="actorSex">
<xs:restriction base="xs:string">
<xs:enumeration value="MALE" />
<xs:enumeration value="FEMALE" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dropCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="KILL" />
</xs:restriction>
</xs:simpleType>
</xs:schema>