//Written by Startacker! https://steamcommunity.com/id/startacker/

#base robot_standard.pop
#base robot_giant.pop
#base robot_brugge.pop

WaveSchedule
{
	StartingCurrency 400
	CanBotsAttackWhileInSpawnRoom No
	RespawnWaveTime 3
	
	Mission
	{
		Objective	DestroySentries
		Where	spawnbot
		BeginAtWave	1
		InitialCooldown	30
		CooldownTime	50
		DesiredCount	1
		
		TFBot
		{
			Template	T_TFBot_SentryBuster
		}
	}
	Mission
	{
		Objective Spy
		Where spawnbot
		BeginAtWave 3
		RunForThisManyWaves 1
		InitialCooldown 30
		CooldownTime 40
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Spy
		}
	}
	Mission
	{
		Objective Spy
		Where spawnbot
		BeginAtWave 6
		RunForThisManyWaves 1
		InitialCooldown 30
		CooldownTime 40
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Spy
		}
	}
	Mission
	{
		Objective Sniper
		Where spawnbot_mission_sniper
		BeginAtWave 4
		RunForThisManyWaves 3
		InitialCooldown 30
		CooldownTime 30
		DesiredCount 2
		
		TFBot
		{
			Template T_TFBot_Sniper
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name "wave01_a"
			TotalCount 24
			SpawnCount 6
			MaxActive 6
			WaitBetweenSpawns 5
			Where spawnbot
			TotalCurrency 150
			
			TFBot
			{
				Class Soldier
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave01_b"
			TotalCount 25
			SpawnCount 5
			MaxActive 5
			WaitBeforeStarting 3
			WaitBetweenSpawns 5
			TotalCurrency 150
			Where spawnbot_flank
			
			TFBot
			{
				Class Scout
				WeaponRestrictions MeleeOnly
				Skill Hard
			}
		}
		WaveSpawn
		{
			Name "wave01_c"
			TotalCount 2
			SpawnCount 1
			MaxActive 2
			WaitBeforeStarting 15
			WaitBetweenSpawns 10
			WaitForAllSpawned "wave01_a"
			TotalCurrency 200
			Where spawnbot
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Crit
			}
		}
		WaveSpawn
		{
			Name "wave01_d"
			TotalCount 16
			SpawnCount 8
			MaxActive 8
			WaitBeforeStarting 10
			WaitBetweenSpawns 6
			WaitForAllDead "wave01_a"
			TotalCurrency 100
			Where spawnbot
			
			TFBot
			{
				Class Scout
				Skill Normal
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name "wave02_a"
			TotalCount 24
			SpawnCount 2
			MaxActive 8
			WaitBetweenSpawns 3
			TotalCurrency 150
			Where spawnbot
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Sniper_Cleaners_Carbine
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
			}
		}
		WaveSpawn
		{
			Name "wave02_b"
			TotalCount 32
			SpawnCount 4
			MaxActive 8
			WaitBeforeStarting 5
			WaitBetweenSpawns 6
			Where spawnbot_side
			TotalCurrency 100
			
			Squad
			{
				TFBot
				{
					Class Demoman
					Skill Normal
				}
				TFBot
				{
					Class Demoman
					Skill Normal
				}
				TFBot
				{
					Template T_TFBot_Sniper_Huntsman
				}
				TFBot
				{
					Template T_TFBot_Sniper_Huntsman
				}
			}
		}
		WaveSpawn
		{
			Name "wave02_c"
			TotalCount 12
			SpawnCount 6
			MaxActive 6
			WaitForAllDead "wave02_a"
			WaitBeforeStarting 15
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 100
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Pyro
				}
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
				}
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
				}
				TFBot
				{
					Template T_TFBot_Sniper_Huntsman
				}
				TFBot
				{
					Template T_TFBot_Sniper_Huntsman
				}
				TFBot
				{
					Template T_TFBot_Sniper_Huntsman
				}
			}
		}
		WaveSpawn
		{
			Name "wave02_c"
			TotalCount 16
			SpawnCount 4
			MaxActive 8
			WaitForAllDead "wave02_a"
			WaitBeforeStarting 18
			WaitBetweenSpawns 4
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Sniper_Huntsman
			}
		}
		WaveSpawn
		{
			Name "wave02_tank"
			WaitForAllDead "wave02_c"
			WaitBeforeStarting 0
			TotalCount 1
			SpawnCount 1
			TotalCurrency 100
			Tank
			{
				Health 20000
				Speed 75
				StartingPathTrackNode tank_path_1
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave02_d"
			TotalCount 35
			SpawnCount 5
			MaxActive 10
			WaitForAllSpawned "wave02_tank"
			WaitBeforeStarting 6
			WaitBetweenSpawns 6
			TotalCurrency 100
			Where spawnbot_side
			
			TFBot
			{
				Template T_TFBot_Pyro_Flaregun
			}
		}
		WaveSpawn
		{
			Name "wave02_e"
			TotalCount 21
			SpawnCount 3
			MaxActive 6
			WaitForAllSpawned "wave02_tank"
			WaitBeforeStarting 6
			WaitBetweenSpawns 8
			TotalCurrency 100
			Where spawnbot_flank
			
			TFBot
			{
				Class Demoman
				Skill Normal
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name "wave03_a"
			TotalCount 39
			SpawnCount 3
			MaxActive 6
			WaitBetweenSpawns 8
			TotalCurrency 350
			Where spawnbot
			
			RandomChoice
			{
				TFBot
				{
					Class Soldier
					Skill Normal
				}
				TFBot
				{
					Class Soldier
					SKill Normal
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Buff_Banner
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Concheror
				}
			}
		}
		WaveSpawn
		{
			Name "wave03_b"
			TotalCount 20
			SpawnCount 4
			MaxActive 4
			WaitBeforeStarting 5
			WaitBetweenSpawns 16
			TotalCurrency 250
			Where spawnbot
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demoman
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name "wave04_a"
			TotalCount 1
			SpawnCount 1
			TotalCurrency 200
			Tank
			{
				Health 30000
				Speed 75
				StartingPathTrackNode tank_path_1
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave04_b"
			TotalCount 40
			SpawnCount 5
			MaxActive 10
			WaitBeforeStarting 10
			WaitBetweenSpawns 5
			Where spawnbot_flank
			Where spawnbot_side
			TotalCurrency 100
			
			RandomChoice
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Shotgun
				}
			}
		}
		WaveSpawn
		{
			Name "wave04_c"
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBeforeStarting 5
			WaitForAllDead "wave04_a"
			WaitBetweenSpawns 15
			Where spawnbot
			TotalCurrency 100
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Spammer
			}
		}
		WaveSpawn
		{
			Name "wave04_d"
			TotalCount 25
			SpawnCount 5
			MaxActive 10
			WaitBeforeStarting 5
			WaitForAllDead "wave04_a"
			WaitBetweenSpawns 5
			Where spawnbot_side
			TotalCurrency 100
			
			TFBot
			{
				Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
			}
		}
		WaveSpawn
		{
			Name "wave04_e"
			TotalCount 20
			SpawnCount 4
			MaxActive 8
			WaitBeforeStarting 5
			WaitForAllDead "wave04_a"
			WaitBetweenSpawns 7
			Where spawnbot
			TotalCurrency 100
			
			TFBot
			{
				Template T_TFBot_Demoman_Knight
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name "wave05_a"
			TotalCount 2
			SpawnCount 1
			MaxActive 1
			WaitBeforeStarting 5
			WaitBetweenSpawns 20
			Where spawnbot
			TotalCurrency 150
			
			TFBot
			{
				Template T_TFBot_Giant_Heavyweapons
			}
		}
		WaveSpawn
		{
			Name "wave05_b"
			TotalCount 1
			SpawnCount 1
			TotalCurrency 200
			Tank
			{
				Health 20000
				Speed 75
				StartingPathTrackNode tank_path_1
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_c"
			TotalCount 16
			SpawnCount 4
			MaxActive 8
			WaitForAllDead "wave05_b"
			WaitBeforeStarting 20
			WaitBetweenSpawns 10
			Where spawnbot_side
			TotalCurrency 100
			
			TFBot
			{
				Class Scout
				WeaponRestrictions MeleeOnly
				Skill Hard
			}
		}
		WaveSpawn
		{
			Name "wave05_c"
			TotalCount 16
			SpawnCount 4
			MaxActive 8
			WaitForAllDead "wave05_b"
			WaitBeforeStarting 20
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 100
			
			TFBot
			{
				Class Scout
				WeaponRestrictions MeleeOnly
				Skill Hard
			}
		}
		WaveSpawn
		{
			Name "wave05_d"
			TotalCount 10
			SpawnCount 2
			MaxActive 4
			WaitForAllDead "wave05_b"
			WaitBeforeStarting 20
			WaitBetweenSpawns 6
			Where spawnbot_flank
			TotalCurrency 100
			
			TFBot
			{
				Class Soldier
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave05_e"
			TotalCount 6
			SpawnCount 3
			MaxActive 6
			WaitForAllSpawned "wave05_c"
			WaitBeforeStarting 3
			WaitBetweenSpawns 15
			Where spawnbot
			TotalCurrency 50
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Crit
				}
				TFBot
				{
					Template T_TFBot_Medic 
				}
				TFBot
				{
					Template T_TFBot_Medic 
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_f"
			TotalCount 20
			SpawnCount 5
			MaxActive 10
			WaitForAllSpawned "wave05_c"
			WaitBeforeStarting 6
			WaitBetweenSpawns 7
			Where spawnbot
			TotalCurrency 50
			
			TFBot
			{
				Class Scout
				Skill Normal
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name "wave06_a"
			TotalCount 2
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 20
			Where spawnbot
			TotalCurrency 100
			
			TFBot
			{
				Template T_TFBot_Giant_Scout_Baseball_Armored
			}
		}
		WaveSpawn
		{
			Name "wave06_b"
			TotalCount 24
			SpawnCount 4
			MaxActive 8
			WaitBeforeStarting 2
			WaitBetweenSpawns 8
			Where spawnbot_side
			TotalCurrency 50
			
			TFBot
			{
				Class Heavyweapons
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave06_engineer"
			TotalCount 9
			SpawnCount 3
			MaxActive 3
			WaitBeforeStarting 15
			WaitBetweenSpawns 60
			Where spawnbot
			TotalCurrency 100
			Support Limited
			FirstSpawnWarningSound "vo/announcer_mvm_engbots_arrive02.mp3"
			
			TFBot
			{
				Template T_TFBot_Engineer_Sentry_Tele_Battle
				CharacterAttributes
				{
					"cannot pick up intelligence" 1
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_b"
			TotalCount 28
			SpawnCount 2
			MaxActive 8
			WaitForAllDead "wave06_a"
			WaitBeforeStarting 10
			WaitBetweenSpawns 1.5
			TotalCurrency 150
			Where spawnbot
			
			Squad
			{
				TFBot
				{
					Class Pyro
					Skill Hard
				}
				TFBot
				{
					Template T_TFBot_Scout_Sandman_FastCharge
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_c"
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitForAllDead "wave06_a"
			WaitBeforeStarting 15
			WaitBetweenSpawns 10
			TotalCurrency 100
			Where spawnbot
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Spammer
			}
		}
		WaveSpawn
		{
			Name "wave06_d"
			TotalCount 6
			SpawnCount 3
			MaxActive 6
			WaitForAllDead "wave06_c"
			WaitBeforeStarting 5
			WaitBetweenSpawns 20
			TotalCurrency 250
			Where spawnbot
			
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
				}
				TFBot
				{
					Template T_TFBot_Medic 
				}
				TFBot
				{
					Template T_TFBot_Medic 
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_e"
			TotalCount 10
			SpawnCount 2
			MaxActive 6
			WaitForAllDead "wave06_c"
			WaitBeforeStarting 10
			WaitBetweenSpawns 10
			Where spawnbot_side
			Support 1
			
			TFBot
			{
				Template T_TFBot_Scout_Sandman_FastCharge
			}
		}
        WaveSpawn
		{
			Name "wave06_final"
			TotalCount 1
			SpawnCount 1
            WaitForAllDead "wave06_d"
            WaitBeforeStarting 10
			Where spawnbot_chief
			
			TFBot
			{
				Template T_TFBot_Kolonel_Landmijn
                Attributes AlwaysCrit
			}
		}
	}
}