###############################################################################
#
# level1.txt
# original level 1 data for XR7: EarthStrike developed by Drake Analytics, Inc.
# www.xandis.com
#
# This is the data for level 1 of the game:
#	Level 1 is a Galaxian style level so the player is a ship at the bottom
#	of the screen and must defend itself against attackers coming down. Once
#	The waves of attacks are done the user progresses to the next level. There is
#	1 opportunity for a bonus item on this level. 
#
###############################################################################

def lighting MainAmbientLight
	color = 255 255 255 255 # R G B A 
end

def bounds PlayerBounds
	min	= -4.0 -3.0 -1.0
	max	=  4.0 -1.0 1.0
end

def bounds MainBounds
	min	= -4.5 -4.5 -4.5
	max	= 4.5	4.5 4.5
end

def projection NormalProjection
	nearplane	= 1.0
	farplane	= 100.0
	fov		= 0.7850
	aspect		= 1.0
end

def camera NormalCamera
	lookat	= 0.0 0.0 0.0		# where the camera is looking
	pos	= 0.0 0.0 -10.0		# where the camera is located
	up	= 0.0 1.0 0.0		# direction that is UP
end

################## RENDER STATES ######################
#
def renderstate ModelRenderState
	id		= 1
	zenable		= t		# update the z-buffer or not
	specularenable	= f		
	fogenable	= f		# rendering with fog or not
	alphaenable	= f		# alpha blending or not
	lightenable	= t		# lighting or not (requires normals if on)
	fillmode	= SOLID		# SOLID | POINT | WIRE  
	shading		= GOURAUD	# GOURAUD | FLAT
	lighting	= 255 255 255	# R G B  (not used!)
	alphasrc	= SRCCOL
	alphadest	= DESTCOL
	blendop		= ADD
	cull		= CCW		# CCW | CW | NONE
	clipping	= y
end

def renderstate ParticleRenderState
	id		= 2
	zenable		= f
	specularenable	= f
	fogenable	= f
	alphaenable	= t
	lightenable	= f
	fillmode	= SOLID
	shading		= GOURAUD
	lighting	= 255 255 255
	alphasrc	= ONE
	alphadest	= ONE
	blendop		= ADD
	cull		= NONE
	clipping	= y
end

def renderstate SpriteRenderState
	id		= 3
	zenable		= f
	specularenable	= f
	fogenable	= f
	alphaenable	= t
	lightenable	= f
	fillmode	= SOLID
	shading		= GOURAUD
	lighting	= 255 255 255
	alphasrc	= SRCALPHA
	alphadest	= DESTALPHA
	blendop		= ADD
	cull		= NONE
	clipping	= y
end

def renderstate PanelRenderState
	id		= 41
	zenable		= f
	specularenable	= f
	fogenable	= f
	alphaenable	= f
	lightenable	= f
	fillmode	= SOLID
	shading		= GOURAUD
	lighting	= 255 255 255
	alphasrc	= ONE
	alphadest	= ONE
	blendop		= ADD
	cull		= NONE
	clipping	= y
end

def renderstate BackImageRenderState
	id		= 4
	zenable		= f
	specularenable	= f
	fogenable	= f
	alphaenable	= t
	lightenable	= f
	fillmode	= SOLID
	shading		= GOURAUD
	lighting	= 255 255 255
	alphasrc	= ONE
	alphadest	= ONE
	blendop		= ADD
	cull		= NONE
	clipping	= y
end

def renderstate ScoreLabelRenderState
	id		= 6
	zenable		= f
	specularenable	= f
	fogenable	= f
	alphaenable	= t
	lightenable	= f
	fillmode	= SOLID
	shading		= GOURAUD
	lighting	= 255 255 255
	alphasrc	= DESTALPHA
	alphadest	= ONE
	blendop		= ADD
	cull		= NONE
	clipping	= y
end

################## .X MODELS #############################
#
def model AttackerModel
	source		= models\geo-eye.X
	renderstate	= ModelRenderState
end

def model EyePolyModel
	source		= models\eye-fighter.X
	renderstate	= ModelRenderState
end

def model Laser
	source		=  models\laser.X
	renderstate 	= ModelRenderState
end

def model CommShipModel
	source		= models\saucer.X
	renderstate 	= ModelRenderState
end

def model BonusItemModel
	source		= models\bonus.X
	renderstate 	= ModelRenderState
end

def model AttractorModel
	source		= models\eyeball.X
	renderstate	= ModelRenderState
end

############## WAVE FORMS AND MIDI MUSIC##################
#
def music Level1Music
	source	= audio\music\ALEX-donts1se.mid
	repeats	= 1000
end

def wave LaserSound
	source	= audio\waves\laser2.wav
	repeats = 0
end

def wave CollideSound
	source	= audio\waves\collide.wav
	repeats	= 0
end

def wave CommFlyBySound
	source	= audio\waves\fx2.wav
	repeats	= 3
end

def wave BonusItemGrabbedSound
	source	= audio\waves\fx1.wav
	repeats = 0
end

def wave BigExplode
	source	= audio\waves\big-explode.wav
	repeats = 0
end

################### PARTICLE SYSTEMS #####################
#
def particle LaserHit
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 16
	life		= 6
	startcolor	= 1.0		0.6	0.0	1.0
	coloradjmin	= -0.0625	-0.0125	0.0	-0.12
	coloradjmax	= -0.025	-0.005	0.0	-0.1
	repeat		= 0
	maxonscreen	= 8	# max of these systems on screen not max particles on screen
	size		= 8.0
	posadjmin	= -0.1 -0.1 -0.1
	posadjmax	=  0.1  0.1  0.1
end

def particle EyeAttackerDeath
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 16
	life		= 8
	startcolor	= 1.0	0.2	0.0	0.8
	coloradjmin	= -0.12	-0.03	0.0	-0.12
	coloradjmax	= -0.05	-0.01	0.0	-0.1
	repeat		= 0
	maxonscreen	= 16	# max of these systems on screen not max particles on screen
	size		= 16.0
	posadjmin	= -0.20 -0.20 -0.20
	posadjmax	=  0.20  0.20  0.20
end

def particle EyeAttackerDeath2
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 32
	life		= 8
	startcolor	= 1.0	0.3	0.0	0.8
	coloradjmin	= -0.12	-0.04	0.0	-0.12
	coloradjmax	= -0.05	-0.01	0.0	-0.1
	repeat		= 0
	maxonscreen	= 8	# max of these systems on screen not max particles on screen
	size		= 32.0
	posadjmin	= -0.05 -0.05 -0.05
	posadjmax	=  0.05  0.05  0.05
end

def particle AttackerDeath
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 16
	life		= 12
	startcolor	= 1.0	0.2	0.0	0.8
	coloradjmin	= -0.12	-0.03	0.0	-0.12
	coloradjmax	= -0.05	-0.01	0.0	-0.1
	repeat		= 0
	maxonscreen	= 12	# max of these systems on screen not max particles on screen
	size		= 16.0
	posadjmin	= -0.40 -0.40 -0.40
	posadjmax	=  0.40  0.40  0.40
end

def particle AttackerDeath2
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 32
	life		= 12
	startcolor	= 1.0	0.3	0.0	0.8
	coloradjmin	= -0.12	-0.04	0.0	-0.12
	coloradjmax	= -0.05	-0.01	0.0	-0.1
	repeat		= 0
	maxonscreen	= 12	# max of these systems on screen not max particles on screen
	size		= 32.0
	posadjmin	= -0.15 -0.15 -0.15
	posadjmax	=  0.15  0.15  0.15
end

def particle GotBonusItem
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 16
	life		= 12
	startcolor	= 1.0	0.0	1.0	0.8
	coloradjmin	= -0.12	-0.00	-0.12	-0.12
	coloradjmax	= -0.05	-0.00	-0.05	-0.1
	repeat		= 0
	maxonscreen	= 2	# max of these systems on screen not max particles on screen
	size		= 32.0
	posadjmin	= -0.25 -0.25 -0.25
	posadjmax	=  0.25  0.25  0.25
end

def particle MassiveExplosion
	texture		= sprites\particle-intro.dds
	renderstate	= ParticleRenderState
	numparticles	= 64
	life		= 640
	startcolor	= 1.0	 0.5	0.0	0.8
	coloradjmin	= -0.004 -0.004	-0.0	-0.003
	coloradjmax	= -0.001 -0.001	-0.00	-0.001
	repeat		= 0
	maxonscreen	= 9	# max of these systems on screen not max particles on screen
	size		= 64.0
	posadjmin	= -0.15 -0.15 -0.15
	posadjmax	=  0.15  0.15  0.15
end

############### SPRITES ######################
#
# Sprites are mainly just used for background images
# rather than in-game-play images. However, explosions
# and the such still can be done the old fashion way instead
# of using particles if one wants...just do something like
# this in a sequence:
#		drawsprite = explosion-sprite1
#		waitframes = 1
#		drawsprite = explosion-sprite2
#		...
# 
def sprite Back1
	source		= sprites\level1-back-1.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= BackImageRenderState
	size		= 1.0
end

def sprite Back2
	source		= sprites\level1-back-2.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= BackImageRenderState
	size		= 1.0
end

def sprite Back3
	source		= sprites\level1-back-3.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= BackImageRenderState
	size		= 1.0
end

def sprite Back4
	source		= sprites\level1-back-4.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= BackImageRenderState
	size		= 1.0
end

def sprite Back5
	source		= sprites\level1-back-5.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= BackImageRenderState
	size		= 1.0
end

def sprite Back6
	source		= sprites\level1-back-6.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= BackImageRenderState
	size		= 1.0
end

def sprite Panel1
	source		= sprites\panel-1.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel2
	source		= sprites\panel-2.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel3
	source		= sprites\panel-3.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel4
	source		= sprites\panel-4.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel5
	source		= sprites\panel-5.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel6
	source		= sprites\panel-6.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel7
	source		= sprites\panel-7.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel8
	source		= sprites\panel-8.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel9
	source		= sprites\panel-9.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel10
	source		= sprites\panel-10.bmp
	transformed	= y
	maxonscreen	= 1
	renderstate	= PanelRenderState
	size		= 1.0
end

def sprite Panel11
	source		= sprites\score-1.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end

def sprite Panel12
	source		= sprites\score-2.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end

def sprite Panel13
	source		= sprites\score-3.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end

def sprite Panel14
	source		= sprites\score-4.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end

def sprite Panel15
	source		= sprites\score-5.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end

def sprite Panel16
	source		= sprites\highscore-1.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel17
	source		= sprites\highscore-2.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel18
	source		= sprites\highscore-3.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel19
	source		= sprites\highscore-4.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel20
	source		= sprites\highscore-5.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel21
	source		= sprites\highscore-6.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel22
	source		= sprites\highscore-7.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

def sprite Panel23
	source		= sprites\highscore-8.dds
	transformed	= y
	maxonscreen	= 1
	renderstate	= ScoreLabelRenderState
	size		= 1.0
end	

################# BACK IMAGES #################
#
def backimage Level1BackImage
	numimages	= 6
	image1		= Back1
	image2		= Back2
	image3		= Back3
	image4		= Back4
	image5		= Back5
	image6		= Back6
	pos1		= 16.0	0.0	0.0
	pos2		= 272.0	0.0	0.0
	pos3		= 528.0 0.0	0.0
	pos4		= 16.0	256.0	0.0
	pos5		= 272.0	256.0	0.0
	pos6		= 528.0	256.0	0.0
end

def backimage PanelDisplay
	numimages	= 23
	pos1		= 80.0	536.0	0.0
	pos2		= 144.0 536.0	0.0
	pos3		= 208.0 536.0	0.0
	pos4		= 272.0 536.0	0.0
	pos5		= 336.0 536.0	0.0
	pos6		= 400.0 536.0	0.0
	pos7		= 464.0 536.0	0.0
	pos8		= 528.0 536.0	0.0
	pos9		= 592.0 536.0	0.0
	pos10		= 656.0 536.0	0.0
	pos11		= 556.0	0.0	0.0
	pos12		= 572.0 0.0	0.0
	pos13		= 588.0	0.0	0.0
	pos14		= 604.0 0.0	0.0
	pos15		= 620.0 0.0	0.0
	pos16		= 244.0	0.0	0.0
	pos17		= 260.0	0.0	0.0
	pos18		= 276.0	0.0	0.0
	pos19		= 292.0	0.0	0.0
	pos20		= 308.0 0.0	0.0
	pos21		= 324.0 0.0	0.0
	pos22		= 340.0	0.0	0.0
	pos23		= 356.0 0.0	0.0
	image1		= Panel1
	image2		= Panel2
	image3		= Panel3
	image4		= Panel4
	image5		= Panel5
	image6		= Panel6
	image7		= Panel7
	image8		= Panel8
	image9		= Panel9
	image10		= Panel10
	image11		= Panel11
	image12		= Panel12
	image13		= Panel13
	image14		= Panel14
	image15		= Panel15
	image16		= Panel16
	image17		= Panel17
	image18		= Panel18
	image19		= Panel19
	image20		= Panel20
	image21		= Panel21
	image22		= Panel22
	image23		= Panel23
end

################# FONTS #################
#
def font PanelScoresFont
	usebitmap	= y
	renderstate	= SpriteRenderState
#
# if using bitmap (i.e. extracting chars from a file - old style but faster):
#
	bitmap		= sprites\highscores-font.dds
	size		= 16	# NxN in pixels where N = 8 or 16
	vspacing	= 0
	hspacing	= 0
	maxstringsize	= 64
#
# if creating chars on-the-fly from windows fonts (slow but flexible...and not really tested!):
#
#	typeface	= Arial
#	color		= 255 255 255 	# R G B 
#	size		= 24
#	bold		= 4		# (-4 to 8 with 0 as normal)
#	italic		= f
#	underline	= f
#	strikeout	= f
end

################# PANEL #################
#
# Note, it is a good idea to include a sysstat font and position
# even if you have showsysstat = n -- this is because during gameplay
# the user may want to see the stats by using the D)isplay Stats key
# (where C)ancel Stats turns them off).
#
def panel DisplayPanel
	labels		= PanelDisplay

	showsysstat	= n
	showlives	= y
	showscore	= y
	showlevel	= n
	showhighscore	= y
	showshield	= y
	showenergy	= y
	showplayer	= y

	barrenderstate	= PanelRenderState

	sysstatfont	= PanelScoresFont
	playerfont	= PanelScoresFont
	livesfont	= PanelScoresFont
	scorefont	= PanelScoresFont
#	levelfont	= fontname
	highscorefont	= PanelScoresFont
	shieldfont	= HBAR
	energyfont	= HBAR

	playerpos	= 608.0 572.0 0.0
	sysstatpos	= 0.0 0.0 0.0
	livespos	= 565.0 552.0 0.0
	scorepos	= 640.0 0.0 0.0
#	levelpos	= f f f
	highscorepos	= 368.0 0.0 0.0
	shieldpos	= 223.0 550.0 0.0
	energypos	= 223.0 574.0 0.0

	shieldcolor	= 255 0 0 196
	shieldmaxlength = 240
	shieldwidth	= 16

	energycolor	= 255 0 0 196
	energymaxlength = 240
	energywidth	= 16
end

################# SEQUENCES ####################
#
def sequence CommShipFlyBy
	playwave	= CommFlyBySound
end

def sequence LaserCollision
	playwave	= CollideSound
	startparticle	= LaserHit
end

def sequence AttackerLaserFire
	playwave		= LaserSound
	startactoroffset	= 0.0 -0.3 0.0 AttackerLaser
end

def sequence AttackerDeathSeq
	startparticle	= AttackerDeath2
	waitframes	= 3
	startparticle	= AttackerDeath
end

def sequence EyeAttackerDeathSeq
	startparticle	= EyeAttackerDeath2
	waitframes	= 3
	startparticle	= EyeAttackerDeath
end

def sequence AttractorDeathSeq
	playwave		= BigExplode
	startparticle		= AttackerDeath2
	startparticleoffset 	= -0.02 -0.02 0.0 AttackerDeath2
	startparticleoffset 	= 0.02 0.02 0.0 AttackerDeath2
	waitframes		= 3
	startparticle		= AttackerDeath
	startparticleoffset 	= -0.02 -0.02 0.0 AttackerDeath
	startparticleoffset 	= 0.02 0.02 0.0 AttackerDeath
end

def sequence CommShipDeathSeq
	playwave		= CommFlyBySound
	startparticle		= EyeAttackerDeath2
	waitframes		= 3
	startactor		= BonusItem
	startparticle		= EyeAttackerDeath
end

def sequence BonusItemGrabbed
	playwave	= BonusItemGrabbedSound
	startparticle	= GotBonusItem
end

def sequence MassiveExplosionSeq
	waitframes		= 6
	playwave		= BigExplode
	startparticle		= MassiveExplosion
	startparticleoffset 	= 2.0 0.0 0.0 MassiveExplosion
	startparticleoffset 	= 2.0 2.0 0.0 MassiveExplosion
	startparticleoffset 	= 0.0 2.0 0.0 MassiveExplosion
	waitframes		= 6
	playwave		= BigExplode
	startparticleoffset 	= -2.0 2.0 0.0 MassiveExplosion
	startparticleoffset 	= -2.0 0.0 0.0 MassiveExplosion
	startparticleoffset 	= -2.0 -2.0 0.0 MassiveExplosion
	waitframes		= 6
	playwave		= BigExplode
	startparticleoffset 	= 0.0 -2.0 0.0 MassiveExplosion
	startparticleoffset 	= 2.0 -2.0 0.0 MassiveExplosion
end


################### SCRIPTS ##################
#
# Simple attacking pattern
#
def script AttackerScript
	repeats = 10000
#	0	  1		2	3	4	5	6	7	8	9	10	11	12	13	14	15	16		17	18	19	20	21	22	23	24	25
# 	lineN	= action	n	b	px	py	pz	rx	ry	rz	sx	sy	sz	s%	n	seq%	seq		spx	spy	spz	srx	sry	srz	ssx	ssy	ssz
	line1	= adj		0	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line2	= adj		50	f	0.0	-0.06	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0 	
	line3	= adj		50	f	0.0	-0.06	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line4	= adj		30	f	0.0	0.0	0.0	0.7	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line5	= adj		50	f	0.06	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line6	= adj		50	f	-0.06	0.06	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line7	= adj		50	f	0.0	-0.06	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line8	= adj		30	f	0.0	0.0	0.0	0.7	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line9	= adj		100	f	0.0	-0.06	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line10	= adj		60	f	0.0	0.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line11	= adj		0	f	0.0	12.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line12	= adj		100	f	-0.03	-0.06	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
	line13	= adj		100	f	0.0	-0.06	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line14	= adj		60	f	0.0	0.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line15	= adj		0	f	3.0	12.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line16	= adj		100	f	0.0	-0.12	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line17	= adj		60	f	0.0	0.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line18	= adj		0	f	0.0	12.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line19	= adj		100	f	0.03	-0.06	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line20	= adj		100	f	0.0	-0.06	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line21	= adj		60	f	0.0	0.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line22	= adj		0	f	-3.0	12.0	0.0	0.0	0.00	0.00	0.0	0.00	0.0	0.00	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
end

#
# More enemy attacking patterns
#
def script EyeAttackerScript
	repeats = 10000
#	0	  1		2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18	19	20	21	22	23	24	25
# 	lineN	= action	n	b	px	py	pz	rx	ry	rz	sx	sy	sz	s%	n	seq%	seq	spx	spy	spz	srx	sry	srz	ssx	ssy	ssz
	line1	= adj		0	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line2	= adj		300	f	-0.03	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line3	= adj		90	f	0.0	0.0	0.0	0.4	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line4	= adj		10	f	-0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line5	= adj		20	f	0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line6	= adj		20	f	-0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line7	= adj		20	f	0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line8	= adj		20	f	-0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line9	= adj		40	f	0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line10	= adj		0	f	-3.0	16.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line11	= adj		160	f	0.0	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line12	= adj		0	f	0.0	16.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line13	= adj		30	f	0.0	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line14	= adj		160	f	0.0	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0 0.0 0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line15	= adj		0	f	9.0	14.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line16	= adj		30	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
end

#
# Comm ship at very top - drops bonus item when killed
#
def script CommShipScript
	repeats = 6
#	0	  1		2	3	4	5	6	7	8	9	10	11	12	13	14	15	16		17	18	19	20	21	22	23	24	25
# 	lineN	= action	n	b	px	py	pz	rx	ry	rz	sx	sy	sz	s%	n	seq%	seq		spx	spy	spz	srx	sry	srz	ssx	ssy	ssz
	line1	= adj		400	f	-0.03	0.00	0.0	0.0	0.1	0.0	0.0	0.00	0.0	0.0	0	0.01	CommShipFlyBy	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line2	= adj		120	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line3	= adj		400	f	0.03	0.00	0.0	0.0	-0.1	0.0	0.0	0.00	0.0	0.0	0	0.01	CommShipFlyBy	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
end

def script EyeAttacker2Script
	repeats = 10000
#	0	  1		2	3	4	5	6	7	8	9	10	11	12	13	14	15	16		17	18	19	20	21	22	23	24	25
# 	lineN	= action	n	b	px	py	pz	rx	ry	rz	sx	sy	sz	s%	n	seq%	seq		spx	spy	spz	srx	sry	srz	ssx	ssy	ssz
	line1	= adj		0	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line2	= adj		30	f	0.0	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line3	= adj		30	f	-0.1	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line4	= adj		40	f	0.0	-0.05	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line5	= adj		30	f	0.0	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line6	= adj		40	f	0.0	-0.05	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line7	= adj		60	f	0.025	0.05	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line8	= adj		80	f	0.0	-0.05	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line9	= adj		50	f	0.03	0.04	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line10	= adj		40	f	0.0	0.05	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line11	= adj		200	f	-0.03	-0.04	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line12	= adj		30	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line13	= adj		0	f	6.0	12.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
end

def script EyeAttacker3Script
	repeats = 10000
#	0	 1		2	3	4	5	6	7	8	9	10	11	12	13	14	15	16		17	18	19	20	21	22	23	24	25
# 	lineN	= action	n	b	px	py	pz	rx	ry	rz	sx	sy	sz	s%	n	seq%	seq		spx	spy	spz	srx	sry	srz	ssx	ssy	ssz
	line1	= adj		0	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line2	= adj		300	f	0.03	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line3	= adj		90	f	0.0	0.0	0.0	0.4	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line4	= adj		10	f	0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line5	= adj		20	f	-0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line6	= adj		20	f	0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line7	= adj		20	f	-0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line8	= adj		20	f	0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line9	= adj		40	f	-0.1	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line10	= adj		0	f	3.0	16.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line11	= adj		160	f	0.0	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line12	= adj		0	f	0.0	16.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line13	= adj		30	f	0.0	0.0	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line14	= adj		160	f	0.0	-0.1	0.0	0.1	0.00	0.00	0.0	0.00	0.0	0.00	0	0.02	AttackerLaserFire 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line15	= adj		0	f	-9.0	14.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
	line16	= adj		30	f	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.00	0.0	0.0	0	0.0	0		0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
end


################## WEAPONS ###############
#
# Depending on the need, weapon definitions may not be needed for
# enemy or neutral actors. Weapons are really leftovers from the original
# game design and aren't always needed since sequences are just as good.
#
# Those actors that are scripted may instead
# just use a sequence to initiate other actors that serve as weapons
# rather than go through the weapon process. There are advantages and
# disadvantages to this. By using a weapon definition, one can allow a certain
# amount of ammunition and one can take advantage of more precise
# positioning of the weapon. By not using the weapon definition, one reduces
# overhead and one avoids calling the D3DXTransformCoord for each weapon
# position each time the actor moves.
#
# For the EnemyEye actors, no weapon definition is used but instead a
# sequence is initiated periodically that contains a laser.
# 
# For players, of course, weapon definitions are required since keeping track
# of ammunition levels is required and this also permits weapon upgrading.
#
#################### NO WEAPONS SPECIFIED #################

################## COLLISION EFFECTS ##############
#
def effect EnemyCollisionEffect
	points		= 50
	energy		= 0		# only make this < 0 if need ability to bypass shield
	shield		= -20
	weapon		= 0
	lives		= 0
	ammo		= 0
	pos		= 0.0 0.0 0.0
	posdecay	= 0.0
end

def effect EnemyLaserCollisionEffect
	points		= 0
	energy		= 0		# only make this < 0 if need ability to bypass shield
	shield		= -2
	weapon		= 0
	lives		= 0
	ammo		= 0
	pos		= 0.0 0.0 0.0
	posdecay	= 0.0
end

def effect AttractorCollisionEffect
	points		= 500
	energy		= 0		# only make this < 0 if need ability to bypass shield
	shield		= -25
	weapon		= 0
	lives		= 0
	ammo		= 0
	pos		= 0.0 0.0 0.0
	posdecay	= 0.0
end

def effect BonusItemPower
	points		= 5000
	energy		= 50
	shield		= 50
	weapon		= WideAngleLaser
	lives		= 0
	ammo		= 100
	pos		= 0.0 0.0 0.0
	posdecay	= 0.0
end

################## ACTORS ####################
#
def actor Attacker
	model			= AttackerModel
	weaponcapacity		= 0
	numweapons		= 0		# uses raw sequences instead
	deathseq		= AttackerDeathSeq
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= EnemyCollisionEffect
	collisioneffect		= EnemyCollisionEffect
	maxonscreen		= 11
	type			= ENEMY
	collidewith		= PLAYER PLAYERFIRE
	partnerseq		= 0
	bounds			= 0
	drift			= 0.00 0.0 0.0
	rotation		= 0.0 0.1 0.0
	script			= AttackerScript
	input			= SCRIPT
	copy			= 0
	bounding		= -1
	shield			= 0
	energy			= 25
	maxshield		= 50
	maxenergy		= 50
	rot			= 0.0 0.0 0.0
	scale			= 0.20 0.20 0.20
end

def actor EyeAttacker
	model			= EyePolyModel
	weaponcapacity		= 0
	numweapons		= 0		# uses raw sequences instead
	deathseq		= EyeAttackerDeathSeq
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= EnemyCollisionEffect
	collisioneffect		= EnemyCollisionEffect
	maxonscreen		= 42
	type			= ENEMY
	collidewith		= PLAYER PLAYERFIRE
	partnerseq		= 0
	bounds			= 0
	drift			= 0.00 0.00 0.0
	rotation		= 0.0 0.1 0.0
	script			= EyeAttackerScript
	input			= SCRIPT
	copy			= 0
	bounding		= -1
	shield			= 0
	energy			= 25
	maxshield		= 50
	maxenergy		= 50
	rot			= 0.0 0.0 0.0
	scale			= 0.25 0.25 0.25
	pos			= 0.0 0.0 0.0
end

def actor EyeAttacker2
	model			= EyePolyModel
	weaponcapacity		= 0
	numweapons		= 0		# uses raw sequences instead
	deathseq		= AttackerDeathSeq
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= EnemyCollisionEffect
	collisioneffect		= EnemyCollisionEffect
	maxonscreen		= 20
	type			= ENEMY
	collidewith		= PLAYER PLAYERFIRE
	partnerseq		= 0
	bounds			= 0
	drift			= 0.00 0.0 0.0
	rotation		= 0.0 0.1 0.0
	script			= EyeAttacker2Script
	input			= SCRIPT
	copy			= 0
	bounding		= -1
	shield			= 0
	energy			= 25
	maxshield		= 50
	maxenergy		= 50
	rot			= 0.0 0.0 0.0
	scale			= 0.25 0.25 0.25
end

def actor EyeAttacker3
	model			= EyePolyModel
	weaponcapacity		= 0
	numweapons		= 0		# uses raw sequences instead
	deathseq		= AttackerDeathSeq
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= EnemyCollisionEffect
	collisioneffect		= EnemyCollisionEffect
	maxonscreen		= 28
	type			= ENEMY
	collidewith		= PLAYER PLAYERFIRE
	partnerseq		= 0
	bounds			= 0
	drift			= 0.00 0.0 0.0
	rotation		= 0.0 0.1 0.0
	script			= EyeAttacker3Script
	input			= SCRIPT
	copy			= 0
	bounding		= -1
	shield			= 0
	energy			= 25
	maxshield		= 50
	maxenergy		= 50
	rot			= 0.0 0.0 0.0
	scale			= 0.25 0.25 0.25
end

def actor AttackerLaser
	model			= Laser
	numweapons		= 0
	weaponcapacity		= 0
	deathseq		= 0
	collisionseq		= LaserCollision
	shieldcollisionseq	= LaserCollision
	shieldgoneseq		= 0
	shieldcollisioneffect	= EnemyLaserCollisionEffect
	collisioneffect		= EnemyLaserCollisionEffect
	maxonscreen		= 196		# review logs during testing to see if large enough
	type			= ENEMYFIRE
	collidewith		= PLAYER 
	partnerseq		= 0		
	bounds			= 0			
	drift			= 0.0 -0.3 0.0
	rotation		= 0.0 0.0 0.0
	script			= 0			
	input			= DRIFT		
	copy			= 0			
	bounding		= -1		
	shield			= 0			
	energy			= 1			
	maxshield		= 0			
	maxenergy		= 2			
	rot			= -3.14 0.0 0.0
	scale			= 0.05 0.4 0.05
end

def actor BonusItem
	model			= BonusItemModel
	numweapons		= 0
	weaponcapacity		= 0
	deathseq		= BonusItemGrabbed
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= 0
	collisioneffect		= 0
	deathcollisioneffect	= BonusItemPower
	maxonscreen		= 2		# review logs during testing to see if large enough
	type			= NEUTRAL
	collidewith		= PLAYER  PLAYERFIRE
	partnerseq		= 0		
	bounds			= 0			
	drift			= 0.0 -0.04 0.0
	rotation		= 0.2 0.2 0.0
	script			= 0	
	input			= DRIFT
	copy			= 0			
	bounding		= -1		
	shield			= 0			
	energy			= 75			
	maxshield		= 0			
	maxenergy		= 75		
	rot			= 0.0 0.0 0.0
	scale			= 0.35 0.35 0.35
end

def actor CommShip
	model			= CommShipModel
	numweapons		= 0
	weaponcapacity		= 0
	deathseq		= CommShipDeathSeq
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= 0
	collisioneffect		= 0
	maxonscreen		= 2		# review logs during testing to see if large enough
	type			= ENEMY
	collidewith		= PLAYER PLAYERFIRE NEUTRALFIRE
	partnerseq		= 0		
	bounds			= 0			
	drift			= 0.0 0.0 0.0
	rotation		= 0.0 0.0 0.0
	script			= CommShipScript	
	input			= SCRIPT		
	copy			= 0			
	bounding		= -1		
	shield			= 0			
	energy			= 25			
	maxshield		= 0			
	maxenergy		= 25		
	rot			= 0.3 0.0 0.0
	scale			= 0.35 0.35 0.35
end

def actor Attractor
	model			= AttractorModel
	numweapons		= 0
	weaponcapacity		= 0
	deathseq		= AttractorDeathSeq
	collisionseq		= 0
	shieldcollisionseq	= 0
	shieldgoneseq		= 0
	shieldcollisioneffect	= AttractorCollisionEffect
	collisioneffect		= AttractorCollisionEffect
	maxonscreen		= 2		# review logs during testing to see if large enough
	type			= ENEMY
	collidewith		= PLAYER PLAYERFIRE NEUTRALFIRE
	partnerseq		= 0		
	bounds			= 0			
	drift			= 0.05 0.05 0.00
	rotation		= 0.0 0.2 0.0
	script			= 0	
	input			= AI0
	copy			= 0			
	bounding		= -1		
	shield			= 0			
	energy			= 300			
	maxshield		= 0			
	maxenergy		= 300		
	rot			= 0.0 0.0 0.0
	scale			= 0.5 0.5 0.5
end

############## PLAYER INFORMATION ################
#
# Player ship and basic weapons is the same each
# level so just !INCLUDE that into the level data
# file. (Note - cannot use !INCLUDE in a file that itself
# is being included.)
#
!INCLUDE levels\player.txt


################ SCENE #################
#
def scene main
	setcamera	= NormalCamera
	setprojection	= NormalProjection
	setambientlight = MainAmbientLight
	setbackcolor	= 0 0 0				# R G B
	setrenderstate	= ModelRenderState  # start off with any old render state
	setbounds	= MainBounds
	playmusic	= Level1Music
	setpanel	= DisplayPanel
	setbackimage	= Level1BackImage

	startactorhere	= 0.0 -3.0 0.0 player
	showplayer

# FIRST GROUP OF ATTACKERS
	startactorhere	=	-3.0	6.0 0.0 Attacker
	startactorhere	=	-1.75	6.0 0.0 Attacker
	startactorhere	=	-0.50	6.0 0.0 Attacker
	startactorhere	=	0.75	6.0 0.0 Attacker
	startactorhere	=	2.0	6.0 0.0 Attacker
	startactorhere	=	3.25	6.0 0.0 Attacker

	waitframes		= 90

# SECOND GROUP 
	startactorhere	=	-2.0	5.0 0.0 Attacker
	startactorhere	=	-0.75	5.0 0.0 Attacker
	startactorhere	=	0.50	5.0 0.0 Attacker
	startactorhere	=	1.75	5.0 0.0 Attacker
	startactorhere	=	3.0	5.0 0.0 Attacker

	waitframes		= 60

# THIRD GROUP 
	startactorhere	= 6.0 2.0 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 7.0 2.5 0.0 EyeAttacker
	startactorhere	= 8.0 2.0 0.0 EyeAttacker
	startactorhere	= 9.0 2.5 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 10.0 2.0 0.0 EyeAttacker
	startactorhere	= 11.0 2.5 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 12.0 2.0 0.0 EyeAttacker

	waitframes	= 90

#  FOURTH GROUP
	startactorhere	= 6.5 3.0 0.0 EyeAttacker
	startactorhere	= 7.5 3.0 0.0 EyeAttacker
	startactorhere	= 8.5 3.0 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 9.5 3.0 0.0 EyeAttacker
	startactorhere	= 10.5 3.0 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 11.5 3.0 0.0 EyeAttacker
	startactorhere	= 12.5 3.0 0.0 EyeAttacker

	waitframes	= 90

# FIFTH GROUP
	startactorhere	= 6.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 7.0	1.5	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 8.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 9.0	1.5	0.0 EyeAttacker
	startactorhere	= 10.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 11.0	1.5	0.0 EyeAttacker
	startactorhere	= 12.0	1.4	0.0 EyeAttacker

	waitframes	= 60

# SIXTH GROUP
	startactorhere	=  0.25	6.0 0.0 EyeAttacker2
	startactorhere	=  1.5	6.0 0.0 EyeAttacker2
	startactorhere	=  3.0	6.0 0.0 EyeAttacker2
	
	waitframes	= 60
	
	startactorhere	=  -0.25 5.5 0.0 EyeAttacker2
	startactorhere	=  1.25	 5.5 0.0 EyeAttacker2
	startactorhere	=  2.5	 5.5 0.0 EyeAttacker2
	
	waitframes	= 60
	
	startactorhere	= 0.0	6.0	0.0	EyeAttacker2
	startactorhere	= -1.0	6.0	0.0	EyeAttacker2
	startactorhere	= 1.0	6.0	0.0	EyeAttacker2
	startactorhere	= 2.0	6.0	0.0	EyeAttacker2

	waitframes	= 90

# DUPLICATE SOME OF THE ABOVE
	startactorhere	= 6.0 2.0 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 7.0 2.5 0.0 EyeAttacker
	startactorhere	= 8.0 2.0 0.0 EyeAttacker
	startactorhere	= 9.0 2.5 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 10.0 2.0 0.0 EyeAttacker
	startactorhere	= 11.0 2.5 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 12.0 2.0 0.0 EyeAttacker

	waitframes	= 90

	startactorhere	= 6.5 3.0 0.0 EyeAttacker
	startactorhere	= 7.5 3.0 0.0 EyeAttacker
	startactorhere	= 8.5 3.0 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 9.5 3.0 0.0 EyeAttacker
	startactorhere	= 10.5 3.0 0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 11.5 3.0 0.0 EyeAttacker
	startactorhere	= 12.5 3.0 0.0 EyeAttacker

	waitframes	= 90

	startactorhere	= 6.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 7.0	1.5	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 8.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 9.0	1.5	0.0 EyeAttacker
	startactorhere	= 10.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 11.0	1.5	0.0 EyeAttacker
	startactorhere	= 12.0	1.4	0.0 EyeAttacker

# EVEN MORE FIGHTERS
	startactorhere	= -6.0 2.0 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -7.0 2.5 0.0 EyeAttacker3
	startactorhere	= -8.0 2.0 0.0 EyeAttacker3
	startactorhere	= -9.0 2.5 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -10.0 2.0 0.0 EyeAttacker3
	startactorhere	= -11.0 2.5 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -12.0 2.0 0.0 EyeAttacker3

	waitframes	= 90

	startactorhere	= -6.5 3.0 0.0 EyeAttacker3
	startactorhere	= -7.5 3.0 0.0 EyeAttacker3
	startactorhere	= -8.5 3.0 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -9.5 3.0 0.0 EyeAttacker3
	startactorhere	= -10.5 3.0 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -11.5 3.0 0.0 EyeAttacker3
	startactorhere	= -12.5 3.0 0.0 EyeAttacker3

	waitframes	= 90

	startactorhere	= -6.0	1.4	0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -7.0	1.5	0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -8.0	1.4	0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -9.0	1.5	0.0 EyeAttacker3
	startactorhere	= -10.0	1.4	0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -11.0	1.5	0.0 EyeAttacker3
	startactorhere	= -12.0	1.4	0.0 EyeAttacker3

	startactorhere	= 6.0 3.0 0.0 CommShip

	waitframes	= 90

# DOUBLE UP -- LAST MASSIVE STRIKE
	startactorhere	= 6.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 7.0	1.5	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 8.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 9.0	1.5	0.0 EyeAttacker
	startactorhere	= 10.0	1.4	0.0 EyeAttacker
	waitframes	= 6
	startactorhere	= 11.0	1.5	0.0 EyeAttacker
	startactorhere	= 12.0	1.4	0.0 EyeAttacker

	startactorhere	= -6.0 2.0 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -7.0 2.5 0.0 EyeAttacker3
	startactorhere	= -8.0 2.0 0.0 EyeAttacker3
	startactorhere	= -9.0 2.5 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -10.0 2.0 0.0 EyeAttacker3
	startactorhere	= -11.0 2.5 0.0 EyeAttacker3
	waitframes	= 6
	startactorhere	= -12.0 2.0 0.0 EyeAttacker3

	startactorhere	=  0.25	6.0 0.0 EyeAttacker2
	startactorhere	=  1.5	6.0 0.0 EyeAttacker2
	startactorhere	=  3.0	6.0 0.0 EyeAttacker2
	
	waitframes	= 60
	
	startactorhere	=  -0.25 5.5 0.0 EyeAttacker2
	startactorhere	=  1.25	 5.5 0.0 EyeAttacker2
	startactorhere	=  2.5	 5.5 0.0 EyeAttacker2
	
	waitframes	= 60

	startactorhere	= 0.0	6.0 0.0 Attractor
		
	startactorhere	= 0.0	6.0	0.0	EyeAttacker2
	startactorhere	= -1.0	6.0	0.0	EyeAttacker2
	startactorhere	= 1.0	6.0	0.0	EyeAttacker2
	startactorhere	= 2.0	6.0	0.0	EyeAttacker2

	waitframes	= 120
	
	startactorhere		= 0.0	6.0 0.0 Attractor

	waituntilactorsdead	= Attacker EyeAttacker EyeAttacker2 EyeAttacker3 Attractor

	startsequencehere	= 0.0 0.0 0.0 MassiveExplosionSeq
	waitframes		= 240

	eos				
end

### End of Scene



