<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../items/item_templates.xsd"/>
<xs:include schemaLocation="../stats/stats.xsd"/>
<xs:include schemaLocation="../import.xsd"/>
<xs:include schemaLocation="../modifiers.xsd"/>
<xs:include schemaLocation="../global_types.xsd"/>
<xs:element name="npc_templates" type="npcTemplates"/>
<xs:complexType name="npcTemplates">
<xs:sequence>
<xs:element ref="import" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="npc_template" type="npcTemplate" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="npcTemplate">
<xs:sequence>
<xs:element name="stats" type="statsTemplate"/>
<xs:element name="equipment" type="npcEquipmentList" minOccurs="0"/>
<xs:element name="kisk_stats" type="KiskStats" minOccurs="0"/>
<xs:element name="bound_radius" type="BoundRadius" minOccurs="0" maxOccurs="1"/>
<xs:element name="talk_info" type="TalkInfo" minOccurs="0" maxOccurs="1"/>
<xs:element name="massive_loot" type="MassiveLoot" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="npc_id" type="npcId" use="required"/>
<xs:attribute name="level" type="xs:short" use="required"/>
<xs:attribute name="name_id" type="xs:int" use="required"/>
<xs:attribute name="title_id" type="xs:int" default="0"/>
<xs:attribute name="name" type="xs:string" default=""/>
<xs:attribute name="group_drop" type="GroupDropType" default="NONE"/>
<xs:attribute name="height" type="xs:float" default="0"/>
<xs:attribute name="ammo_speed" type="xs:int"/>
<xs:attribute name="rating" type="NpcRating"/>
<xs:attribute name="rank" type="NpcRank"/>
<xs:attribute name="srange" type="xs:int" default="0"/>
<xs:attribute name="sangle" type="xs:int" default="360"/>
<xs:attribute name="tribe" type="TribeClass"/>
<xs:attribute name="type" type="NpcTemplateType"/>
<xs:attribute name="abyss_type" type="AbyssType"/>
<xs:attribute name="ai" type="xs:string"/>
<xs:attribute name="race" type="Race"/>
<xs:attribute name="hpgauge" type="xs:int"/>
<xs:attribute name="arange" type="xs:int"/>
<xs:attribute name="cast_speed" type="xs:int" default="1000"/>
<xs:attribute name="attack_speed" type="xs:int" default="2000"/>
<xs:attribute name="state" type="xs:int"/>
<xs:attribute name="floatcorpse" type="xs:boolean" default="false"/>
<xs:attribute name="stare_range" type="xs:int" default="10"/>
<xs:attribute name="on_mist" type="xs:boolean"/>
<xs:attribute name="mobile_event" type="xs:int"/>
<xs:attribute name="flag_type" type="xs:int"/>
<xs:attribute name="war_flag" type="xs:int"/>
<xs:attribute name="item_upgrade" type="xs:int"/>
</xs:complexType>
<xs:complexType name="npcEquipmentList">
<xs:sequence>
<xs:element name="item" type="itemId" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="KiskStats">
<xs:sequence/>
<xs:attribute name="usemask" type="xs:int" use="required"/>
<xs:attribute name="members" type="xs:int" use="required"/>
<xs:attribute name="resurrects" type="xs:int" use="required"/>
</xs:complexType>
<xs:complexType name="BoundRadius">
<xs:attribute name="front" type="xs:float"/>
<xs:attribute name="side" type="xs:float"/>
<xs:attribute name="upper" type="xs:float"/>
</xs:complexType>
<xs:complexType name="TalkInfo">
<xs:attribute name="distance" type="xs:int"/>
<xs:attribute name="delay" type="xs:int"/>
<xs:attribute name="is_dialog" type="xs:boolean" default="false"/>
<xs:attribute name="func_dialogs" type="IntListType"/>
<xs:attribute name="subdialog_type" type="SubDialogType"/>
<xs:attribute name="subdialog_value" type="xs:int" use="optional"/>
<xs:attribute name="can_talk_invisible" type="xs:boolean" default="true"/>
</xs:complexType>
<xs:complexType name="MassiveLoot">
<xs:attribute name="m_loot_count" type="xs:int"/>
<xs:attribute name="m_loot_item" type="xs:int"/>
<xs:attribute name="m_loot_min_level" type="xs:int"/>
<xs:attribute name="m_loot_max_level" type="xs:int"/>
</xs:complexType>
<xs:simpleType name="NpcTemplateType">
<xs:restriction base="xs:string">
<xs:enumeration value="MERCENARY"/>
<xs:enumeration value="GENERAL"/>
<xs:enumeration value="GUARD"/>
<xs:enumeration value="SUMMON_PET"/>
<xs:enumeration value="ABYSS_GUARD"/>
<xs:enumeration value="MONSTER"/>
<xs:enumeration value="HOUSING"/>
<xs:enumeration value="FLAG"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="RAID_MONSTER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AbyssType">
<xs:restriction base="xs:string">
<xs:enumeration value="SHIELDNPC_OFF"/>
<xs:enumeration value="RAID"/>
<xs:enumeration value="SHIELDNPC_ON"/>
<xs:enumeration value="DEFENDER"/>
<xs:enumeration value="BOSS"/>
<xs:enumeration value="DOOR"/>
<xs:enumeration value="GUARD"/>
<xs:enumeration value="TELEPORTER"/>
<xs:enumeration value="ETC"/>
<xs:enumeration value="ARTIFACT_EFFECT_CORE"/>
<xs:enumeration value="DOORREPAIR"/>
<xs:enumeration value="ARTIFACT"/>
<xs:enumeration value="NONE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NpcRank">
<xs:restriction base="xs:string">
<xs:enumeration value="NOVICE"/>
<xs:enumeration value="DISCIPLINED"/>
<xs:enumeration value="SEASONED"/>
<xs:enumeration value="EXPERT"/>
<xs:enumeration value="VETERAN"/>
<xs:enumeration value="MASTER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NpcRating">
<xs:restriction base="xs:string">
<xs:enumeration value="JUNK"/>
<xs:enumeration value="NORMAL"/>
<xs:enumeration value="ELITE"/>
<xs:enumeration value="HERO"/>
<xs:enumeration value="LEGENDARY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SubDialogType">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL_ALLOWED"/>
<xs:enumeration value="FORT_CAPTURE"/>
<xs:enumeration value="SKILL_ID"/>
<xs:enumeration value="ITEM_ID"/>
<xs:enumeration value="RETURN"/>
<xs:enumeration value="PCBANG"/>
<xs:enumeration value="PAID_USER"/>
<xs:enumeration value="NEWBIE"/>
<xs:enumeration value="ABYSSRANK"/>
<xs:enumeration value="CASH"/>
<xs:enumeration value="ABYSSRANKING"/>
<xs:enumeration value="LEVEL"/>
<xs:enumeration value="LEVEL_LOW"/>
<xs:enumeration value="LEVEL_HIGH"/>
<xs:enumeration value="LEGION_DOMINION_NPC"/>
<xs:enumeration value="TARGET_LEGION_DOMINION"/>
<xs:enumeration value="PACK_3"/>
<xs:enumeration value="PACK_4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="npcId">
<xs:restriction base="xs:int">
<xs:minInclusive value="200000"/>
<xs:maxInclusive value="1000000"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>