<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
	targetNamespace="character" xmlns:character="character"
	elementFormDefault="qualified" attributeFormDefault="unqualified"
	xmlns="character" xmlns:actor="actor" xmlns:template="template">
	<xs:import namespace="template" schemaLocation="template.xsd" />
	<xs:import namespace="actor" schemaLocation="actor.xsd" />

	<xs:complexType name="characterTemplate">
		<xs:complexContent>
			<xs:extension base="actor:actorTemplate">
				<xs:sequence>
					<xs:element name="stats" type="character:characterStatsMetadata"
						minOccurs="1" maxOccurs="1" />
					<xs:element name="collision" type="character:collisionMetadataContainer"
						minOccurs="1" maxOccurs="1" />
				</xs:sequence>
				<xs:attribute name="class" type="character:characterClass" />
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="characterStatsMetadata">
		<xs:sequence>
			<xs:element name="hp" type="character:stat" minOccurs="0" />
			<xs:element name="mp" type="character:stat" minOccurs="0" />
			<xs:element name="cp" type="character:stat" minOccurs="0" />
			<xs:element name="attack" type="character:attackMetadata"
				minOccurs="0" />
			<xs:element name="defense" type="character:defenseMetadata"
				minOccurs="0" />
			<xs:element name="move" type="character:moveMetadata"
				minOccurs="0" />
			<xs:element name="base" type="character:baseMetadata"
				minOccurs="0" />
			<xs:element name="maxload" type="xs:int" />
		</xs:sequence>
		<xs:attribute name="level" type="xs:int" use="required" />
		<xs:attribute name="crafter" type="xs:boolean" default="false" />
	</xs:complexType>

	<xs:complexType name="stat">
		<xs:sequence />
		<xs:attribute name="base" type="xs:double" use="required" />
		<xs:attribute name="modifier" type="xs:double" use="required" />
		<xs:attribute name="add" type="xs:double" use="required" />
	</xs:complexType>

	<xs:complexType name="attackMetadata">
		<xs:sequence>
			<xs:element name="physical" type="character:attackValueMetadata"
				minOccurs="0" />
			<xs:element name="magical" type="character:attackValueMetadata"
				minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="evasion" type="xs:int" use="required" />
		<xs:attribute name="critical" type="xs:int" use="required" />
		<xs:attribute name="accuracy" 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="character:defenseValueMetadata"
				minOccurs="0" />
			<xs:element name="magical" type="character: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="collisionMetadataContainer">
		<xs:sequence>
			<xs:element name="male" type="character:collisionMetadata"
				minOccurs="0" />
			<xs:element name="female" type="character:collisionMetadata"
				minOccurs="0" />
		</xs:sequence>
	</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:simpleType name="characterClass">
		<xs:restriction base="xs:string">
			<xs:enumeration value="HUMAN_FIGHTER" />
			<xs:enumeration value="WARRIOR" />
			<xs:enumeration value="GLADIATOR" />
			<xs:enumeration value="WARLORD" />
			<xs:enumeration value="KNIGHT" />
			<xs:enumeration value="PALADIN" />
			<xs:enumeration value="DARK_AVENGER" />
			<xs:enumeration value="ROGUE" />
			<xs:enumeration value="TREASURE_HUNTER" />
			<xs:enumeration value="HAWKEYE" />
			<xs:enumeration value="DUELIST" />
			<xs:enumeration value="DREADNOUGHT" />
			<xs:enumeration value="PHOENIX_KNIGHT" />
			<xs:enumeration value="HELL_KNIGHT" />
			<xs:enumeration value="SAGITTARIUS" />
			<xs:enumeration value="ADVENTURER" />
			<xs:enumeration value="HUMAN_MYSTIC" />
			<xs:enumeration value="WIZARD" />
			<xs:enumeration value="SORCEROR" />
			<xs:enumeration value="NECROMANCER" />
			<xs:enumeration value="WARLOCK" />
			<xs:enumeration value="CLERIC" />
			<xs:enumeration value="BISHOP" />
			<xs:enumeration value="PROPHET" />
			<xs:enumeration value="ARCHMAGE" />
			<xs:enumeration value="SOULTAKER" />
			<xs:enumeration value="ARCANA_LORD" />
			<xs:enumeration value="CARDINAL" />
			<xs:enumeration value="HIEROPHANT" />
			<xs:enumeration value="ELVEN_FIGHTER" />
			<xs:enumeration value="ELVEN_KNIGHT" />
			<xs:enumeration value="TEMPLE_KNIGHT" />
			<xs:enumeration value="SWORD_SINGER" />
			<xs:enumeration value="ELVEN_SCOUT" />
			<xs:enumeration value="PLAINS_WALKER" />
			<xs:enumeration value="SILVER_RANGER" />
			<xs:enumeration value="EVA_TEMPLAR" />
			<xs:enumeration value="SWORD_MUSE" />
			<xs:enumeration value="WIND_RIDER" />
			<xs:enumeration value="MOONLIGHT_SENTINEL" />
			<xs:enumeration value="ELVEN_MYSTIC" />
			<xs:enumeration value="ELVEN_WIZARD" />
			<xs:enumeration value="SPELLSINGER" />
			<xs:enumeration value="ELEMENTAL_SUMMONER" />
			<xs:enumeration value="ORACLE" />
			<xs:enumeration value="ELDER" />
			<xs:enumeration value="MYSTIC_MUSE" />
			<xs:enumeration value="ELEMENTAL_MASTER" />
			<xs:enumeration value="EVA_SAINT" />
			<xs:enumeration value="DARK_FIGHTER" />
			<xs:enumeration value="PALUS_KNIGHT" />
			<xs:enumeration value="SHILLIEN_KNIGHT" />
			<xs:enumeration value="BLADEDANCER" />
			<xs:enumeration value="ASSASSIN" />
			<xs:enumeration value="ABYSS_WALKER" />
			<xs:enumeration value="PHANTOM_RANGER" />
			<xs:enumeration value="SHILLIEN_TEMPLAR" />
			<xs:enumeration value="spectralDancer" />
			<xs:enumeration value="GHOST_HUNTER" />
			<xs:enumeration value="GHOST_SENTINEL" />
			<xs:enumeration value="DARK_MYSTIC" />
			<xs:enumeration value="DARK_WIZARD" />
			<xs:enumeration value="SPELLHOWLER" />
			<xs:enumeration value="PHANTOM_SUMMONER" />
			<xs:enumeration value="SHILLIEN_ORACLE" />
			<xs:enumeration value="SHILLIEN_ELDER" />
			<xs:enumeration value="STORM_SCREAMER" />
			<xs:enumeration value="SPECTRAL_MASTER" />
			<xs:enumeration value="SHILLIEAN_SAINT" />
			<xs:enumeration value="ORC_FIGHTER" />
			<xs:enumeration value="ORC_RAIDER" />
			<xs:enumeration value="DESTROYER" />
			<xs:enumeration value="ORC_MONK" />
			<xs:enumeration value="TYRANT" />
			<xs:enumeration value="TITAN" />
			<xs:enumeration value="GRAND_KHAUATARI" />
			<xs:enumeration value="ORC_MYSTIC" />
			<xs:enumeration value="ORC_SHAMAN" />
			<xs:enumeration value="OVERLORD" />
			<xs:enumeration value="WARCRYER" />
			<xs:enumeration value="DOMINATOR" />
			<xs:enumeration value="DOOMCRYER" />
			<xs:enumeration value="DWARVEN_FIGHTER" />
			<xs:enumeration value="SCAVENGER" />
			<xs:enumeration value="BOUNTY_HUNTER" />
			<xs:enumeration value="ARTISAN" />
			<xs:enumeration value="WARSMITH" />
			<xs:enumeration value="FORTUNE_SEEKER" />
			<xs:enumeration value="MAESTRO" />
			<xs:enumeration value="MALE_SOLDIER" />
			<xs:enumeration value="TROOPER" />
			<xs:enumeration value="BERSEKER" />
			<xs:enumeration value="MALE_SOULBREAKER" />
			<xs:enumeration value="DOOMBRINGER" />
			<xs:enumeration value="MALE_SOULDHOUND" />
			<xs:enumeration value="FEMALE_SOLDIER" />
			<xs:enumeration value="WARDER" />
			<xs:enumeration value="FEMALE_SOULBREAKER" />
			<xs:enumeration value="ARBALESTER" />
			<xs:enumeration value="FEMALE_SOULDHOUND" />
			<xs:enumeration value="TRICKSTER" />
			<xs:enumeration value="INSPECTOR" />
			<xs:enumeration value="JUDICATOR" />
			<xs:enumeration value="DUMMY_ENTRY_1" />
			<xs:enumeration value="DUMMY_ENTRY_2" />
			<xs:enumeration value="DUMMY_ENTRY_3" />
			<xs:enumeration value="DUMMY_ENTRY_4" />
			<xs:enumeration value="DUMMY_ENTRY_5" />
			<xs:enumeration value="DUMMY_ENTRY_6" />
			<xs:enumeration value="DUMMY_ENTRY_7" />
			<xs:enumeration value="DUMMY_ENTRY_8" />
			<xs:enumeration value="DUMMY_ENTRY_9" />
			<xs:enumeration value="DUMMY_ENTRY_10" />
			<xs:enumeration value="DUMMY_ENTRY_11" />
			<xs:enumeration value="DUMMY_ENTRY_12" />
			<xs:enumeration value="DUMMY_ENTRY_13" />
			<xs:enumeration value="DUMMY_ENTRY_14" />
			<xs:enumeration value="DUMMY_ENTRY_15" />
			<xs:enumeration value="DUMMY_ENTRY_16" />
			<xs:enumeration value="DUMMY_ENTRY_17" />
			<xs:enumeration value="DUMMY_ENTRY_18" />
			<xs:enumeration value="DUMMY_ENTRY_19" />
			<xs:enumeration value="DUMMY_ENTRY_20" />
			<xs:enumeration value="DUMMY_ENTRY_21" />
			<xs:enumeration value="DUMMY_ENTRY_22" />
			<xs:enumeration value="DUMMY_ENTRY_23" />
			<xs:enumeration value="DUMMY_ENTRY_24" />
			<xs:enumeration value="DUMMY_ENTRY_25" />
			<xs:enumeration value="DUMMY_ENTRY_26" />
			<xs:enumeration value="DUMMY_ENTRY_27" />
			<xs:enumeration value="DUMMY_ENTRY_28" />
			<xs:enumeration value="DUMMY_ENTRY_29" />
			<xs:enumeration value="DUMMY_ENTRY_30" />
			<xs:enumeration value="DUMMY_ENTRY_31" />
			<xs:enumeration value="DUMMY_ENTRY_32" />
			<xs:enumeration value="DUMMY_ENTRY_33" />
			<xs:enumeration value="DUMMY_ENTRY_34" />
		</xs:restriction>
	</xs:simpleType>

	<xs:element name="character" type="character:characterTemplate" />
</xs:schema>

