1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-05 23:22:47 +00:00
Files
l2jserver2/l2jserver2-gameserver/data/template/npc.xsd

349 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ths="http://schemas.l2jserver2.com/npc" xmlns:item="http://schemas.l2jserver2.com/item"
xmlns:skill="http://schemas.l2jserver2.com/skill" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
targetNamespace="http://schemas.l2jserver2.com/npc" jaxb:version="2.1"
jaxb:extensionBindingPrefixes="xjc">
<xs:import schemaLocation="l2jserver2.xsd" />
<xs:import schemaLocation="item.xsd"
namespace="http://schemas.l2jserver2.com/item" />
<xs:import schemaLocation="skill.xsd"
namespace="http://schemas.l2jserver2.com/skill" />
<xs:simpleType name="NPCTemplateID">
<xs:annotation>
<xs:appinfo>
<xjc:javaType adapter="com.l2jserver.util.jaxb.NPCTemplateIDAdapter"
name="com.l2jserver.model.id.template.NPCTemplateID" />
</xs:appinfo>
</xs:annotation>
<xs:restriction base="TemplateID" />
</xs:simpleType>
<xs:element name="npc">
<xs:annotation>
<xs:appinfo>
<jaxb:class name="NPCTemplate" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="ActorTemplate">
<xs:sequence>
<xs:element name="info">
<xs:complexType>
<xs:sequence>
<xs:element name="name" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="send" type="xs:boolean" />
<xs:attribute name="display" type="xs:boolean" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="title" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="send" type="xs:boolean" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="level" type="xs:int" />
<xs:element name="race" type="ths:NPCRace"
minOccurs="0" />
<xs:element name="sex" type="ActorSexType"
minOccurs="0" />
<xs:element name="stats">
<xs:complexType>
<xs:sequence>
<xs:element name="hp">
<xs:complexType>
<xs:sequence />
<xs:attribute name="max" type="xs:double"
use="required" />
<xs:attribute name="regen" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="mp">
<xs:complexType>
<xs:sequence />
<xs:attribute name="max" type="xs:double"
use="required" />
<xs:attribute name="regen" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="attack" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="physical">
<xs:complexType>
<xs:sequence />
<xs:attribute name="damage" type="xs:double"
use="required" />
<xs:attribute name="speed" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="magical">
<xs:complexType>
<xs:sequence />
<xs:attribute name="damage" type="xs:double"
use="required" />
<xs:attribute name="speed" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
</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:element>
<xs:element name="defense" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="physical">
<xs:complexType>
<xs:sequence />
<xs:attribute name="value" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="magical">
<xs:complexType>
<xs:sequence />
<xs:attribute name="value" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="move" minOccurs="0">
<xs:complexType>
<xs:sequence />
<xs:attribute name="run" type="xs:double"
use="required" />
<xs:attribute name="walk" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="base">
<xs:complexType>
<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:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="experience" type="xs:long" />
<xs:element name="sp" type="xs:int" />
<xs:element name="item" minOccurs="0">
<xs:complexType>
<xs:sequence />
<xs:attribute name="rightHand" type="item:ItemTemplateID" />
<xs:attribute name="leftHand" type="item:ItemTemplateID" />
</xs:complexType>
</xs:element>
<xs:element name="collision" minOccurs="0">
<xs:complexType>
<xs:sequence />
<xs:attribute name="radius" type="xs:double"
use="required" />
<xs:attribute name="heigth" type="xs:double"
use="required" />
</xs:complexType>
</xs:element>
</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:element>
<xs:element name="ai" minOccurs="0">
<xs:complexType>
<xs:sequence />
<xs:attribute name="script" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="talk" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="chat" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="default" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="droplist" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="item" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence />
<xs:attribute name="id" type="item:ItemTemplateID"
use="required" />
<xs:attribute name="min" type="xs:int" use="required" />
<xs:attribute name="max" type="xs:int" use="required" />
<xs:attribute name="category" use="required">
<xs:simpleType>
<xs:annotation>
<xs:appinfo>
<jaxb:typesafeEnumClass name="DropCategory" />
</xs:appinfo>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="DROP" />
<xs:enumeration value="SPOIL" />
<xs:enumeration value="UNK_1" />
<xs:enumeration value="UNK_2" />
<xs:enumeration value="UNK_3" />
<xs:enumeration value="UNK_4" />
<xs:enumeration value="UNK_5" />
<xs:enumeration value="UNK_6" />
<xs:enumeration value="UNK_7" />
<xs:enumeration value="UNK_8" />
<xs:enumeration value="UNK_9" />
<xs:enumeration value="UNK_10" />
<xs:enumeration value="UNK_11" />
<xs:enumeration value="UNK_12" />
<xs:enumeration value="UNK_13" />
<xs:enumeration value="UNK_14" />
<xs:enumeration value="UNK_15" />
<xs:enumeration value="UNK_16" />
<xs:enumeration value="UNK_17" />
<xs:enumeration value="UNK_18" />
<xs:enumeration value="UNK_19" />
<xs:enumeration value="UNK_20" />
<xs:enumeration value="UNK_21" />
<xs:enumeration value="UNK_22" />
<xs:enumeration value="UNK_23" />
<xs:enumeration value="UNK_24" />
<xs:enumeration value="UNK_25" />
<xs:enumeration value="UNK_26" />
<xs:enumeration value="UNK_27" />
<xs:enumeration value="UNK_28" />
<xs:enumeration value="UNK_29" />
<xs:enumeration value="UNK_30" />
<xs:enumeration value="UNK_31" />
<xs:enumeration value="UNK_32" />
<xs:enumeration value="UNK_33" />
<xs:enumeration value="UNK_34" />
<xs:enumeration value="UNK_35" />
<xs:enumeration value="UNK_36" />
<xs:enumeration value="UNK_100" />
<xs:enumeration value="UNK_101" />
<xs:enumeration value="UNK_102" />
<xs:enumeration value="UNK_200" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="chance" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="skills" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="skill" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence />
<xs:attribute name="id" type="skill:SkillTemplateID"
use="required" />
<xs:attribute name="level" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="ths:NPCTemplateID" use="required">
<xs:annotation>
<xs:appinfo>
<jaxb:property name="iD" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="controller" use="required">
<xs:simpleType>
<xs:annotation>
<xs:appinfo>
<xjc:javaType name="java.lang.Class"
adapter="com.l2jserver.util.jaxb.ClassAdapter" />
</xs:appinfo>
</xs:annotation>
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="NPCRace">
<xs:annotation>
<xs:appinfo>
<xjc:javaType adapter="com.l2jserver.util.jaxb.NPCRaceAdapter"
name="com.l2jserver.model.template.npc.NPCRace" />
</xs:appinfo>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="HUMAN" />
<xs:enumeration value="ELVEN" />
<xs:enumeration value="DARKELVEN" />
<xs:enumeration value="ORC" />
<xs:enumeration value="DWARVEN" />
<xs:enumeration value="KAMAEL" />
<xs:enumeration value="UNDEAD" />
<xs:enumeration value="MAGIC_CREATURE" />
<xs:enumeration value="BEAST" />
<xs:enumeration value="ANIMAL" />
<xs:enumeration value="PLANT" />
<xs:enumeration value="HUMANOID" />
<xs:enumeration value="SPIRIT" />
<xs:enumeration value="ANGEL" />
<xs:enumeration value="DEMON" />
<xs:enumeration value="DRAGON" />
<xs:enumeration value="GIANT" />
<xs:enumeration value="BUG" />
<xs:enumeration value="FAIRIE" />
<xs:enumeration value="OTHER" />
<xs:enumeration value="NON_LIVING" />
<xs:enumeration value="SIEGE_WEAPON" />
<xs:enumeration value="DEFENDING_ARMY" />
<xs:enumeration value="MERCENARIE" />
<xs:enumeration value="UNKNOWN" />
<xs:enumeration value="NONE" />
</xs:restriction>
</xs:simpleType>
</xs:schema>