#base robot_giant.pop
#base robot_standard.pop

WaveSchedule
{
	StartingCurrency 400
	CanBotsAttackWhileInSpawnRoom No
	RespawnWaveTime 7
    
	Templates
	{
		T_TFBot_Heavyweapons_Deflector
		{
			Class Heavyweapons
			Name "Deflector Heavy"
			ClassIcon heavy_deflector
			Skill Hard
			Item "The U-clank-a"
			Item "Deflector"
			WeaponRestrictions PrimaryOnly
			MaxVisionRange 1200
			ItemAttributes 
			{
				ItemName "Deflector"
				"attack projectiles" 1
			}
		}
		
		T_TFBot_Sniper_Jarate
		{
			Class Sniper
			Name "Jarate Thrower"
			Skill Easy
			ClassIcon sniper_jarate
			Item "Jarate"
			Item "Desert Marauder"
			WeaponRestrictions SecondaryOnly
			ItemAttributes 
			{
				ItemName "Jarate"
				"effect bar recharge rate increased" 0.1
			}
		}
	}

// MISSION: Sentry Buster
	Mission
	{
		Objective DestroySentries
		Where spawnbot
		CooldownTime 30
		
		TFBot
		{
			Template T_TFBot_SentryBuster
		}
	}

// MISSION: Sniper 01
	Mission
	{
		Objective Sniper
		
		Where spawnbot_mission_sniper
		
		BeginAtWave 1
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 30
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Sniper_Sydney_Sleeper
		}
	}

// MISSION: Sniper 02
	Mission
	{
		Objective Sniper
		
		Where spawnbot_mission_sniper
		
		BeginAtWave 2
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 20
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Sniper_Razorback
		}
	}	

// MISSION: Sniper 03
	Mission
	{
		Objective Sniper
		
		Where spawnbot_mission_sniper
		
		BeginAtWave 3
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 20
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Sniper_Razorback
		}
	}

// MISSION: Sniper 05
	Mission
	{
		Objective Sniper
		
		Where spawnbot_mission_sniper
		
		BeginAtWave 5
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 20
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Sniper_Sydney_Sleeper
		}
	}
	
// MISSION: Spy 01
	Mission
	{
		Objective Spy
		
		Where spawnbot
		
		BeginAtWave	1
		RunForThisManyWaves 1
		CooldownTime 45
		InitialCooldown 45
		DesiredCount 3
		
		TFBot
		{
			Template T_TFBot_Spy
		}
	}
	
// MISSION: Spy 02
	Mission
	{
		Objective Spy
		
		Where spawnbot
		
		BeginAtWave	2
		RunForThisManyWaves 1
		CooldownTime 90
		InitialCooldown 30
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Spy
		}
	}
	
// MISSION: Spy 04
	Mission
	{
		Objective Spy
		
		Where spawnbot
		
		BeginAtWave	4
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 5
		DesiredCount 3
		
		TFBot
		{
			Template T_TFBot_Spy
		}
	}

// MISSION: Spy 05
	Mission
	{
		Objective Spy
		
		Where spawnbot
		
		BeginAtWave	5
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 30
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Spy
		}
	}
	
// WAVE 01 900
	Wave
	{
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Name "stage1"
			
			Where spawnbot_mission_sniper
			Where spawnbot_left
			RandomSpawn 1
			TotalCount 12
			SpawnCount 2
			MaxActive 10
			WaitBetweenSpawns 20
			WaitBeforeStarting 5
			
			TFBot
			{
				Template T_TFBot_Pyro
				Skill Hard
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 700
			
			Name "stage1"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 35
			SpawnCount 5
			MaxActive 15
			WaitBetweenSpawns 18
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demo_RapidFire
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
			}
		}
	}
	
// WAVE 02 900
	Wave
	{
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		
		WaveSpawn // Crit Scout Invasion
		{
			TotalCurrency 200
			
			Name "stage1"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 48
			SpawnCount 12
			MaxActive 16
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Scout_Melee
				Skill Expert
				Attributes AlwaysCrit
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn // Crit Scout Invasion Center
		{
			TotalCurrency 200
			
			Name "stage1"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 24
			SpawnCount 6
			MaxActive 8
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Scout_Melee
                Tag noflank
                Tag norampflank
                Tag nostairflank
				Skill Expert
				Attributes AlwaysCrit
			}
		}
		
		WaveSpawn // Crit Scout Invasion Escalation
		{
			TotalCurrency 200
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 32
			SpawnCount 16
			MaxActive 16
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Scout_Melee
					Skill Expert
					Attributes AlwaysCrit
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
			}
		}
		
		WaveSpawn // Crit Scout Invasion Center Escalation
		{
			TotalCurrency 200
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 24
			SpawnCount 6
			MaxActive 8
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Scout_Melee
					Skill Expert
					Attributes AlwaysCrit
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot_mid
			TotalCount 4
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 10
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Crit
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
        WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot_left
			TotalCount 4
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 10
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Crit
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
	}
	
// WAVE 03 900
	Wave
	{
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage1"
			
			Where spawnbot_mid
			RandomSpawn 1
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Giant_Scout_Fast
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
        
        WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage1"
			
			Where spawnbot_left
			RandomSpawn 1
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Giant_Scout_Fast
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}

		WaveSpawn
		{
			TotalCurrency 200
			TotalCount 1
			
			WaitForAllSpawned "stage1"
			
			Tank
			{
				Health 12000
				Speed 75
				Name "tankboss_left"
				StartingPathTrackNode "boss_path_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			TotalCount 1
			WaitBeforeStarting 7
			WaitForAllSpawned "stage1"
			
			Tank
			{
				Health 12000
				Speed 75
				Name "tankboss_right"
				StartingPathTrackNode "boss_path_short_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 100
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot
			TotalCount 20
			SpawnCount 4
			MaxActive 16
			WaitBetweenSpawns 10
			WaitBeforeStarting 15
			
			TFBot
			{
				Class Soldier
				Skill Hard
				WeaponRestrictions PrimaryOnly
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn // Pyro
		{
			TotalCurrency 100
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot
			TotalCount 20
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 15
			WaitBeforeStarting 20
			
			TFBot
			{
				Class Pyro
				Skill Hard
                Tag noflank
                Tag norampflank
                Tag nostairflank
				WeaponRestrictions PrimaryOnly
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage2"
			WaitForAllSpawned "stage1"

			
			Where spawnbot_mid
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 20
			
			TFBot
			{
				Template T_TFBot_Giant_Scout_Fast
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
        
        WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage2"
			WaitForAllSpawned "stage1"

			
			Where spawnbot_left
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 20
			
			TFBot
			{
				Template T_TFBot_Giant_Scout_Fast
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			//TotalCurrency 100
			
			//Name "stage3"
			WaitForAllSpawned "stage2"
			
			Support 1 // fix the timing issue so these don't just end mid way
			
			Where spawnbot
			TotalCount 36
			SpawnCount 6
			MaxActive 10
			WaitBetweenSpawns 15
			WaitBeforeStarting 20
			
			TFBot
			{
				Template T_TFBot_Scout_Melee
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		
		WaveSpawn
		{
			TotalCurrency 13
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot_mid
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 13
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot_left
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 13
			
			Name "stage4"
			WaitForAllDead "stage3"
			
			Where spawnbot_mid
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 13
			
			Name "stage4"
			WaitForAllDead "stage3"
			
			Where spawnbot_left
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 12
			
			Name "stage5"
			WaitForAllDead "stage4"
			
			Where spawnbot_mid
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 12
			
			Name "stage5"
			WaitForAllDead "stage4"
			
			Where spawnbot_left
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 12
			
			Name "stage6"
			WaitForAllDead "stage5"
			
			Where spawnbot_mid
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
        WaveSpawn
		{
			TotalCurrency 13
			
			Name "stage6"
			WaitForAllDead "stage5"
			
			Where spawnbot_left
			TotalCount 4
			SpawnCount 4
			MaxActive 4
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
	}

// WAVE 04 900
	Wave
	{
		Checkpoint Yes

		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Name "stage1"
			
			Where spawnbot
			TotalCount 8
			SpawnCount 8
			MaxActive 8
			WaitBetweenSpawns 0
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Heavyweapons_Deflector
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage1"
			
			Where spawnbot_left
			TotalCount 8
			SpawnCount 8
			MaxActive 8
			WaitBetweenSpawns 0
			WaitBeforeStarting 0.5
			
			TFBot
			{
				Template T_TFBot_Demoman
                Tag noflank
                Tag norampflank
                Tag nostairflank
				Skill Hard
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 25
			
			Name "stage1"
			
			Where spawnbot_mid
			TotalCount 2
			SpawnCount 1
			MaxActive 1
			WaitBetweenSpawns 20
			WaitBeforeStarting 5
			
			TFBot
			{
				Template T_TFBot_Giant_Pyro
				Attributes AlwaysFireWeapon
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
        
        WaveSpawn
		{
			TotalCurrency 25
			
			Name "stage1"
			
			Where spawnbot_left
			TotalCount 2
			SpawnCount 1
			MaxActive 1
			WaitBetweenSpawns 20
			WaitBeforeStarting 5
			
			TFBot
			{
				Template T_TFBot_Giant_Pyro
				Attributes AlwaysFireWeapon
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot_left
			TotalCount 24
			SpawnCount 8
			MaxActive 8
			WaitBetweenSpawns 10
			WaitBeforeStarting 15
			
			TFBot
			{
				Template T_TFBot_Demoman
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot
			TotalCount 30
			SpawnCount 10
			MaxActive 12
			WaitBetweenSpawns 10
			WaitBeforeStarting 15
			
			TFBot
			{
				Template T_TFBot_Heavyweapons_Deflector
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 25
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot
			TotalCount 24
			SpawnCount 8
			MaxActive 22
			WaitBetweenSpawns 20
			WaitBeforeStarting 30
			
			TFBot
			{
				Template T_TFBot_Demoman_Knight
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 100
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot
			TotalCount 6
			SpawnCount 1
			MaxActive 3
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Giant_Demo_RapidFire
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot_mid
			TotalCount 1
			SpawnCount 1
			MaxActive 1
			//WaitBetweenSpawns 0
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Giant_Pyro
				Attributes AlwaysFireWeapon
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
        
        WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot_left
			TotalCount 1
			SpawnCount 1
			MaxActive 1
			//WaitBetweenSpawns 0
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Giant_Pyro
				Attributes AlwaysFireWeapon
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		// Final Push
		WaveSpawn
		{
			TotalCurrency 100
			
			Name "stage4"
			WaitForAllSpawned "stage3"
			
			Where spawnbot
			TotalCount 18
			SpawnCount 4
			MaxActive 8
			WaitBetweenSpawns 5
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demo_RapidFire
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic
				}
				
				TFBot
				{
					Template T_TFBot_Medic
				}
				
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 25
			
			Name "stage4"
			WaitForAllSpawned "stage3"
			
			Where spawnbot
			TotalCount 12
			SpawnCount 3
			MaxActive 6
			WaitBetweenSpawns 15
			WaitBeforeStarting 10
			
			TFBot
			{
				Template T_TFBot_Pyro
				Skill Hard
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 25
			
			Name "stage4"
			WaitForAllSpawned "stage3"
			
			Where spawnbot
			TotalCount 30
			SpawnCount 10
			MaxActive 18
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Class Soldier
				Skill Hard
				WeaponRestrictions PrimaryOnly
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
	}

// WAVE 05 900
	Wave
	{
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Name "stage1"
			
			Where spawnbot_mid
			TotalCount 8
			SpawnCount 2
			MaxActive 4
			WaitBetweenSpawns 30
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Spammer
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Name "stage1"
			
			Where spawnbot_left
			TotalCount 8
			SpawnCount 2
			MaxActive 4
			WaitBetweenSpawns 30
			WaitBeforeStarting 0
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Spammer
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Medic_QuickUber
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 100
			
			Name "stage1"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 30
			SpawnCount 5
			MaxActive 10
			WaitBetweenSpawns 20
			WaitBeforeStarting 3
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Pyro
					Attributes AlwaysFireWeapon
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}

				TFBot
				{
					Template T_TFBot_Pyro
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Pyro
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
				
				TFBot
				{
					Template T_TFBot_Pyro
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}

				TFBot
				{
					Template T_TFBot_Pyro
                    Tag noflank
                    Tag norampflank
                    Tag nostairflank
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			TotalCount 1
			
			WaitForAllSpawned "stage1"
			
			Tank
			{
				Health 20000
				Speed 75
				Name "tankboss_left"
				StartingPathTrackNode "boss_path_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 100
			TotalCount 1
			WaitBeforeStarting 7
			WaitForAllSpawned "stage1"
			
			Tank
			{
				Health 20000
				Speed 75
				Name "tankboss_right"
				StartingPathTrackNode "boss_path_short_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 100
			
			Name "stage2"
			WaitForAllSpawned "stage1"
			
			Where spawnbot
			TotalCount 25
			SpawnCount 5
			MaxActive 16
			WaitBetweenSpawns 10
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Heavyweapons_Deflector
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		// Final Push
		WaveSpawn
		{
			TotalCurrency 50
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot_mission_sniper
			RandomSpawn 1
			TotalCount 30
			SpawnCount 4
			MaxActive 10
			WaitBetweenSpawns 20
			WaitBeforeStarting 5
			
			TFBot
			{
				Template T_TFBot_Pyro
				Skill Expert
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			//TotalCurrency 0
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 8
			SpawnCount 1
			MaxActive 6
			WaitBetweenSpawns 15
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Giant_Demo_RapidFire
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			//TotalCurrency 0
			
			Name "stage3"
			WaitForAllSpawned "stage2"
			
			Where spawnbot
			RandomSpawn 1
			TotalCount 20
			SpawnCount 4
			MaxActive 12
			WaitBetweenSpawns 15
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Heavyweapons_Fist
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 25
			
			Name "stage4"
			WaitForAllSpawned "stage3"
			
			Where spawnbot
			TotalCount 45
			SpawnCount 15
			MaxActive 18
			//WaitBetweenSpawns 0
			WaitBeforeStarting 0
			
			TFBot
			{
				Template T_TFBot_Demoman_Knight
                Tag noflank
                Tag norampflank
                Tag nostairflank
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			TotalCount 1
			
			WaitForAllSpawned "stage3"
			
			Tank
			{
				Health 20000
				Speed 75
				Name "tankboss_left"
				Skin 1
				StartingPathTrackNode "boss_path_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 50
			TotalCount 1
			WaitBeforeStarting 7
			WaitForAllSpawned "stage3"
			
			Tank
			{
				Health 20000
				Speed 75
				Name "tankboss_right"
				Skin 1
				StartingPathTrackNode "boss_path_short_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
	}
}