#base robot_giant.pop
#base robot_standard.pop

WaveSchedule
{
StartingCurrency 2000
RespawnWaveTime 10
CanBotsAttackWhileInSpawnRoom no
AddSentryBusterWhenDamageDealtExceeds	999999
AddSentryBusterWhenKillCountExceeds	999

	Mission // sentry buster
	{
		Objective DestroySentries

		InitialCooldown 1000
		Where spawnbot
		BeginAtWave 1
		RunForThisManyWaves 9

		CooldownTime 1000            

            TFBot
			{
				Template T_TFBot_SentryBuster
			}
	}
	Mission // Spy - wave 2
	{
		Objective Spy  

		InitialCooldown 25
		Where spawnbot_mission_spy
		BeginAtWave 2
		RunForThisManyWaves 1
		CooldownTime 15
		DesiredCount 5

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

		InitialCooldown 20
		Where spawnbot_mission_spy
		BeginAtWave 7
		RunForThisManyWaves 1
		CooldownTime 10
		DesiredCount 3

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

		InitialCooldown 30
		Where spawnbot_mission_sniper
		BeginAtWave 7
		RunForThisManyWaves 1
		CooldownTime 15
		DesiredCount 3

		TFBot
		{
			Class Sniper
			Skill Expert
			Name Sniper
			MaxVisionRange 3000
		}
	}
	Mission // Engineer - wave 7
	{
		Objective Engineer  

		InitialCooldown 40
		Where spawnbot
		BeginAtWave 7
		RunForThisManyWaves 1
		CooldownTime 45
		DesiredCount 1

		TFBot
		{
			Template T_TFBot_Engineer_Sentry_Teleporter
		}
	}	
	Mission // Engineer - wave 8
	{
		Objective Engineer  

		InitialCooldown 60
		Where spawnbot
		BeginAtWave 8
		RunForThisManyWaves 1
		CooldownTime 60
		DesiredCount 2

		TFBot
		{
			Template T_TFBot_Engineer_Sentry_Teleporter
		}
	}	
	Mission // Engineer - wave 9
	{
		Objective Engineer  

		InitialCooldown 30
		Where spawnbot
		BeginAtWave 9
		RunForThisManyWaves 1
		CooldownTime 30
		DesiredCount 4

		TFBot
		{
			Template T_TFBot_Engineer_Sentry_Teleporter
		}
	}	
	
//////////////////////////////////////////////////////////

Wave /////////////////////////////////////////////////////////////// WAVE 1 - DPS Test (900 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes




WaveSpawn
{
Where spawnbot
TotalCount 40
MaxActive 10
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 10
TotalCurrency 200

TFBot
{
Template T_TFBot_Heavyweapons_Fist
Skill Easy
}
}

WaveSpawn
{
Where spawnbot
TotalCount 40
MaxActive 10
spawnCount 5
WaitBeforeStarting 30
WaitBetweenSpawns 10
TotalCurrency 200

TFBot
{
Class Pyro
Skill Easy
Attributes "AlwaysCrit"
Attributes "AlwaysFireWeapon"
}
}


		WaveSpawn // Tank
		{
			
			TotalCount 1
			WaitBeforeStarting 45
			WaitBetweenSpawns 0
			TotalCurrency 500
			
			FirstSpawnOutput                                                                                                                                                            
			{
				 Target boss_spawn_relay                                            
				 Action Trigger                         
			}

			Tank
			{
				Health 30000
				Speed 75
				Name "tankboss"
				Skin 1
				StartingPathTrackNode "boss_path_1"

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

Wave /////////////////////////////////////////////////////////////// WAVE 2 - Multi-tasking (900 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes


WaveSpawn
{
Where spawnbot
TotalCount 20
MaxActive 4
spawnCount 2
WaitBeforeStarting 0
WaitBetweenSpawns 12
TotalCurrency 200

TFBot
{
Template T_TFBot_Giant_Scout
Skill Expert
}
}

		WaveSpawn // Tank
		{
			
			TotalCount 4
			WaitBeforeStarting 15
			WaitBetweenSpawns 45
			TotalCurrency 500
			
			FirstSpawnOutput                                                                                                                                                            
			{
				 Target boss_spawn_relay                                            
				 Action Trigger                         
			}

			Tank
			{
				Health 20000
				Speed 75
				Name "tankboss"
				Skin 1
				StartingPathTrackNode "boss_path_1"

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

WaveSpawn
{
Where spawnbot
TotalCount 40
MaxActive 9
spawnCount 3
WaitBeforeStarting 100
WaitBetweenSpawns 2
TotalCurrency 200

Support 1

Randomchoice
{

TFBot
{
Class Demoman
Skill Normal
}

TFBot
{
Class Soldier
Skill Normal
}

TFBot
{
Class Scout
Skill Normal
}

}
}

}

Wave /////////////////////////////////////////////////////////////// WAVE 3 - Short range enemies (600 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes




WaveSpawn
{
Name "wave03a"
Where spawnbot
TotalCount 20
MaxActive 10
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 2
TotalCurrency 100

TFBot
{
Template T_TFBot_Demoman_Knight
Skill Normal
}
}


WaveSpawn
{
Name "wave03a"
Where spawnbot
TotalCount 20
MaxActive 10
spawnCount 5
WaitBeforeStarting 1
WaitBetweenSpawns 2
TotalCurrency 100

TFBot
{
Class Pyro
Skill Normal
}
}






WaveSpawn
{	
WaitForAllSpawned "wave03a"
			
Where spawnbot
TotalCount 24
MaxActive 12
SpawnCount 6
WaitBeforeStarting 0
WaitBetweenSpawns 6
TotalCurrency 200
			
Squad 
{

TFBot
{
Template T_TFBot_Giant_DemoMan_PrinceTavish
}

TFBot
{
Template T_TFBot_Demoman_Knight
Skill Expert
}

TFBot
{
Template T_TFBot_Demoman_Knight
Skill Expert
}

TFBot
{
Template T_TFBot_Demoman_Knight
Skill Expert
}

TFBot
{
Template T_TFBot_Demoman_Knight
Skill Expert
}

TFBot
{
Template T_TFBot_Demoman_Knight
Skill Expert
}

}
}




WaveSpawn 
{	
WaitForAllDead "wave03a"

Where spawnbot
TotalCount 24
MaxActive 12
SpawnCount 6
WaitBeforeStarting 0
WaitBetweenSpawns 6
TotalCurrency 200

Squad 
{

TFBot
{
Template T_TFBot_Giant_Pyro
}

TFBot
{
Class Pyro
Skill Hard
}

TFBot
{
Class Pyro
Skill Hard
}

TFBot
{
Class Pyro
Skill Hard
}

TFBot
{
Class Pyro
Skill Hard
}

TFBot
{
Class Pyro
Skill Hard
}

}
}

}
/////////////////////////////////////////////////////////////////////////////

Wave ////////////////////////////////////////////////////////////////////////////////// WAVE 4 - Uber town (800 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes



WaveSpawn
{
Name "wave04a"
Where spawnbot
TotalCount 40
MaxActive 16
spawnCount 2
WaitBeforeStarting 0
WaitBetweenSpawns 0
TotalCurrency 200

Squad
{

TFBot
{
Class Heavyweapons
Skill Hard
}

TFBot
{
Template T_TFBot_Medic
Skill Expert
}

}
}


WaveSpawn
{
WaitForAllSpawned "wave04a"

Name "wave04b"
Where spawnbot
TotalCount 40
MaxActive 10
spawnCount 2
WaitBeforeStarting 0
WaitBetweenSpawns 0
TotalCurrency 200

Squad
{

TFBot
{
Class Soldier
Skill Hard
}

TFBot
{
Template T_TFBot_Medic_BigHeal
Skill Expert
}

}
}

WaveSpawn
{
WaitForAllDead "wave04a"

Name "wave04b"
Where spawnbot
TotalCount 40
MaxActive 10
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 2
TotalCurrency 200

TFBot
{
Template T_TFBot_Scout_Bonk
Attributes "AlwaysCrit"
}
}


WaveSpawn
{
WaitForAllSpawned "wave04b"

Name "wave04c"
Where spawnbot
TotalCount 8
MaxActive 8
spawnCount 2
WaitBeforeStarting 0
WaitBetweenSpawns 10
TotalCurrency 200

Squad
{

TFBot
{
Template T_TFBot_Giant_Demoman
}

TFBot
{
Template T_TFBot_Giant_Medic
Skill Expert
}

}
}





}


Wave ////////////////////////////////////////////////////////////////////////////////// WAVE 5 - Crit city (1300 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes




WaveSpawn
{
Name "wave05a"
Where spawnbot
TotalCount 20
MaxActive 20
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 1
TotalCurrency 100

TFBot
{
Class Demoman
Skill Expert
Attributes "AlwaysCrit"
}
}

WaveSpawn
{
WaitForAllSpawned "wave05a"

Name "wave05b"
Where spawnbot
TotalCount 20
MaxActive 20
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 1
TotalCurrency 100

TFBot
{
Class pyro
Skill Expert
Attributes "AlwaysCrit"
Attributes "AlwaysFireWeapon"
}
}


WaveSpawn
{
WaitForAllSpawned "wave05b"

Name "wave05c"
Where spawnbot
TotalCount 30
MaxActive 20
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 1
TotalCurrency 150

TFBot
{
Class Soldier
Skill Expert
Attributes "AlwaysCrit"
}
}


WaveSpawn
{

WaitForAllSpawned "wave05c"

Name "wave05d"
Where spawnbot
TotalCount 40
MaxActive 20
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 0
TotalCurrency 200

TFBot
{
Class Heavyweapons
Skill Expert
Attributes "AlwaysCrit"
}
}



WaveSpawn
{

WaitForAllSpawned "wave05d"

Name "wave05e"
Where spawnbot
TotalCount 80
MaxActive 20
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 1
TotalCurrency 750

Squad
{

TFBot
{
Template T_TFBot_Heavyweapons_Shotgun
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Soldier_Extended_Battalion
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Pyro_Flaregun
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Demo_Burst
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Class Scout
ClassIcon scout_bat
WeaponRestrictions Meleeonly
Skill Expert
Attributes "AlwaysCrit"
}

}
}



}
/////////////////////////////////////////////////////////////////////////////

Wave ////////////////////////////////////////////////////////////////////////////////// WAVE 6 - DPS Test - round 2 (900 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes






WaveSpawn
{
Where spawnbot
TotalCount 4
MaxActive 4
spawnCount 1
WaitBeforeStarting 0
WaitBetweenSpawns 5
TotalCurrency 100

TFBot
{
Template T_TFBot_Giant_Heavyweapons
}
}





WaveSpawn
{
Where spawnbot
TotalCount 100
MaxActive 16
spawnCount 1
WaitBeforeStarting 30
WaitBetweenSpawns 0
TotalCurrency 500

TFBot
{
Template T_TFBot_Heavyweapons_Fist
Skill Expert
Attributes "AlwaysCrit"
}
}




		WaveSpawn // Tank
		{
			Name "wave06a"
			TotalCount 6
			WaitBeforeStarting 60
			WaitBetweenSpawns 15
			TotalCurrency 0
			
			FirstSpawnOutput                                                                                                                                                            
			{
				 Target boss_spawn_relay                                            
				 Action Trigger                         
			}

			Tank
			{
				Health 30000
				Speed 75
				Name "tankboss"
				Skin 1
				StartingPathTrackNode "boss_path_1"

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


WaveSpawn
{
Where spawnbot
TotalCount 4
MaxActive 4
spawnCount 1
WaitBeforeStarting 100
WaitBetweenSpawns 5
TotalCurrency 100

TFBot
{
Template T_TFBot_Giant_Heavyweapons
}
}


WaveSpawn
{
WaitForAllSpawned "wave06a"
Where spawnbot
TotalCount 16
MaxActive 16
spawnCount 2
WaitBeforeStarting 0
WaitBetweenSpawns 5
TotalCurrency 200

Squad
{

TFBot
{
Template T_TFBot_Giant_Heavyweapons
}

TFBot
{
Template T_TFBot_Medic
Skill Expert
}

}
}


}

/////////////////////////////////////////////////////////////////////////////

Wave ///////////////////////////////////////////////////////////////////////////// WAVE 7 - More Multi-tasking (900 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes







WaveSpawn
{
Name "wave07a"
Where spawnbot
TotalCount 25
MaxActive 20
spawnCount 5
WaitBeforeStarting 0
WaitBetweenSpawns 2
TotalCurrency 100

TFBot
{
Template T_TFBot_Sniper_Huntsman
Skill Expert
Attributes "AlwaysCrit"
}
}






WaveSpawn
{
WaitForAllSpawned "wave07a"
Where spawnbot
TotalCount 8
MaxActive 2
spawnCount 1
WaitBeforeStarting 0
WaitBetweenSpawns 12
TotalCurrency 100

TFBot
{
Template T_TFBot_Giant_Scout_Baseball
}
}



WaveSpawn
{
WaitForAllSpawned "wave07a"
Where spawnbot
TotalCount 8
MaxActive 2
spawnCount 1
WaitBeforeStarting 2
WaitBetweenSpawns 12
TotalCurrency 100

TFBot
{
Template T_TFBot_Giant_Scout_Fast
Skill Expert
}
}




WaveSpawn
{
WaitForAllSpawned "wave07a"
Where spawnbot
TotalCount 40
MaxActive 6
spawnCount 3
WaitBeforeStarting 2.5
WaitBetweenSpawns 5
TotalCurrency 200

Support 1

TFBot
{
Class Pyro
Skill Expert
}
}


WaveSpawn
{
WaitForAllSpawned "wave07a"
Where spawnbot
TotalCount 10
MaxActive 4
spawnCount 2
WaitBeforeStarting 8
WaitBetweenSpawns 10
TotalCurrency 100

Squad
{

TFBot
{
Template T_TFBot_Giant_Soldier_Spammer
}

TFBot
{
Template T_TFBot_Giant_Medic
}

}
}


		WaveSpawn // Tank
		{
			Name "wave07b"
			WaitForAllSpawned "wave07a"
			TotalCount 4
			WaitBeforeStarting 15
			WaitBetweenSpawns 20
			TotalCurrency 100
			
			FirstSpawnOutput                                                                                                                                                            
			{
				 Target boss_spawn_relay                                            
				 Action Trigger                         
			}

			Tank
			{
				Health 30000
				Speed 75
				Name "tankboss"
				Skin 1
				StartingPathTrackNode "boss_path_1"

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

WaveSpawn
{
WaitForAllSpawned "wave07b"
Where spawnbot
TotalCount 20
MaxActive 16
spawnCount 4
WaitBeforeStarting 0
WaitBetweenSpawns 2
TotalCurrency 200

TFBot
{
Template T_TFBot_Sniper_Huntsman_Spammer
ClassIcon Sniper_bow_multi
Skill Expert
Attributes AlwaysCrit
}
}

}


Wave ///////////////////////////////////// WAVE 8 - Final Push before the bosses (900 + 100)
{
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes



		WaveSpawn // Tank
		{
			
			TotalCount 1
			WaitBeforeStarting 0
			WaitBetweenSpawns 0
			TotalCurrency 200
			
			FirstSpawnOutput                                                                                                                                                            
			{
				 Target boss_spawn_relay                                            
				 Action Trigger                         
			}

			Tank
			{
				Health 100000
				Speed 75
				Name "tankboss"
				Skin 1
				StartingPathTrackNode "boss_path_1"

				OnKilledOutput                                  
				{
					Target boss_dead_relay
					Action Trigger                         
				}
				
				OnBombDroppedOutput                             
				{
					Target boss_deploy_relay 
					Action Trigger                         
				}
			}
		}
WaveSpawn
{
Name "Wave08a"
Where spawnbot
TotalCount 8
MaxActive 8
spawnCount 2
WaitBeforeStarting 0
WaitBetweenSpawns 16
TotalCurrency 200

Squad
{

TFBot
{
Template T_TFBot_Giant_Heavyweapons
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Giant_Medic
}

}
}




WaveSpawn
{
Where spawnbot
TotalCount 16
MaxActive 8
spawnCount 2
WaitBeforeStarting 8
WaitBetweenSpawns 16
TotalCurrency 100

Squad
{

TFBot
{
Template T_TFBot_Sniper_Huntsman_Spammer
ClassIcon Sniper_bow_multi
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Medic
Skill Expert
}

}
}


WaveSpawn
{
WaitForAllSpawned "wave08a"
Where spawnbot
TotalCount 8
MaxActive 8
spawnCount 2
WaitBeforeStarting 16
WaitBetweenSpawns 16
TotalCurrency 200

Squad
{

TFBot
{
Template T_TFBot_Soldier_BurstFire
}

TFBot
{
Template T_TFBot_Giant_Medic
}

}
}


WaveSpawn
{
WaitForAllSpawned "wave08a"
Where spawnbot
TotalCount 32
MaxActive 4
spawnCount 2
WaitBeforeStarting 5
WaitBetweenSpawns 7
TotalCurrency 200

Support 1

Randomchoice
{

TFBot
{
Template T_TFBot_Medic
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Medic_QuickUber
Skill Expert
Attributes "AlwaysCrit"
}

TFBot
{
Template T_TFBot_Medic_BigHeal
Skill Expert
Attributes "AlwaysCrit"
}

}
}




}



/////////////////////////////////////////////////////

Wave ///// WAVE 9 - The Bosses
{
StartWaveOutput
{
Target wave_start_relay_boss
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action trigger
}
WaitWhenDone 65
Checkpoint Yes





WaveSpawn
{
Where spawnbot
TotalCount 4
MaxActive 4
spawnCount 4
WaitBeforeStarting 0
WaitBetweenSpawns 0
TotalCurrency 0

Squad
{

TFBot
{
ClassIcon demo_bomber
Health 50000
Name "King of Iron"
Class Demoman
Skill Normal
WeaponRestrictions PrimaryOnly
Attributes "AlwaysCrit"
Attributes "MiniBoss"
Attributes "UseBossHealthBar"
Attributes "HoldFireUntilFullReload"
Item "the iron bomber"
Item "prince tavish's crown"
Item "summer shades"

ItemAttributes
{
ItemName "the iron bomber"
"fire rate bonus" 0
"faster reload rate" 0
"clip size upgrade atomic" -3.0
"Projectile speed increased" 1.1
"damage bonus" 4
}

CharacterAttributes
{
"health regen" 300
"move speed bonus" 0.45
"damage force reduction" 0.7
"airblast vulnerability multiplier" 0.3
"override footstep sound set" 4
"airblast vertical vulnerability multiplier" 0.1
}
}

TFBot
{
Template T_TFBot_Giant_Medic
}

TFBot
{
Template T_TFBot_Giant_Medic
}

TFBot
{
Template T_TFBot_Giant_Medic
}

}
}

WaveSpawn
{
Where spawnbot
TotalCount 50
MaxActive 7
spawnCount 1
WaitBeforeStarting 12
WaitBetweenSpawns 5
TotalCurrency 0

Support 1

TFBot
{
Class Soldier
Skill Expert
Attributes "AlwaysCrit"
}
}



WaveSpawn
{
Where spawnbot
TotalCount 50
MaxActive 5
spawnCount 1
WaitBeforeStarting 8
WaitBetweenSpawns 5
TotalCurrency 0

Support 1

TFBot
{
Template T_TFBot_Medic_BigHeal
Skill Expert
}
}




}



}