//Written by Startacker! https://steamcommunity.com/id/startacker/

#base robot_standard.pop
#base robot_giant.pop

WaveSchedule
{
	StartingCurrency 5 //Someone is really going to want to kick my teeth in for this
	CanBotsAttackWhileInSpawnRoom No
	RespawnWaveTime 4
	Advanced 1

	Templates
	{
		T_TFBot_Heavyweapons_Deflector
		{
			Class Heavyweapons
			Name "Deflector Heavy"
			ClassIcon heavy_deflector
			Skill Hard
			Item "The U-clank-a"
			Item "Deflector"
			ItemAttributes 
			{
				ItemName "Deflector"
				"attack projectiles" 1
			}
		}
		T_TFBot_Heavyweapons_Deflector_Normal
		{
			Class Heavyweapons
			Name "Deflector Heavy"
			ClassIcon heavy_deflector
			Skill Normal
			Item "The U-clank-a"
			Item "Deflector"
			ItemAttributes 
			{
				ItemName "Deflector"
				"attack projectiles" 1
			}
		}
		T_TFBot_Giant_Heavyweapons_BrassBeast_Tweak
		{
			Class Heavyweapons
			Name "Giant Heavy"
			ClassIcon heavy_giant
			Item "The Brass Beast"
			Skill Expert
			Health 5000
			WeaponRestrictions PrimaryOnly
			Attributes MiniBoss
			ClassIcon heavy_beast_h
			ItemAttributes
			{
				ItemName "The Brass Beast"
				"damage bonus"	1.7
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.3
				"airblast vulnerability multiplier" 0.3
				"override footstep sound set" 2
			}
		}
		T_TFBot_Sniper_Cleaners_Carbine
		{
			Name "SMG Sniper"
			Class Sniper
			Skill Normal
			Item "The Cleaner's Carbine"
			ClassIcon sniper_carbine
			WeaponRestrictions SecondaryOnly
		}
		T_TFBot_Suspicious_Sniper
		{
			Class Sniper
			Name "Suspicious Sniper"
			Skill Expert
			Attributes AlwaysCrit
			Item "The Hitman's Heatmaker"
			Item "The Head Hedge"
			Item "Antlers"
			MaxVisionRange 2500
			ItemAttributes
			{
				ItemName "The Hitman's Heatmaker"
				"faster reload rate" 0.6
				"sniper fires tracer" 1
			}
		}
		T_TFBot_Giant_Sniper_Cleaners_Carbine
		{
			Template T_TFBot_Sniper_Cleaners_Carbine
			Health 3000
			Skill Hard
			Name "Giant SMG Sniper"
			Attributes MiniBoss
			
			ItemAttributes
			{
				ItemName "The Cleaner's Carbine"
				"faster reload rate" 0.01
				"damage bonus" 1.5
			}
			CharacterAttributes
			{
				"move speed bonus" 0.7
				"damage force reduction" 0.5
				"airblast vulnerability multiplier" 0.5
				"override footstep sound set" 4
			}
		}
		T_TFBot_Scout_Milk
		{
			Class Scout
			Skill Normal
			Name "Milk Scout"
			ClassIcon scout_milk
			Attributes AlwaysFireWeapon
			Item "Mad Milk"
			WeaponRestrictions SecondaryOnly

			ItemAttributes
			{
				ItemName "Mad Milk"
				"effect bar recharge rate increased" .001
				"fire rate bonus" 2.5
			}
		}
		T_TFBot_Scout_Cleaver
		{
			Class Scout
			Skill Hard
			Name "Cleaver Scout"
			ClassIcon scout_cleaver
			Item "The Flying Guillotine"
			WeaponRestrictions SecondaryOnly

			ItemAttributes
			{
					ItemName "The Flying Guillotine"
					"effect bar recharge rate increased" .001
					"fire rate bonus" 1.75
			}
		}
		T_TFBot_Scout_Pistol
		{
			Class Scout
			Skill Normal
			ClassIcon scout_pistol
			WeaponRestrictions SecondaryOnly
		}
		T_TFBot_Giant_Scout_BFB
		{
			Class Scout
			Name "Giant BFB Scout"
			Item "Baby Face's Blaster"
			ClassIcon scout_blaster_tind_giant
			Skill Expert
			Health 1500
			WeaponRestrictions PrimaryOnly
			Attributes MiniBoss
			CharacterAttributes
			{
				"damage force reduction" 0.7
				"airblast vulnerability multiplier" 0.7
				"override footstep sound set" 5
				"move speed bonus" 0.9
			}
		}
		T_TFBot_Soldier_Burst
		{
			Class Soldier
			Skill Normal
			Name "Burst Fire Soldier"
			Attributes HoldFireUntilFullReload
			ClassIcon soldier_burstfire
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"fire rate bonus" 0.01
				"Projectile speed increased" 0.5
				"projectile spread angle penalty" 2

			}
		}
		T_TFBot_Giant_Soldier_BurstFire_NoCrit
		{
			Class Soldier
			Name "Giant Burst Fire Soldier"
			ClassIcon soldier_burstfire
			Health 4200
			Skill Expert
			WeaponRestrictions PrimaryOnly
			Attributes MiniBoss
			Attributes HoldFireUntilFullReload
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"faster reload rate" 0.4
				"fire rate bonus" 0.2
				"clip size upgrade atomic" 5.0
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
				"Projectile speed increased" 0.9
			}
		}
		T_TFBot_Giant_Demoman_Scatter
		{
			Class Demoman
			Name "Giant Scatter Demoman"
			ClassIcon demo_scatter
			Skill Expert
			Attributes MiniBoss
			Attributes HoldFireUntilFullReload
			Attributes AlwaysCrit
			Health 3300
			ItemAttributes
			{
				ItemName "TF_WEAPON_GRENADELAUNCHER"
				"clip size upgrade atomic" 36
				"projectile spread angle penalty" 50
				"faster reload rate" 0.2
				"fire rate bonus" 0.01
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 4
			}
		}
		T_TFBot_Scout_SunStick
		{
			Class Scout
			Name "Daylight Scout"
			Skill Normal
			Item "Sun-on-a-Stick"
			ClassIcon scout_sunstick
			WeaponRestrictions MeleeOnly
		}
		T_TFBot_Medic_Kritz
		{
			Class Medic
			Skill Expert
			Name "Kritzkrieg Medic"
			ClassIcon medic_kritz
			Item "The Kritzkrieg"
			Attributes SpawnWithFullCharge
			
			ItemAttributes
			{
				ItemName "The Kritzkrieg"
				"ubercharge rate bonus"	100
				"uber duration bonus"	100
			}
			CharacterAttributes
			{
				"bot medic uber health threshold" 20000
			}
		}
		T_TFBot_Giant_Medic_Kritz
		{
			Template T_TFBot_Medic_Kritz
			Attributes MiniBoss
			Health 4500
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.6
				"airblast vulnerability multiplier" 0.6
			}
		}
		T_TFBot_Chief_Demoman_Quad
		{
			Class Demoman
			Name "Chief Quad-Burst Demoman"
			Classicon demo_burst_giant
			Skill Hard
			Attributes MiniBoss
			Attributes AlwaysCrit
			Attributes HoldFireUntilFullReload
			Health 30000
			Attributes UseBossHealthBar
			Scale 2
			ItemAttributes
			{
				ItemName "TF_WEAPON_GRENADELAUNCHER"
				"fire rate bonus" 0.01
				"faster reload rate" 0.4
				"fire rate bonus with reduced health" 0.1
			}
			CharacterAttributes
			{
				"move speed bonus"	0.3
				"damage force reduction" 0.1
				"airblast vulnerability multiplier" 0.1
				"override footstep sound set" 4
				"rage giving scale" 0.2
			}
		}
		T_TFBot_Chief_HeavyWeapons_Shotgun
		{
			Template T_TFBot_Giant_Heavyweapons_Shotgun
			Name "Chief Tri-Burst Heavy"
			Health 30000
			ClassIcon heavy_shotgun_burst
			Skill Expert
			WeaponRestrictions SecondaryOnly
			MaxVisionRange 1200
			Attributes MiniBoss
			Attributes UseBossHealthBar
			Attributes AlwaysCrit
			Scale 2
			ItemAttributes
			{
				ItemName "TF_WEAPON_SHOTGUN_HWG"
				"fire rate bonus" 0.5
				"bullets per shot bonus" 10
				"damage penalty" 0.75
				"faster reload rate" 1.2
				"clip size bonus" 0.5
				"auto fires when full" 1
				"auto fires full clip" 1
				"fire rate bonus with reduced health" 0.1
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.1
				"airblast vulnerability multiplier" 0.1
				"attack projectiles" 1	// force ability to shoot down projectiles
				"override footstep sound set" 2
				"rage giving scale" 0.2
			}
		}
	}
	Mission
	{
		Objective	DestroySentries
		Where	spawnbot
		BeginAtWave	1
		InitialCooldown	30
		CooldownTime	40
		DesiredCount	1
		
		TFBot
		{
			Template	T_TFBot_SentryBuster
		}
	}
	
	Mission
	{
		Objective	Sniper
		Where	spawnbot_mission_sniper
		BeginAtWave	5
		RunForThisManyWaves	2
		InitialCooldown	20
		CooldownTime	40
		DesiredCount	2
		
		TFBot
		{
			Template T_TFBot_Sniper
		}
	}
	Mission
	{
		Objective	Sniper
		Where	spawnbot_mission_sniper
		BeginAtWave	7
		RunForThisManyWaves	1
		InitialCooldown	20
		CooldownTime	30
		DesiredCount	2
		
		TFBot
		{
			Template T_TFBot_Suspicious_Sniper
		}
	}
	Mission
	{
		Objective Spy
		Where spawnbot
		BeginAtWave 4
		RunForThisManyWaves 1
		InitialCooldown 40
		CooldownTime 40
		DesiredCount 2

		TFBot
		{
			Class Spy
			Skill Expert
		}
	}
	Mission
	{
		Objective Spy
		Where spawnbot
		BeginAtWave 7
		RunForThisManyWaves 1
		InitialCooldown 20
		CooldownTime 40
		DesiredCount 5

		TFBot
		{
			Class Spy
			Skill Expert
		}
	}

	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_noreset_1b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		WaveSpawn
		{
			Name "wave01_a"
			TotalCount 40
			SpawnCount 8
			MaxActive 16
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 100

			TFBot
			{
				Template T_TFBot_Sniper_Cleaners_Carbine
			}
		}
		WaveSpawn
		{
			Name "wave01_b"
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBeforeStarting 4
			WaitBetweenSpawns 12
			Where spawnbot
			TotalCurrency 200

			TFBot
			{
				Template T_TFBot_Giant_Pyro
			}
		}
		WaveSpawn
		{
			Name "wave01_c"
			TotalCount 6
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 5
			WaitForAllDead "wave01_b"
			WaitBetweenSpawns 15
			Where spawnbot
			TotalCurrency 150

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demoman
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave01_d"
			TotalCount 36
			SpawnCount 6
			MaxActive 12
			WaitBeforeStarting 0
			WaitForAllDead "wave01_b"
			WaitBetweenSpawns 8
			Where flankers
			TotalCurrency 100

			TFBot
			{
				Class Pyro
				Skill Easy
			}
		}
		WaveSpawn
		{
			Name "wave01_e"
			TotalCount 2
			SpawnCount 1
			MaxActive 2
			WaitBeforeStarting 4
			WaitForAllSpawned "wave01_c"
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Giant_Scout_BFB
			}
		}
		WaveSpawn
		{
			Name "wave01_f"
			TotalCount 10
			SpawnCount 1
			MaxActive 4
			WaitBeforeStarting 2
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Heavyweapons_Fist
			}
		}
		WaveSpawn
		{
			Name "wave01_support"
			TotalCount 10
			SpawnCount 2
			MaxActive 4
			WaitBeforeStarting 5
			WaitBetweenSpawns 6
			WaitForAllDead "wave01_b"
			Where flankers
			TotalCurrency 50
			Support 1

			TFBot
			{
				Template T_TFBot_Sniper_Cleaners_Carbine
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_noreset_1b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		WaveSpawn
		{
			Name "wave02_a"
			TotalCount 24
			SpawnCount 6
			MaxActive 12
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 100

			TFBot
			{
				Class Demoman
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave02_b"
			TotalCount 6
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 5
			WaitBetweenSpawns 16
			Where spawnbot
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons_Shotgun
					Skill Normal
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave02_c"
			TotalCount 30
			SpawnCount 6
			MaxActive 12
			WaitBeforeStarting 4
			WaitForAllSpawned "wave02_tank"
			WaitBetweenSpawns 8
			Where flankers
			TotalCurrency 25

			TFBot
			{
				Class Scout
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave02_tank"
			TotalCount 1
			SpawnCount 1
			WaitBeforeStarting 5
			WaitForAllDead "wave02_b"
			TotalCurrency 250
			Tank
			{
				Health 30000
				Speed 75
				StartingPathTrackNode tank_path_a_10
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave02_d"
			TotalCount 12
			SpawnCount 2
			MaxActive 4
			WaitBeforeStarting 4
			WaitForAllDead "wave02_b"
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Soldier_Burst
			}
		}
		WaveSpawn
		{
			Name "wave02_d"
			TotalCount 3
			SpawnCount 1
			MaxActive 3
			WaitForAllSpawned "wave02_tank"
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 25

			TFBot
			{
				Template T_TFBot_Giant_Scout_Baseball
			}
		}
		WaveSpawn
		{
			Name "wave02_e"
			TotalCount 40
			SpawnCount 5
			MaxActive 10
			WaitBeforeStarting 6
			WaitForAllDead "wave02_tank"
			WaitBetweenSpawns 8
			Where flankers
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Scout_Pistol
			}
		}
		WaveSpawn
		{
			Name "wave02_e"
			TotalCount 32
			SpawnCount 4
			MaxActive 8
			WaitBeforeStarting 6
			WaitForAllDead "wave02_tank"
			WaitBetweenSpawns 8
			Where flankers
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Scout_Cleaver
			}
		}
		WaveSpawn
		{
			Name "wave02_f"
			TotalCount 9
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 10
			WaitForAllDead "wave02_tank"
			WaitBetweenSpawns 15
			Where spawnbot
			TotalCurrency 50

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Spammer
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_2b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		WaveSpawn
		{
			Name "wave03_a"
			TotalCount 2
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 20
			Where spawnbot
			TotalCurrency 100
            StartWaveWarningSound  "vo\mvm_another_bomb05.mp3"

			TFBot
			{
				Template T_TFBot_Giant_Soldier_BurstFire_NoCrit
			}
		}
		WaveSpawn
		{
			Name "wave03_a"
			TotalCount 2
			SpawnCount 1
			MaxActive 2
			WaitBetweenSpawns 20
			Where flankers
			TotalCurrency 100

			TFBot
			{
				Template T_TFBot_Giant_Soldier_BurstFire_NoCrit
			}
		}
		WaveSpawn
		{
			Name "wave03_a"
			TotalCount 20
			SpawnCount 10
			MaxActive 10
			WaitBeforeStarting 5
			WaitBetweenSpawns 5
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Sniper_Cleaners_Carbine
			}
		}
		WaveSpawn
		{
			Name "wave03_b"
			TotalCount 12
			SpawnCount 4
			MaxActive 4
			WaitBeforeStarting 10
			WaitForAllSpawned "wave03_a"
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Heavyweapons_Deflector_Normal
			}
		}
		WaveSpawn
		{
			Name "wave03_b"
			TotalCount 18
			SpawnCount 6
			MaxActive 6
			WaitBeforeStarting 10
			WaitForAllSpawned "wave03_a"
			WaitBetweenSpawns 8
			Where flankers
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Scout_Cleaver
				Attributes AlwaysCrit
			}
		}
		WaveSpawn
		{
			Name "wave03_c"
			TotalCount 16
			SpawnCount 4
			MaxActive 8
			WaitBeforeStarting 8
			WaitForAllSpawned "wave03_b"
			WaitBetweenSpawns 15
			Where spawnbot
			TotalCurrency 150

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demo_Burst
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Deflector
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Deflector
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Buff_Banner
				}
			}
		}
		WaveSpawn
		{
			Name "wave03_c"
			TotalCount 42
			SpawnCount 6
			MaxActive 12
			WaitBeforeStarting 4
			WaitBetweenSpawns 9
			WaitForALlSpawned "wave03_b"
			Where flankers
			TotalCurrency 100

			TFBot
			{
				Class Scout
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave03_d"
			TotalCount 6
			SpawnCount 2
			WaitBeforeStarting 5
			WaitBetweenSpawns 10
			WaitForAllDead "wave03_c"
			Where spawnbot
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demoman_Scatter
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave03_d"
			TotalCount 3
			SpawnCount 1
			WaitBetweenSpawns 5
			WaitBeforeStarting 10
			WaitForAllDead "wave03_c"
			Where spawnbot
			TotalCurrency 100

			TFBot
			{
				Template T_TFBot_Giant_Scout
			}
		}
		WaveSpawn
		{
			Name "wave03_support1"
			TotalCount 25
			SpawnCount 1
			MaxActive 2
			WaitBeforeStarting 3
			WaitBetweenSpawns 6
			Where flankers
			Support 1

			TFBot
			{
				Template T_TFBot_Soldier_Extended_Concheror
			}
		}
		WaveSpawn
		{
			Name "wave03_support2"
			TotalCount 25
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 3
			WaitBetweenSpawns 6
			WaitForAllDead "wave03_c"
			Where flankers
			Support 1

			TFBot
			{
				Template T_TFBot_Soldier_Extended_Concheror
			}
		}
	}
    Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_2b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

        WaveSpawn
        {
            Name "wave04_a"
            TotalCount 19
            SpawnCount 19
            MaxActive 19
            Where spawnbot
            TotalCurrency 180

            TFBot
            {
                Template T_TFBot_Soldier_Burst
                Attributes AlwaysCrit
            }
        }
        WaveSpawn
        {
            Name "wave04_a"
            TotalCount 1
            SpawnCount 1
            MaxActive 1
            Where spawnbot
            TotalCurrency 20

            TFBot
            {
                Template T_TFBot_Soldier_Burst
                Attributes AlwaysCrit
                Name "Hope you bought crit res"
            }
        }
        WaveSpawn
        {
            Name "wave04_b"
            TotalCount 6
			SpawnCount 2
			MaxActive 4
			WaitBeforeStarting 2
			WaitForAllDead "wave04_a"
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 100

			TFBot
			{
				Template T_TFBot_Giant_Pyro
				Attributes AlwaysFireWeapon
				Attributes AlwaysCrit
			}
        }
		WaveSpawn
		{
			Name "wave04_c"
			TotalCount 30
			SpawnCount 6
			MaxActive 12
			WaitBeforeStarting 2
			WaitForAllDead "wave04_a"
			WaitBetweenSpawns 5
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Class Heavyweapons
				Skill Normal
				Item "The Huo Long Heatmaker"
			}
		}
		WaveSpawn
		{
			Name "wave04_d"
			TotalCount 8
			SpawnCount 4
			MaxActive 4
			WaitBeforeStarting 12
			WaitForAllSpawned "wave04_c"
			WaitBetweenSpawns 20
			Where spawnbot
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Regen
				}
				TFBot
				{
					Template T_TFBot_Scout_Milk
				}
				TFBot
				{
					Template T_TFBot_Scout_Milk
				}
			}
		}
		WaveSpawn
		{
			Name "wave04_e"
			TotalCount 18
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 8
			WaitForAllDead "wave04_c"
			WaitBetweenSpawns 6
			Where flankers
			TotalCurrency 50

			TFBot
			{
				Class Soldier
				Skill Normal
			}
		}
		WaveSpawn
		{
			Name "wave04_e"
			TotalCount 18
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 8
			WaitForAllDead "wave04_c"
			WaitBetweenSpawns 6
			Where spawnbot
			TotalCurrency 50

			RandomChoice
			{
				TFBot
				{
					Class Soldier
					Skill Normal
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Buff_Banner
				}
			}
		}
		WaveSpawn
		{
			Name "wave04_f"
			TotalCount 15
			SpawnCount 3
			MaxActive 9
			WaitBeforeStarting 6
			WaitForAllDead "wave04_d"
			WaitBetweenSpawns 6
			Where flankers
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Sniper_Cleaners_Carbine
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave04_tank"
			TotalCount 1
			SpawnCount 1
			MaxActive 1
			WaitBeforeStarting 12
			WaitForAllSpawned "wave04_d"
			WaitBetweenSpawns 15
			TotalCurrency 100

			Tank
			{
				Health 25000
				Speed 75
				StartingPathTrackNode tank_path_a_10
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave04_support"
			TotalCount 666
			SpawnCount 5
			MaxActive 8
			WaitBeforeStarting 4
			WaitForAllSpawned "wave04_tank"
			WaitBetweenSpawns 8
			Where spawnbot
			Support 1

			TFBot
			{
				Class Scout
				Skill Easy
				Attributes AlwaysCrit
			}
		}
    }
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_2b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		WaveSpawn
		{
			Name "wave05_tanks"
			TotalCount 2
			SpawnCount 1
			TotalCurrency 300
			WaitBetweenSpawns 55
			Tank
			{
				Health 25000
				Speed 75
				StartingPathTrackNode tank_path_a_10
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_engineers"
			TotalCount 3
			SpawnCount 1
			MaxActive 1
			WaitBeforeStarting 30
			WaitBetweenSpawns 30
			TotalCurrency 50
			Where spawnbot
			Support Limited
			
			TFBot
			{
				Template T_TFBot_Engineer_Sentry_Teleporter
				CharacterAttributes
				{
					"cannot pick up intelligence" 1
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_a"
			TotalCount 6
			SpawnCount 2
			MaxActive 4
			WaitBetweenSpawns 8
			TotalCurrency 100
			Where spawnbot

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Spammer
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_b"
			TotalCount 6
			SpawnCount 2
			MaxActive 3
			WaitBeforeStarting 15
			WaitForAllDead "wave05_a"
			WaitBetweenSpawns 7
			TotalCurrency 100
			Where spawnbot

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_BurstFire_NoCrit
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Kritz
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_c"
			TotalCount 6
			SpawnCount 3
			MaxActive 6
			WaitBeforeStarting 15
			WaitForAllDead "wave05_b"
			WaitBetweenSpawns 20
			TotalCurrency 100
			Where spawnbot

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Kritz
				}
			}
		}
		WaveSpawn
		{
			Name "wave05_support"
			TotalCount 40
			SpawnCount 2
			MaxActive 4
			WaitBetweenSpawns 4
			Where flankers
			TotalCurrency 150

			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Concheror
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Buff_Banner
				}
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_2b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		WaveSpawn
		{
			Name "wave06_a"
			TotalCount 40
			SpawnCount 2
			MaxActive 10
			WaitBetweenSpawns 2
			Where spawnbot
			TotalCurrency 50

			Squad
			{
				TFBot
				{
					Template T_TFBot_Sniper_Cleaners_Carbine
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_b"
			TotalCount 10
			SpawnCount 2
			MaxActive 6
			WaitBeforeStarting 3
			WaitBetweenSpawns 15
			Where spawnbot
			TotalCurrency 50

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Pyro
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_b"
			TotalCount 3
			SpawnCount 1
			MaxActive 2
			WaitBeforeStarting 3
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Giant_Scout_Baseball_Armored
			}
		}
		WaveSpawn
		{
			Name "wave06_c"
			TotalCount 32
			SpawnCount 1
			MaxActive 8
			WaitBeforeStarting 10
			WaitForAllSpawned "wave06_b"
			WaitBetweenSpawns 0.75
			Where flankers
			TotalCurrency 50

			TFBot
			{
				Class Demoman
				Skill Hard
				Attributes AlwaysCrit
				Item "The Chargin' Targe"
			}
		}
		WaveSpawn
		{
			Name "wave06_d"
			TotalCount 8
			SpawnCount 2
			MaxActive 4
			WaitBeforeStarting 12
			WaitForAllDead "wave06_b"
			WaitBetweenSpawns 12
			Where spawnbot
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons_BrassBeast_Tweak
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Regen
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_tank"
			TotalCount 1
			SpawnCount 1
			TotalCurrency 50
			WaitForAllDead "wave06_b"
			WaitBeforeStarting 12
			Tank
			{
				Health 20000
				Speed 75
				StartingPathTrackNode tank_path_a_10
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name "wave06_e"
			TotalCount 12
			SpawnCount 2
			MaxActive 2
			WaitBeforeStarting 8
			WaitForAllDead "wave06_b"
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Soldier_Burst
			}
		}
		WaveSpawn
		{
			Name "wave06_f"
			TotalCount 8
			SpawnCount 4
			MaxActive 4
			WaitBeforeStarting 5
			WaitForAllDead "wave06_d"
			WaitBetweenSpawns 10
			Where flankers
			TotalCurrency 200

			TFBot
			{
				Template T_TFBot_Giant_Demoman_Scatter
			}
		}
		WaveSpawn
		{
			Name "wave06_g"
			TotalCount 30
			SpawnCount 10
			MaxActive 10
			WaitBeforeStarting 0
			WaitForAllDead "wave06_d"
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 100
			
			TFBot
			{
				Class Pyro
				Skill Easy
				Attributes AlwaysFireWeapon
				Attributes AlwaysCrit
				CharacterAttributes
				{
					"move speed bonus" 1.3
				}
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay_2b
			Action	Trigger
		}
		
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		WaveSpawn
		{
			Name "wave07_a"
			TotalCount 4
			SpawnCount 2
			MaxActive 4
			WaitBetweenSpawns 24
			Where spawnbot
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons_BrassBeast_Tweak
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave07_b"
			TotalCount 24
			SpawnCount 6
			MaxActive 12
			WaitBeforeStarting 2
			WaitBetweenSpawns 6
			Where flankers
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Demo_Burst
				Attributes AlwaysCrit
			}
		}
		WaveSpawn
		{
			Name "wave07_c"
			TotalCount 16
			SpawnCount 4
			MaxActive 4
			WaitBeforeStarting 10
			WaitForAllDead "wave07_a"
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Heavyweapons_Deflector
			}
		}
		WaveSpawn
		{
			Name "wave07_c"
			TotalCount 12
			SpawnCount 1
			MaxActive 4
			WaitBeforeStarting 10
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 50

			TFBot
			{
				Template T_TFBot_Giant_Scout_FAN
			}
		}
		WaveSpawn
		{
			Name "wave07_c"
			TotalCount 28
			SpawnCount 4
			MaxActive 8
			WaitBeforeStarting 8
			WaitForAllDead "wave07_a"
			WaitBetweenSpawns 10
			Where spawnbot
			TotalCurrency 25

			TFBot
			{
				Template T_TFBot_Scout_Bonk
				Attributes AlwaysCrit
			}
		}
		WaveSpawn
		{
			Name "wave07_c"
			TotalCount 15
			SpawnCount 5
			MaxActive 6
			WaitBeforeStarting 8
			WaitForAllDead "wave07_a"
			WaitBetweenSpawns 8
			Where spawnbot
			TotalCurrency 50

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_RocketShotgun
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		WaveSpawn
		{
			Name "wave07_csupport"
			TotalCount 3
			SpawnCount 1
			MaxActive 3
			WaitBeforeStarting 4
			WaitForAllDead "wave07_a"
			WaitBetweenSpawns 12
			Where spawnbot
			Support 1
			TotalCurrency 25

			TFBot
			{
				Template T_TFBot_Soldier_Burst
			}
		}
		WaveSpawn
		{
			Name "wave07_support"
			TotalCount 50
			SpawnCount 2
			MaxActive 4
			WaitBeforeStarting 5
			WaitForAllSpawned "wave07_final"
			WaitBetweenSpawns 12
			Where flankers
			Support 1
			
			TFBot
			{
				Template T_TFBot_Scout_Pistol
			}
		}
		WaveSpawn
		{
			Name "wave07_support"
			TotalCount 50
			SpawnCount 2
			MaxActive 4
			WaitBeforeStarting 5
			WaitForAllSpawned "wave07_final"
			WaitBetweenSpawns 12
			Where spawnbot
			Support 1
			
			TFBot
			{
				Template T_TFBot_Scout_Cleaver
			}
		}
		WaveSpawn
		{
			Name "wave07_final"
			TotalCount 1
			SpawnCount 1
			Where spawnbot_chief
			WaitBeforeStarting 5
			WaitForAllDead "wave07_c"

			TFBot
			{
				Template T_TFBot_Chief_HeavyWeapons_Shotgun
			}
		}
		WaveSpawn
		{
			Name "wave07_final"
			TotalCount 1
			SpawnCount 1
			Where flankers
			WaitBeforeStarting 5
			WaitForAllDead "wave07_c"

			TFBot
			{
				Template T_TFBot_Chief_Demoman_Quad
			}
		}
		WaveSpawn
        {
            Name "wave07_snipercrit"
            TotalCount 0
            Support 1
            TFBot
            {
                Class Sniper
                Attributes AlwaysCrit
            }
        }
	}
}