#base robot_giant.pop
#base robot_standard.pop
#base sandmen_only.pop

WaveSchedule
{

	StartingCurrency		400
	RespawnWaveTime 5
	CanBotsAttackWhileInSpawnRoom no
	
	Mission // sentry buster
	{
		Objective DestroySentries

		InitialCooldown 5
		Where spawnbot
		BeginAtWave 1
		RunForThisManyWaves 6

		CooldownTime 35            

            TFBot
			{
				Template T_TFBot_SentryBuster
            }
	}
	Mission // Sniper - wave 4
	{
		Objective Sniper

		InitialCooldown 15
		Where spawnbot_mission_sniper
		BeginAtWave 4
		RunForThisManyWaves 1
		CooldownTime 35
		DesiredCount 2

		TFBot
		{
			Class Sniper
			Skill Expert
			Name Sniper
		}
	}	
	Mission // Spy - wave 3
	{
		Objective Spy  

		InitialCooldown 20
		Where spawnbot_mission_spy
		BeginAtWave 3
		RunForThisManyWaves 1
		CooldownTime 15
		DesiredCount 1

		TFBot
		{
			Class Spy
			Skill Expert
			Name Spy
		}
	}	
	//WAVE 1 //Melee Heavies and Scout Melees //Currency 500 ///////////////////////////////////////////////////////////////////////////////////////////////////////
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput					
		{
			Target wave_finished_relay
			Action trigger
		}
		WaitWhenDone 65
		Description "Melee Heavies and Scouts"
		Checkpoint Yes
		
		WaveSpawn
		{
			Name "primarywave"
			
			Where spawnbot
			TotalCount 24
			MaxActive 10
			SpawnCount 2
			WaitBeforeStarting 0
			WaitBetweenSpawns 4
			TotalCurrency 100

			RandomChoice
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ

				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
				}
			}
		}
		
		WaveSpawn
		{
			WaitForAllSpawned "primarywave"
			
			Where spawnbot
			TotalCount 20
			MaxActive 12
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 4
			TotalCurrency 100
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				
				TFBot
				{
					Class Scout
					Skill Easy
					WeaponRestrictions MeleeOnly
				}
				
				TFBot
				{
					Class Scout
					Skill Easy
					WeaponRestrictions MeleeOnly
				}
				
				TFBot
				{
					Class Scout
					Skill Easy
					WeaponRestrictions MeleeOnly
				}
			}
		}	
		WaveSpawn
		{
			WaitForAllSpawned "primarywave"
			
			Where spawnbot
			TotalCount 6
			MaxActive 3
			SpawnCount 1
			WaitBeforeStarting 0
			WaitBetweenSpawns 1
			TotalCurrency 100	

			TFBot
			{
				Class Scout
				Skill Easy
				WeaponRestrictions MeleeOnly
			}
		}	
		WaveSpawn
		{
			WaitForAllSpawned "primarywave"
			
			Where spawnbot
			TotalCount 3
			MaxActive 3
			SpawnCount 1
			WaitBeforeStarting 0
			WaitBetweenSpawns 7
			TotalCurrency 200
			
			RandomChoice
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
			}
		}
	}	
	//WAVE 2 //Heavies and Pyros squads, Giant Pyro and pyro and heavy squad//Currency 500 ///////////////////////////////////////////////////////////////////////////////////////////////////////
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput					
		{
			Target wave_finished_relay
			Action trigger
		}
		WaitWhenDone 65
		Checkpoint Yes
		
		
		WaveSpawn 
		{
			
			Name wave2primarywave
			
			Where spawnbot
			TotalCount 24
			MaxActive 15
			SpawnCount 3
			WaitBetweenSpawns 3
			WaitBeforeStarting 0
			TotalCurrency 200		
			
			Squad
			{
				TFBot
				{
					Class HeavyWeapons
					Skill Easy
				}
				TFBot
				{
					Class Pyro
					Skill Easy
				}
				TFBot
				{
					Class Pyro
					Skill Easy
				}
			}
			
		}
		WaveSpawn
		{
			WaitForAllSpawned "wave2primarywave"
			
			Where spawnbot
			TotalCount 10
			MaxActive 10
			SpawnCount 5
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 300
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Pyro
				}
				TFBot
				{
					Class Pyro
					Skill Easy
				}
				TFBot
				{
					Class Pyro
					Skill Easy
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ
				}
				TFBot
				{
					Class HeavyWeapons
					Skill Easy
				}
			}
		}
	}
	//WAVE 3 //Tank Boss 28k, Scout melee support, Spy Mission//Currency 900 ///////////////////////////////////////////////////////////////////////////////////////////////////////
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput					
		{
			Target wave_finished_relay
			Action trigger
		}
		WaitWhenDone 65
		Checkpoint Yes
		
		// Spy mission - 1 active
		
		
		WaveSpawn //WAVE
		{
			TotalCount 1
			WaitBeforeStarting 0
			TotalCurrency 900
			
			FirstSpawnOutput                                                                                                                                                            
			
			{
				Target boss_spawn_relay                                            
				Action Trigger                         
			}

			Tank
			{
				Health 28000
				Speed 75
				Name "tankboss"
				StartingPathTrackNode "boss_path_a1"

				OnKilledOutput                                  
				{
					Target boss_dead_relay
					Action Trigger                         
				}
				
				OnBombDroppedOutput                             
				{
					Target boss_deploy_relay 
					Action Trigger                         
				}

			}			
		}
		WaveSpawn
		{			
			Where spawnbot
			TotalCount 8
			MaxActive 8
			SpawnCount 8
			WaitBeforeStarting 15
			WaitBetweenSpawns 0
			
			Support 1
			
			TotalCurrency 0

			TFBot
			{
				Class Scout
				Skill Easy
				WeaponRestrictions MeleeOnly
			}
		}
		WaveSpawn
		{			
			Where spawnbot
			TotalCount 18
			MaxActive 18
			SpawnCount 18
			WaitBeforeStarting 25
			WaitBetweenSpawns 0
			
			Support 1
			
			TotalCurrency 0
			
			TFBot
			{
				Class Scout
				Skill Easy
				WeaponRestrictions MeleeOnly
			}
		}		
	}
	//WAVE 4 //Demos, Scout melees, Soldiers, Giant Demos, Sniper Mission MB //Currency 500 ///////////////////////////////////////////////////////////////////////////////////////////////////////
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput					
		{
			Target wave_finished_relay
			Action trigger
		}
		WaitWhenDone 65
		Checkpoint Yes
		
		// Sniper mission - 2 active		

		
		WaveSpawn 
		{
			
			Name "wave4primarywave"
			
			Where spawnbot
			TotalCount 24
			MaxActive 8
			SpawnCount 2
			WaitBetweenSpawns 3
			WaitBeforeStarting 0
			TotalCurrency 100		
			
			TFBot
			{
				Class Demoman
				Skill Easy
			}
		}
		WaveSpawn 
		{
			
			Where spawnbot
			TotalCount 12
			MaxActive 6
			SpawnCount 2
			WaitBetweenSpawns 6
			WaitBeforeStarting 0
			TotalCurrency 100		
			
			TFBot
			{
				Class Scout
				Skill Easy
				WeaponRestrictions MeleeOnly
			}
		}
		WaveSpawn 
		{
			
			Where spawnbot
			TotalCount 12
			MaxActive 4
			SpawnCount 3
			WaitBetweenSpawns 2
			WaitBeforeStarting 0
			TotalCurrency 100		
			
			TFBot
			{
				Class Soldier
				Skill Easy
			}
		}
		
		WaveSpawn 
		{
			
			WaitForAllSpawned "wave4primarywave"
			
			Where spawnbot
			TotalCount 2
			MaxActive 2
			SpawnCount 2
			WaitBetweenSpawns 15
			WaitBeforeStarting 0
			TotalCurrency 160		
			
			TFBot
			{
				Template T_TFBot_Giant_Demoman
			}
		}
		WaveSpawn 
		{
			
			WaitForAllSpawned "wave4primarywave"
			
			Where spawnbot
			TotalCount 1
			MaxActive 1
			SpawnCount 1
			WaitBetweenSpawns 15
			WaitBeforeStarting 20
			TotalCurrency 40		
			
			TFBot
			{
				Template T_TFBot_Giant_Demoman
			}
		}
	}
	//WAVE 5 //Tank Boss 30k, Giant Demo with pyro escort//Currency 1200 ///////////////////////////////////////////////////////////////////////////////////////////////////////
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput					
		{
			Target wave_finished_relay
			Action trigger
		}
		WaitWhenDone 65
		Checkpoint Yes	
			
		WaveSpawn 
		{
			TotalCount 1
			WaitBeforeStarting 20
			TotalCurrency 700
			
			FirstSpawnOutput                                                                                                                                                            
			
			{
				Target boss_spawn_relay                                            
				Action Trigger                         
			}

			Tank
			{
				Health 30000
				Speed 75
				Name "tankboss"
				StartingPathTrackNode "boss_path_a1"

				OnKilledOutput                                  
				{
					Target boss_dead_relay
					Action Trigger                         
				}
				
				OnBombDroppedOutput                             
				{
					Target boss_deploy_relay 
					Action Trigger                         
				}

			}			
		}

		WaveSpawn //WAVE
		{
			Where spawnbot
			TotalCount 15
			MaxActive 10
			SpawnCount 5
			WaitBeforeStarting 0
			WaitBetweenSpawns 2
			TotalCurrency 500
			
			Squad // Tavish + pyros
			{
				TFBot
				{
					Template T_TFBot_Giant_Demoman
				}
				TFBot
				{
					Class Pyro
					Skill Easy                                         
				}
				TFBot
				{
					Class Pyro
					Skill Easy 
					//WeaponRestrictions MeleeOnly				
				}
				TFBot
				{
					Class Pyro
					Skill Normal                                        
				}
				TFBot
				{
					Template T_TFBot_Pyro_Flaregun
				}
			}
		}
	}
	//WAVE 6 //Giant Demos, Giant geavy with Quick fix medics, Giant Pyros, Tank Boss 33K, Giant Baseball, scout support.//Currency 1200 ///////////////////////////////////////////////////////////////////////////////////////////////////////
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput					
		{
			Target humans_win
			Action RoundWin
		}
		WaitWhenDone 65
		Checkpoint Yes	
		

		WaveSpawn //WAVE 
		{
			Where spawnbot
			TotalCount 4
			MaxActive 2
			SpawnCount 2
			WaitBeforeStarting 0
			WaitBetweenSpawns 2
			TotalCurrency 400
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demoman
				}
				TFBot
				{
					Template T_TFBot_Giant_Demoman
				}
			}
		}
		WaveSpawn //WAVE 
		{
			Name "heavywave"
			
			Where spawnbot
			TotalCount 12
			MaxActive 6
			SpawnCount 6
			WaitBeforeStarting 10
			WaitBetweenSpawns 1
			TotalCurrency 100
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
			}
		}
		
		WaveSpawn 
		{
			WaitForAllSpawned "heavywave"
			
			TotalCount 1
			WaitBeforeStarting 25
			TotalCurrency 400
			
			FirstSpawnOutput                                                                                                                                                            
			
			{
				Target boss_spawn_relay                                            
				Action Trigger                         
			}

			Tank
			{
				Health 33000
				Speed 75
				Name "tankboss"
				Skin 1
				StartingPathTrackNode "boss_path_a1"

				OnKilledOutput                                  
				{
					Target boss_dead_relay
					Action Trigger                         
				}
				
				OnBombDroppedOutput                             
				{
					Target boss_deploy_relay 
					Action Trigger                         
				}

			}			
		}
		
		WaveSpawn 
		{
			WaitForAllSpawned "heavywave"
		
			Where spawnbot
			TotalCount 2
			MaxActive 2
			SpawnCount 2
			WaitBeforeStarting 35
			WaitBetweenSpawns 2
			TotalCurrency 100
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Pyro
				}
				TFBot
				{
					Template T_TFBot_Giant_Pyro
				}
			}
		}
		// WaveSpawn 
		// {
			// WaitForAllSpawned "heavywave"
		
			// Where spawnbot
			// TotalCount 2
			// MaxActive 2
			// SpawnCount 2
			// WaitBeforeStarting 27
			// WaitBetweenSpawns 2
			// TotalCurrency 100
			
			// Squad
			// {
				// TFBot
				// {
					// Template T_TFBot_Giant_Scout_Baseball
				// }
				// TFBot
				// {
					// Template T_TFBot_Giant_Scout_Baseball
				// }
			// }
		// }
		
		WaveSpawn
		{	
			Where spawnbot
			TotalCount 18
			MaxActive 12
			SpawnCount 2
			WaitBeforeStarting 10
			WaitBetweenSpawns 10
			TotalCurrency 100
			
			TFBot
			{
				Class Scout
				Skill Easy
				WeaponRestrictions MeleeOnly
				
			}
		}
	}
}