// Tetris game definition file
//
// By Chris J. Gullette
// Last Modified $Date: 10/27/01 8:22p $
//
// This is a test game for development purposes.
// It is a VERY easy version of tetris, I pieces only, clear one line to level up,
// no time out.

GeneralInfo
{
	PlayfieldColumns		10
	PlayfieldRows			22
	MaxMovementsPerSecond	10
	MaxRotationsPerSecond	5
	GameType				Marathon
	RemoveFromBagAfterUse
	NextPieceQueueSize		8
}

MinoSticky
{
	NotStickyBetweenPieces
	0:	0
}

Mino
{
	Name	"Gray"
	Tags	0
}

Tetramino
{
	Name "I"
	NumberInBag 1
	ID 0
	MinoList
	{
		"Gray"	(0,1)
		"Gray"	(0,0)
		"Gray"	(0,-1)
		"Gray"	(0,-2)
	}
	Rot0CWOffsetList	(0,0),(0,1),(0,-1),(0,-2)
	Rot90CWOffsetList	(0,0),(1,0),(-1,0),(-2,0)
	Rot180CWOffsetList	(0,0),(0,-1),(0,1),(0,2)
	Rot270CWOffsetList	(0,0),(-1,0),(1,0),(2,0)
}

Pattern
{
	Name			"line clear"
	Tags			0
	Method			Search
	SearchType		Horizontal
	SearchCount		10
	PatternMinoScript
	{
		kill mino
	}
}

Level
{
	Name "Level #1"
}

Level
{
	Name "Level #2"
}

Level
{
	Name "Level #3"
}

Level
{
	Name "Level #4"
}

Level
{
	Name "Level #5"
}

Level
{
	Name "Level #6"
}

Level
{
	Name "Level #7"
}

Level
{
	Name "Level #8"
}

Level
{
	Name "Level #9"
}

Level
{
	Name "Level #10"
}

Level
{
	Name "Level #11"
}

Level
{
	Name "Level #12"
}

Level
{
	Name "Level #13"
}

Level
{
	Name "Level #14"
}

Level
{
	Name "Level #15"
}

GenerationPhase
{
	GenerationTime			0.0
	PieceStartingLocation	(4,0)
}

FallingPhase
{
	FallSpeed		1
	SoftDropSpeed	0.05
	HardDropSpeed	0.0001
	MoveTolerance	0.2
}

LockPhase
{
	MovementRestartsClock
	Duration		0.5
}

PatternPhase
{
}

IteratePhase
{
}

EliminatePhase
{
	FallSpeed		0.05
	LineCollapsedScript
	{
		* Count total lines cleared
		set playfield.d0 to playfield.d0 + 1
	}
	EliminateEndScript
	{
		if playfield.d0 >= 1
		  next level
		end
	}
}

SolidifyPhase
{
}

GravityPhase
{
	// No gravity
	FallSpeed		0
}

CompletionPhase
{
}

EventScripts
{
	LevelStartScript
	{
		set playfield.d0 to 0
	}

	LevelEndScript
	{
		if level >= 15
		 sound "VO_EXLNT"
		 win
		end
	}

	HardDropStartScript
	{
		next level
	}
}