mirror of
https://github.com/Rogiel/l2jserver2
synced 2025-12-06 07:32:46 +00:00
This commit modularizes the maven project into several modules: - l2jserver2-common: common sources for both login and gameserver - l2jserver2-gameserver: the game server - l2jserver2-loginserver: the login server - l2jserver2-tools: refactored src/tools/java soure folder
309 lines
10 KiB
XML
309 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<xs:schema version="1.0" targetNamespace="npc" xmlns:npc="npc"
|
|
xmlns:actor="actor" xmlns:template="template" xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
elementFormDefault="qualified">
|
|
<xs:import namespace="template" schemaLocation="template.xsd" />
|
|
<xs:import namespace="actor" schemaLocation="actor.xsd" />
|
|
|
|
<xs:complexType name="npcTemplate">
|
|
<xs:complexContent>
|
|
<xs:extension base="actor:actorTemplate">
|
|
<xs:sequence>
|
|
<xs:element name="info" type="npc:npcInformationMetadata"
|
|
minOccurs="1" maxOccurs="1" />
|
|
<xs:element name="ai" type="npc:aiMetadata" minOccurs="0"
|
|
maxOccurs="1" />
|
|
<xs:element name="teleporter" type="npc:teleporterMetadata"
|
|
minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="talk" type="npc:talkMetadata"
|
|
minOccurs="0" maxOccurs="1" />
|
|
<xs:element name="droplist" minOccurs="0"
|
|
maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="item"
|
|
type="npc:dropItemMetadata" minOccurs="0"
|
|
maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="skills" minOccurs="0"
|
|
maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="skill" minOccurs="1"
|
|
maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="id" />
|
|
<xs:attribute name="level" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="type" type="xs:string" />
|
|
<xs:attribute name="controller" type="xs:string"></xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="npcInformationMetadata">
|
|
<xs:sequence>
|
|
<xs:element name="name" type="npc:npcNameMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="title" type="npc:npcTitleMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="level" type="xs:int" />
|
|
<xs:element name="race" type="npc:npcRace" />
|
|
<xs:element name="sex" type="actor:actorSex" minOccurs="0" />
|
|
<xs:element name="stats" type="npc:npcStatsMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="experience" type="xs:long" />
|
|
<xs:element name="sp" type="xs:int" />
|
|
<xs:element name="item" type="npc:itemMetadata" minOccurs="0" />
|
|
<xs:element name="collision" type="npc:collisionMetadata"
|
|
minOccurs="0" />
|
|
</xs:sequence>
|
|
<xs:attribute name="attackable" type="xs:boolean" />
|
|
<xs:attribute name="targetable" type="xs:boolean" />
|
|
<xs:attribute name="aggressive" type="xs:boolean" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="npcNameMetadata">
|
|
<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:complexType name="npcTitleMetadata">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="send" type="xs:boolean" />
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="npcStatsMetadata">
|
|
<xs:sequence>
|
|
<xs:element name="hp" type="npc:stat" minOccurs="0" />
|
|
<xs:element name="mp" type="npc:stat" minOccurs="0" />
|
|
<xs:element name="attack" type="npc:attackMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="defense" type="npc:defenseMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="move" type="npc:moveMetadata" minOccurs="0" />
|
|
<xs:element name="base" type="npc: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="npc:attackValueMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="magical" type="npc: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="npc:defenseValueMetadata"
|
|
minOccurs="0" />
|
|
<xs:element name="magical" type="npc: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="npc:teleporterTeleportMetadata"
|
|
minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
<xs:attribute name="default" type="xs:string" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="teleporterTeleportMetadata">
|
|
<xs:sequence>
|
|
<xs:element name="region" type="npc:teleportRegion"
|
|
minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:string" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="teleportRegion">
|
|
<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" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="talkMetadata">
|
|
<xs:sequence>
|
|
<xs:element name="chat" type="npc:chat" minOccurs="0"
|
|
maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
<xs:attribute name="default" type="xs:string" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="chat">
|
|
<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="npc:dropCategory" />
|
|
<xs:attribute name="chance" type="xs:int" use="required" />
|
|
</xs:complexType>
|
|
|
|
<xs:simpleType name="npcRace">
|
|
<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:simpleType name="dropCategory">
|
|
<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:simpleType name="teleportRestriction">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="NOBLE" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:element name="npc" type="npc:npcTemplate"></xs:element>
|
|
</xs:schema>
|
|
|