<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Julian Beak (Disney Interactive Victoria) -->
<!--(c) 2002 Copyright Disney Interactive
All rights are reserved.-->
<xs:schema targetNamespace="http://www.inlightentertainment.com/ai" xmlns:core="http://www.inlightentertainment.com/core" xmlns:ai="http://www.inlightentertainment.com/ai" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.inlightentertainment.com/core" schemaLocation="./core.xsd"/>
	<xs:element name="ai">
		<xs:annotation>
			<xs:documentation>The name is the factory name used in AI::factory()</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice minOccurs="0">
				<xs:annotation>
					<xs:documentation>The following are the parameter types. Each tag allows for different parameters to be passed into the AI::factory()</xs:documentation>
				</xs:annotation>
				<xs:element name="aiBattleStickFighterParams" type="ai:aiBattleStickFighterType"/>
				<xs:element name="aiCycleRaceBikeJuniParams" type="ai:aiCycleRaceBikeJuniType"/>
				<xs:element name="aiCycleRaceBikeEnemyParams" type="ai:aiCycleRaceBikeEnemyType"/>
				<xs:element name="aiLavaSurfJuniParams" type="ai:aiLavaSurfJuniType"/>
				<xs:element name="aiLavaSurfChodeParams" type="ai:aiLavaSurfChodeType"/>
				<xs:element name="aiPlatformFlipperParams" type="ai:aiPlatformFlipperType"/>
				<xs:element name="aiPlatformMoverParams" type="ai:aiPlatformMoverType"/>
			</xs:choice>
			<xs:attribute name="name" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="aiBattleStickArni"/>
						<xs:enumeration value="aiBattleStickJuni"/>
						<xs:enumeration value="aiCycleRaceBikeJuni"/>
						<xs:enumeration value="aiCycleRaceBikeEnemy"/>
						<xs:enumeration value="aiLavaSurfChode"/>
						<xs:enumeration value="aiLavaSurfJuni"/>
						<xs:enumeration value="aiPlatform"/>
						<xs:enumeration value="aiPlatformMover"/>
						<xs:enumeration value="aiPlatformFlipper"/>
						<xs:enumeration value=""/>
						<xs:enumeration value=""/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="aiBattleStickFighterType">
		<xs:annotation>
			<xs:documentation>Parameters that Juni uses in his InputAI</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="maxVelocityScalars">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="jump" type="xs:float"/>
						<xs:element name="pogo" type="xs:double"/>
						<xs:element name="air" type="xs:double"/>
						<xs:element name="run" type="xs:double"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="attack">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="reach" type="xs:double"/>
						<xs:element name="degreeRange" type="xs:double"/>
						<xs:element name="duration" type="xs:double"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="points" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="multiplierForMultipleHits" type="xs:double" minOccurs="0"/>
						<xs:element name="timeSpanForMultipleHits" type="xs:double" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="forHittingEnemy" type="xs:integer" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="powerUpDuration" type="xs:double" minOccurs="0"/>
			<xs:element name="barrier" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="spawnDuration" type="xs:float"/>
						<xs:element name="spawnableType" type="xs:string" maxOccurs="unbounded"/>
						<xs:element name="maximumNumberInPlay" type="xs:float"/>
						<xs:element name="stickCharges" type="xs:float" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="aiCycleRaceBikeJuniType">
		<xs:annotation>
			<xs:documentation>BikeJuni InputAI params.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="turboSettings">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="turboDuration" type="xs:double"/>
						<xs:element name="turboAcceleration" type="xs:double"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="speedSettings">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="speedDuration" type="xs:double"/>
						<xs:element name="speedAcceleration" type="xs:double"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="aiCycleRaceBikeEnemyType">
		<xs:annotation>
			<xs:documentation>BikeEnemy params.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="speedSettings">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="speedDuration" type="xs:double"/>
						<xs:element name="speedAcceleration" type="xs:double"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="aiLavaSurfChodeType">
		<xs:annotation>
			<xs:documentation>controls lava chodes</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="blah"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="aiLavaSurfJuniType">
		<xs:annotation>
			<xs:documentation>control for Juni in Lava surf</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="blah"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="aiPlatformMoverType">
		<xs:annotation>
			<xs:documentation>Used for any moving platforms in BattleSticks</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="pointA" type="core:pointType"/>
			<xs:element name="pointB" type="core:pointType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="aiPlatformFlipperType">
		<xs:annotation>
			<xs:documentation>Used for any flipping platforms in BattleSticks</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TimeToStayFlipped" type="xs:float"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
