#base robot_giant.pop
#base robot_standard.pop
#base robot_gatebot.pop
#base robot_factory.pop

population
{
	Templates
	{
		T_TFBot_Medic_Plague_Doctor_Expert
		{
			Class Medic
			ClassIcon			medic_plague
			Skill				Expert
			Item				"the byte'd beak"
			//Item				"the virus doctor"		//can't have two cosmetics at once
			Item				"The Crusader's Crossbow"
			Health				4000
			Attributes			MiniBoss
			WeaponRestrictions	PrimaryOnly
			ItemAttributes
			{
				ItemName							"The Crusader's Crossbow"
				"bleeding duration"					60			//This is cruel
				"drop health pack on kill"			1			//This isn't
				"reload time increased"				0.5		//Let's spam the death bolts
				"projectile penetration"			1
			}
			CharacterAttributes
			{
				"move speed bonus"					0.9
				"damage force reduction"			0.4
				"airblast vulnerability multiplier"	0.4
				//"override footstep sound set"		3
				"Projectile speed increased"		1.25
			}
		}
		
		T_TFBot_Pyro_Rain_Factory
		{
			Class Pyro
			Name "Flare Rain Pyro"
			Skill Expert
			ClassIcon pyro_flare_rain_nys
			Item "The Flare Gun"
			WeaponRestrictions SecondaryOnly
			CharacterAttributes
			{
				"fire rate bonus" 0.1
				"Reload time increased" 0.1
			}
		}
		
		T_TFBot_Heavy_Grapple_Factory
		{
			Class HeavyWeapons
			Skill Hard
			Name "Grapple Heavy"
			Item "Tomislav"
			ClassIcon heavy_grapple
			WeaponRestrictions PrimaryOnly
			Item "Mad Mask"
			CharacterAttributes
			{
				"apply look velocity on damage" -300
				"move speed bonus" 1.5
				"damage bonus" 0.75
			}
		}
		
		T_TFBot_Pyro_Gas_Factory
		{
			Class Pyro
			Skill Easy
			Name "Gas Passer Pyro"
			Item "The Gas Passer"
			ClassIcon pyro_gascann
			WeaponRestrictions SecondaryOnly
			CharacterAttributes
			{
				"effect bar recharge rate increased" 0.2
				"move speed bonus" 1.35
			}
		}
		
		T_TFBot_Soldier_Airstrike_Factory
		{
			Class Soldier
			Name "Airstrike Soldier"
			ClassIcon soldier_airstrike
			Skill Expert
			Item "The Air Strike"
			Item "The B.A.S.E. Jumper"
			Item "Shortness Of Breath"
			Scale "1.3"
			Health 500
			WeaponRestrictions PrimaryOnly
			//Attributes AirChargeOnly
			//Attributes AlwaysCrit
			Attributes Parachute
			Attributes AutoJump
				AutoJumpMin 2
				AutoJumpMax 4
			CharacterAttributes
			{
				"increased jump height" 3
				"bot custom jump particle"	1
				"Reload time increased" 0.2
				"fire rate bonus" 0.2
				"move speed bonus" 3
				"cancel falling damage" 999
			}
		}
		
		T_TFBot_Pyroshark_Factory
		{
			Class Pyro
			Name				"Pyroshark"
			Skill				Hard
			ClassIcon			pyro_shark					//ClassIcons are relative to "materials/HUD/leaderboard_class_[classicon]"
			Item 				"The Cranial Carcharodon"
			Item				"The Neon Annihilator"
			
			//Action Mobber
			
			Health				500
			Scale 1.3
			WeaponRestrictions	MeleeOnly
			//Attributes			AlwaysFireWeapon
			ItemAttributes
			{
				ItemName						"The Neon Annihilator"
				"move speed bonus" 1.5
				"damage bonus"					1					
				"fire rate bonus" 				0.5						//Double speed
			}
		}
		
		T_TFBot_Pyroshark_Gatebot_Factory
		{
			Class Pyro
			Name				"Pyroshark"
			Skill				Expert
			ClassIcon			pyro_shark					//ClassIcons are relative to "materials/HUD/leaderboard_class_[classicon]"
			Item "MvM GateBot Light Pyro"
			Item				"The Neon Annihilator"
			
			Tag					bot_gatebot 	// having these will cause bots to run towards gates
			BehaviorModifiers	push			// having these will cause bots to run towards gates
			Attributes			IgnoreFlag 		// having these will cause bots to run towards gates
			
			Health				600
			Scale 1.3
			WeaponRestrictions	MeleeOnly
			//Attributes			AlwaysFireWeapon
			ItemAttributes
			{
				ItemName				"The Neon Annihilator"
				"move speed bonus" 1.6
				"damage bonus"					1					
				"fire rate bonus" 				0.4						//Double speed
			}
		}
		
		T_TFBot_Accurate_SMG_Sniper_Factory
		{
			Class Sniper
			ClassIcon sniper_accurate
			Name "Accurate SMG Sniper"
			Skill Expert
			Attributes MiniBoss
			WeaponRestrictions SecondaryOnly
			Health 3500
			Item "Corona Australis"
			Item "The Cleaner's Carbine"
			CharacterAttributes
			{
				"weapon spread bonus" 0.05
				"Reload time increased" 0.1
				"fire rate bonus" 0.65
			}
		}
		
		T_TFBot_Medic_Plague_Doctor_Boss
		{
			Class Medic
			Name "The Epidemedic"
			ClassIcon			medic_plague
			Skill				Expert
			Item				"the byte'd beak"
			//Item				"the virus doctor"		//can't have two cosmetics at once
			Item				"The Crusader's Crossbow"
			Health				60000
			Scale 2.2
			Attributes			MiniBoss
			Attributes UseBossHealthBar
			WeaponRestrictions	PrimaryOnly
			Attributes AutoJump
				AutoJumpMin 4
				AutoJumpMax 8
			ItemAttributes
			{
				ItemName							"The Crusader's Crossbow"
				"bleeding duration"					60			//This is cruel
				"drop health pack on kill"			1			//This isn't
				"reload time increased"				0.1		//Let's spam the death bolts
				"projectile penetration"			1
			}
			CharacterAttributes
			{
				"increased jump height" 2
				"move speed bonus"					0.5
				"damage force reduction"			0.2
				"airblast vulnerability multiplier"	0.2
				//"override footstep sound set"		3
				"Projectile speed increased"		1.25
				"attach particle effect"	3090
			}
		}
		
		T_TFBot_Giant_Medic_Kritz
        {
            Class Medic
            Name "Giant Kritz Medic"
            ClassIcon medic_kritz
            Skill Normal
            Attributes SpawnWithFullCharge
            Item "The Kritzkrieg"
			Attributes MiniBoss
			Health 4500
            ItemAttributes
            {
                ItemName "The Kritzkrieg"
                "ubercharge rate bonus" 5
                "uber duration bonus" 200
            }
            CharacterAttributes
            {
                "bot medic uber health threshold" 5000
				"move speed bonus"	0.5
				"damage force reduction" 0.6
				"airblast vulnerability multiplier" 0.6
            }
        }
	}
	
	StartingCurrency						800
	RespawnWaveTime							7
	CanBotsAttackWhileInSpawnRoom			no
	AddSentryBusterWhenDamageDealtExceeds	1500
	AddSentryBusterWhenKillCountExceeds		6
	Advanced								1
	//MISSIONS
	
	//SENTRY BUSTAH
	Mission
	{
		Objective DestroySentries
		Where spawnbot
		CooldownTime 17.5
		TFBot
		{
			Template T_TFBot_SentryBuster
		}
	}
	
	//WAVES
	
	//Wave 1 Advanced - $700
	// Stage a - $300
	Wave
	{
		WaitWhenDone	65
		Checkpoint		Yes
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		WaveSpawn
		{
			Name				a1a
			TotalCurrency		55
			TotalCount			13
			MaxActive			8
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Class Pyro
					Skill Expert
					Attributes AlwaysCrit
					CharacterAttributes
					{
						"move speed bonus" 1.2
						"airblast disabled" 1
					}
				}
			}
		}
		WaveSpawn
		{
			Name				a1b
			TotalCurrency		200
			TotalCount			18
			MaxActive			8
			SpawnCount			6
			WaitBeforeStarting	1
			WaitBetweenSpawns	15
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Class Soldier
					Skill Expert
				}
			}
		}
		WaveSpawn
		{
			Name				a1c
			TotalCurrency		35
			TotalCount			6
			MaxActive			6
			SpawnCount			2
			WaitBeforeStarting	1
			WaitBetweenSpawns	15
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Concheror
					Skill Hard
				}
			}
		}
		// Stage b
		WaveSpawn
		{
			Name				b1a
			TotalCurrency		30
			TotalCount			4
			MaxActive			6
			SpawnCount			2
			WaitBeforeStarting	60
			WaitBetweenSpawns	15
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
					Skill Expert
					Attributes AlwaysCrit
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Heavy"
					ItemAttributes               
					{
						ItemName "MvM GateBot Light Heavy"
						"attach particle effect" 11		//using circling TF logo as mark of "gatebot"
					}
					CharacterAttributes
					{
						"attach particle effect" 11		//using use circling TF logo as mark of "gatebot"
					}
				}
			}
		}
		WaveSpawn
		{
			Name				b1b
			TotalCurrency		190
			TotalCount			25
			MaxActive			10
			SpawnCount			1
			WaitBeforeStarting	60
			WaitBetweenSpawns	20
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Demo_RapidFire
					Skill Expert
				}
				TFBot
				{
					Template T_TFBot_Giant_Demo_RapidFire
					Skill Expert
				}
				TFBot
				{
					Class HeavyWeapons
					Skill Hard
				}
				TFBot
				{
					Class HeavyWeapons
					Skill Hard
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Concheror
					Skill Hard
				}
			}
		}
		
		WaveSpawn
		{
			Name				b1c
			TotalCurrency		80
			TotalCount			19
			MaxActive			6
			SpawnCount			1
			WaitBeforeStarting	60
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Demoman_Knight
					Attributes AlwaysCrit
					Skill Expert
				}
			}
		}
		// Stage c - $350
		WaveSpawn
		{
			Name				c1a
			WaitForAllDead		b1b
			TotalCurrency		150
			TotalCount			20
			MaxActive			10
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	20
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Medic_Plague_Doctor_Expert
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
				}
				TFBot
				{
					Template T_TFBot_Pyro_Rain_Factory
					Skill Hard
				}
			}
		}
		WaveSpawn
		{
			Name				c1b
			WaitForAllDead		b1b
			TotalCurrency		30
			TotalCount			6
			MaxActive			6
			SpawnCount			2
			WaitBeforeStarting	1
			WaitBetweenSpawns	15
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
					Skill Expert
					Attributes AlwaysCrit
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Heavy"
					ItemAttributes               
					{
						ItemName "MvM GateBot Light Heavy"
						"attach particle effect" 11		//using circling TF logo as mark of "gatebot"
					}
					CharacterAttributes
					{
						"attach particle effect" 11		//using use circling TF logo as mark of "gatebot"
					}
				}
			}
		}
		WaveSpawn
		{
			Name				c1c
			WaitForAllDead		b1b
			TotalCurrency		80
			TotalCount			24
			MaxActive			6
			SpawnCount			3
			WaitBeforeStarting	1
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Pyro_Rain_Factory
					Skill Hard
				}
			}
		}
	}
	
	
	
	
	//Wave 2 Advanced - $800
	//support
	Mission
	{
		Objective Spy								

		Where					spawnbot

		BeginAtWave				2					
		RunForThisManyWaves		1
		InitialCooldown			30
		
		CooldownTime			20
		DesiredCount			4

		TFBot
		{
			Template	T_TFBot_Spy
		}
	}
	
	// stage a
	Wave
	{
		WaitWhenDone	65
		Checkpoint		Yes
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name				a2a
			TotalCurrency		120
			TotalCount			30
			MaxActive			12
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	6
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Pyroshark_Factory
				}
				TFBot
				{
					Template T_TFBot_Pyroshark_Factory
				}
				TFBot
				{
					Template T_TFBot_Pyro_Gas_Factory
				}
			}
		}
		WaveSpawn
		{
			Name				a2b
			TotalCurrency		30
			TotalCount			12
			MaxActive			4
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Class Scout
					Skill Expert
				}
			}
		}
		WaveSpawn
		{
			Name				a2c
			TotalCurrency		200
			TotalCount			6
			MaxActive			2
			SpawnCount			1
			WaitBeforeStarting	0
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Scout_Fast
				}
			}
		}
		
		//stage b
		
		WaveSpawn
		{
			Name				b2a
			WaitForAllDead		a2c
			TotalCurrency		150
			TotalCount			6
			MaxActive			5
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Spammer
				}
			}
		}
		WaveSpawn
		{
			Name				b2b
			WaitForAllDead		a2c
			TotalCurrency		100
			TotalCount			12
			MaxActive			7
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Heavyweapons_Shotgun
					Skill Expert
				}
			}
		}
		WaveSpawn
		{
			Name				b2c
			WaitForAllDead		a2c
			TotalCurrency		50
			TotalCount			12
			MaxActive			6
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Template T_TFGateBot_Soldier_Superman
				}
				TFBot
				{
					Class Pyro
					Skill Expert
					ClassIcon pyro_reflect_daan
					Name "Reflect Pyro"
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Pryo"
				}
			}
		}
		
		// stage c
		WaveSpawn
		{
			Name				c2a
			WaitForAllDead		b2a
			TotalCurrency		100
			TotalCount			10
			MaxActive			6
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Template T_TFGateBot_Soldier_Superman
				}
				TFBot
				{
					Class Pyro
					Skill Expert
					ClassIcon pyro_reflect_daan
					Name "Reflect Pyro"
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Pryo"
				}
			}
		}
		WaveSpawn
		{
			Name				c2b
			WaitForAllDead		b2a
			TotalCurrency		300
			TotalCount			20
			MaxActive			8
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	3
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Scout_Fast
				}
			}
		}
		WaveSpawn
		{
			Name				c2c
			WaitForAllDead		b2a
			TotalCurrency		50
			TotalCount			12
			MaxActive			4
			SpawnCount			2
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Demo_Burst
					Attributes AlwaysCrit
				}
			}
		}
	}
	
	//Wave 3 Advanced - $800
	
	Mission
	{
		Objective Sniper							// The mission objective. Available missions: 
													//    "Sniper" (add harassing snipers)
													//    "Spy" (add harassing spies)
													//    "DestroySentries" (send in bots who focus on killing overly successful sentry guns)
													//    "Engineer" (add harassing engineers who will build sentry nests on bot_hint_sentrygun entities)

		Where					spawnbot			// Where the mission bots will spawn

		BeginAtWave				3					// The wave number (1 to N) at which this mission becomes active
		RunForThisManyWaves		1					// How many waves this mission is active. This example would have snipers active for waves 4, 5, and 6
		
		InitialCooldown 25
		CooldownTime			20					// The minimum time between spawning mission sorties
		DesiredCount			2					// How many copies of the spawner should be sent in

		TFBot
		{
			Template	T_TFBot_Sniper_Sydney_Sleeper
		}
	}
	
	Wave
	{
		WaitWhenDone	65
		Checkpoint		Yes
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		WaveSpawn
		{
			Name				a3a
			TotalCurrency		130
			TotalCount			1
			WaitBeforeStarting	30
			Tank
			{
				Health 60000
				Speed 75								//Note: map logic is dependant on a speed of 75!
				Name "Sherman"
				Skin 0									// 0 - normal skin, 1 - final wave skin
				StartingPathTrackNode "boss_path_1"		

				OnKilledOutput							// output sent when the Tank is killed
				{
					Target tank_died_relay
					Action Trigger                         
				}

				OnBombDroppedOutput						// output sent when the Tank drops its bomb once it reaches the end of its path
				{
					Target bomb_dropped_relay
					Action Trigger                         
				}
			}
		}
		
		WaveSpawn
		{
			Name				a3b
			TotalCurrency		150
			TotalCount			9
			MaxActive			6
			SpawnCount			1
			WaitBeforeStarting	0
			WaitBetweenSpawns	20
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons_Deflector
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		
		WaveSpawn
		{
			Name				a3c
			TotalCurrency		60
			TotalCount			10
			MaxActive			6
			SpawnCount			2
			WaitBeforeStarting	1
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Scout_Shortstop
				}
			}
		}
		
		WaveSpawn
		{
			Name				a3d
			TotalCurrency		60
			TotalCount			18
			MaxActive			8
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	3
			Where				spawnbot
			Squad
			{
				TFBot
				{
					ClassIcon sniper_bow_multi
					Template T_TFBot_Sniper_Huntsman_Spammer
				}
			}
		}
		
		// stage b
		WaveSpawn
		{
			Name				b3a
			TotalCurrency		50
			TotalCount			20
			MaxActive			6
			SpawnCount			2
			WaitBeforeStarting	60
			WaitBetweenSpawns	5
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Class Scout
					Skill Expert
					Name "Bonk Scout"
					Item "Bonk! Atomic Punch"
					Item "Bonk Helm"
					ClassIcon scout_bonk
					Attributes AlwaysCrit
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Scout"
				}
			}
		}
		WaveSpawn
		{
			Name				b3b
			TotalCurrency		50
			TotalCount			16
			MaxActive			8
			SpawnCount			4
			WaitBeforeStarting	60
			WaitBetweenSpawns	15
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Class Soldier
					Skill Expert
					Name "Bison Soldier"
					Item "The Righteous Bison"
					ClassIcon soldier_bison
					WeaponRestrictions SecondaryOnly
					Attributes AlwaysCrit
				}
			}
		}
		
		// stage c
		WaveSpawn
		{
			Name				c3a
			WaitForAllDead		b3b
			TotalCurrency		200
			TotalCount			21
			MaxActive			9
			SpawnCount			1
			WaitBeforeStarting	8
			WaitBetweenSpawns	6
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Heavy_Grapple_Factory
				}
				TFBot
				{
					Template T_TFBot_Heavy_Grapple_Factory
				}
				TFBot
				{
					Class Demoman
					ClassIcon demoknight_giant
					Name "Giant Demoknight"
					Skill Expert
					Health 3300
					Item "Prince Tavish's Crown"
					Item "The Chargin' Targe"
					Item "The Eyelander"
					Item "Ali Baba's Wee Booties"
					WeaponRestrictions MeleeOnly
					Attributes MiniBoss
					ItemAttributes
					{
						ItemName "The Eyelander"
						"critboost on kill" 3
					}
					CharacterAttributes
					{
						"move speed bonus" 1
						"damage force reduction" 0.5
						"airblast vulnerability multiplier" 0.5
						"override footstep sound set" 4
					}
				}
			}
		}
		WaveSpawn
		{
			Name				c3b
			WaitForAllDead		b3b
			TotalCurrency		150
			TotalCount			33
			MaxActive			9
			SpawnCount			1
			WaitBeforeStarting	8
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Buff_Banner
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Concheror
				}
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Battalion
				}
			}
		}
		
		WaveSpawn
		{
			Name				c3c
			WaitForAllSpawned	c3a
			TotalCurrency		300
			TotalCount			2
			MaxActive			2
			SpawnCount			1
			WaitBeforeStarting	25
			WaitBetweenSpawns	1
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons_Deflector
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Regen
				}
			}
		}
	}
	
	
	//Wave 4 Advanced - $800
	//Support
	Mission
	{
		Objective Sniper							// The mission objective. Available missions: 
													//    "Sniper" (add harassing snipers)
													//    "Spy" (add harassing spies)
													//    "DestroySentries" (send in bots who focus on killing overly successful sentry guns)
													//    "Engineer" (add harassing engineers who will build sentry nests on bot_hint_sentrygun entities)

		Where					spawnbot			// Where the mission bots will spawn

		BeginAtWave				4					// The wave number (1 to N) at which this mission becomes active
		RunForThisManyWaves		1					// How many waves this mission is active. This example would have snipers active for waves 4, 5, and 6
		
		InitialCooldown 10
		CooldownTime			10					// The minimum time between spawning mission sorties
		DesiredCount			2					// How many copies of the spawner should be sent in

		TFBot
		{
			Template	T_TFBot_Sniper_Sydney_Sleeper
		}
	}
	Mission
	{
		Objective Spy								

		Where					spawnbot

		BeginAtWave				4					
		RunForThisManyWaves		1
		InitialCooldown			15
		
		CooldownTime			10
		DesiredCount			2

		TFBot
		{
			Template	T_TFBot_Spy
		}
	}
	
	Wave
	{
		WaitWhenDone	65
		Checkpoint		Yes
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		// Stage a
		
		WaveSpawn
		{
			Name				a4a
			TotalCurrency		125
			TotalCount			14
			MaxActive			8
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	3
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Airstrike_Factory
				}
			}
		}
		WaveSpawn
		{
			Name				a4b
			TotalCurrency		125
			TotalCount			9
			MaxActive			8
			SpawnCount			2
			WaitBeforeStarting	0
			WaitBetweenSpawns	12
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Heavyweapons_Shotgun
				}
			}
		}
		
		// Wave b
		
		WaveSpawn
		{
			Name				b4a
			WaitForAllSpawned	a4b
			TotalCurrency		60
			TotalCount			8
			MaxActive			4
			SpawnCount			2
			WaitBeforeStarting	20
			WaitBetweenSpawns	15
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Demoman_Samurai
					Attributes AlwaysCrit
				}
			}
		}
		
		WaveSpawn
		{
			Name				b4b
			WaitForAllSpawned	a4b
			TotalCurrency		100
			TotalCount			8
			MaxActive			8
			SpawnCount			1
			WaitBeforeStarting	20
			WaitBetweenSpawns	2
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_RocketShotgun
				}
			}
		}
		
		WaveSpawn
		{
			Name				b4c
			WaitForAllSpawned	a4b
			TotalCurrency		30
			TotalCount			6
			MaxActive			2
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Pyro_Rain_Factory
					Attributes AlwaysCrit
				}
			}
		}
		WaveSpawn
		{
			Name				b4d
			WaitForAllSpawned	a4b
			TotalCurrency		60
			TotalCount			10
			MaxActive			4
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Template T_TFGateBot_Soldier_Superman
					Attributes AlwaysCrit
				}
				TFBot
				{
					Class Pyro
					Skill Expert
					ClassIcon pyro_reflect_daan
					Name "Reflect Pyro"
					Attributes AlwaysCrit
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Pryo"
				}
			}
		}
		
		// Stage c
		WaveSpawn
		{
			Name				c4a
			WaitForAllDead		b4b
			TotalCurrency		120
			TotalCount			6
			MaxActive			2
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Class Pyro
					Skill Expert
					Name "Giant Dragon's Fury Pyro"
					ClassIcon pyro_dragon_fury_swordstone
					Attributes AlwaysCrit
					Attributes MiniBoss
					Item "The Dragon's Fury"
					Health 3500
					CharacterAttributes
					{
						"move speed bonus"	0.75
						"damage force reduction" 0.3
						"airblast vulnerability multiplier" 0.3
						"override footstep sound set" 6
					}
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Kritz
				}
			}
		}
		
		WaveSpawn
		{
			Name				c4b
			WaitForAllDead		b4b
			TotalCurrency		120
			TotalCount			12
			MaxActive			7
			SpawnCount			1
			WaitBeforeStarting	0
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Accurate_SMG_Sniper_Factory
				}
			}
		}
		
		WaveSpawn
		{
			Name				c4c
			WaitForAllDead		b4b
			TotalCurrency		60
			TotalCount			12
			MaxActive			5
			SpawnCount			1
			WaitBeforeStarting	0
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_RocketPush
				}
			}
		}
		
	}
	
	// WAVE 5
	Wave
	{
		WaitWhenDone	65
		Checkpoint		Yes
		StartWaveOutput
		{
			Target	wave_start2Tank_relay	//cap point opens at 30 instead of 60, tanks have specific paths to take
			Action	Trigger
		}
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}

		// Stage a
		WaveSpawn
		{
			Name				a5a
			TotalCurrency		500
			TotalCount			4
			WaitBeforeStarting	0
			WaitBetweenSpawns	40
			Tank
			{
				Health 55000
				Speed 75								//Note: map logic is dependant on a speed of 75!
				Name "Sherman"
				Skin 0									// 0 - normal skin, 1 - final wave skin
				StartingPathTrackNode "boss_path_1"		

				OnKilledOutput							// output sent when the Tank is killed
				{
					Target tank_died_relay
					Action Trigger                         
				}

				OnBombDroppedOutput						// output sent when the Tank drops its bomb once it reaches the end of its path
				{
					Target bomb_dropped_relay
					Action Trigger                         
				}
			}
		}
		
		WaveSpawn
		{
			Name "a5b"
			Where spawnbot
			TotalCount 66
			TotalCurrency		200
			MaxActive 13
			SpawnCount 8
			WaitBeforeStarting 15
			WaitBetweenSpawns 5
			TotalCurrency 200	
			FirstSpawnWarningSound "Execute66.wav"
		
			TFBot
			{
				Class Spy
				Skill Expert
			}
		}
		
		WaveSpawn
		{
			Name "a5c"
			Where spawngatebot
			TotalCurrency 100
			TotalCount 10
			MaxActive 4
			SpawnCount 1
			WaitBeforeStarting 25
			WaitBetweenSpawns 5
			TotalCurrency 200
			Support 1
		
			TFBot
			{
				Template T_TFBot_Scout_Shortstop
				Attributes AlwaysCrit
				BehaviorModifiers push			// having these will cause bots to run towards gates
				Attributes IgnoreFlag		// having these will cause bots to run towards gates
				Tag bot_gatebot 	// having these will cause bots to run towards gates
				Item "MvM GateBot Light Scout"
				Skill Expert
			}
		}
		
		WaveSpawn
		{
			Name				a5d
			TotalCurrency		50
			TotalCount			10
			MaxActive			2
			SpawnCount			2
			WaitBeforeStarting	25
			WaitBetweenSpawns	10
			Where				spawngatebot
			Support 1
			Squad
			{
				TFBot
				{
					Class Scout
					Skill Expert
					Name "Bonk Scout"
					Item "Bonk! Atomic Punch"
					Item "Bonk Helm"
					ClassIcon scout_bonk
					Attributes AlwaysCrit
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Scout"
				}
			}
		}
		
		WaveSpawn
		{
			Name				a5e
			TotalCount			10
			TotalCurrency 		50
			MaxActive			1
			SpawnCount			1
			WaitBeforeStarting	10
			WaitBetweenSpawns	20
			Where				spawngatebot
			Support 1
			RandomChoice
			{
				TFBot
				{
					Class Scout
					Skill Expert
					Name "Bonk Scout"
					Item "Bonk! Atomic Punch"
					Item "Bonk Helm"
					ClassIcon scout_bonk
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Scout_Shortstop
					Attributes AlwaysCrit
					Skill Expert
				}
			}
		}
		
		WaveSpawn
		{
			Name				a5f
			TotalCurrency		50
			TotalCount			8
			MaxActive			2
			SpawnCount			1
			WaitBeforeStarting	25
			WaitBetweenSpawns	5
			Where				spawngatebot
			Support 1
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Battalion
					Skill Expert
					Attributes AlwaysCrit
					BehaviorModifiers push			// having these will cause bots to run towards gates
					Attributes IgnoreFlag		// having these will cause bots to run towards gates
					Tag bot_gatebot 	// having these will cause bots to run towards gates
					Item "MvM GateBot Light Soldier"
				}
			}
		}
	}
	
	//WAVE 6
	
	//support
	//Support
	Mission
	{
		Objective Sniper							// The mission objective. Available missions: 
													//    "Sniper" (add harassing snipers)
													//    "Spy" (add harassing spies)
													//    "DestroySentries" (send in bots who focus on killing overly successful sentry guns)
													//    "Engineer" (add harassing engineers who will build sentry nests on bot_hint_sentrygun entities)

		Where					spawnbot			// Where the mission bots will spawn

		BeginAtWave				6					// The wave number (1 to N) at which this mission becomes active
		RunForThisManyWaves		1					// How many waves this mission is active. This example would have snipers active for waves 4, 5, and 6
		
		InitialCooldown 10
		CooldownTime			10					// The minimum time between spawning mission sorties
		DesiredCount			2					// How many copies of the spawner should be sent in

		TFBot
		{
			Template	T_TFBot_Sniper_Sydney_Sleeper
		}
	}
	
	Wave
	{
		WaitWhenDone	65
		Checkpoint		Yes
		StartWaveOutput
		{
			Target	wave_start2Tank_relay
			Action	Trigger
		}
		DoneOutput
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		
		// Stage a
		WaveSpawn
		{
			Name				a6a
			TotalCurrency		70
			TotalCount			1
			WaitBeforeStarting	0
			Tank
			{
				Health 63000
				Speed 75								//Note: map logic is dependant on a speed of 75!
				Name "Sherman"
				Skin 1									// 0 - normal skin, 1 - final wave skin
				StartingPathTrackNode "boss_path_1L"		

				OnKilledOutput							// output sent when the Tank is killed
				{
					Target tank_died_relay
					Action Trigger                         
				}

				OnBombDroppedOutput						// output sent when the Tank drops its bomb once it reaches the end of its path
				{
					Target bomb_dropped_relay
					Action Trigger                         
				}
			}
		}
		WaveSpawn
		{
			Name				a6a2
			TotalCurrency		70
			TotalCount			1
			WaitBeforeStarting	0
			Tank
			{
				Health 63000
				Speed 75								//Note: map logic is dependant on a speed of 75!
				Name "Sherman"
				Skin 1									// 0 - normal skin, 1 - final wave skin
				StartingPathTrackNode "boss_path_1r"		

				OnKilledOutput							// output sent when the Tank is killed
				{
					Target tank_died_relay
					Action Trigger                         
				}

				OnBombDroppedOutput						// output sent when the Tank drops its bomb once it reaches the end of its path
				{
					Target bomb_dropped_relay
					Action Trigger                         
				}
			}
		}
		
		WaveSpawn
		{
			Name				a6b
			TotalCurrency		30
			TotalCount			9
			MaxActive			6
			SpawnCount			3
			WaitBeforeStarting	1
			WaitBetweenSpawns	15
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Airstrike_Factory
					Attributes AlwaysCrit
				}
			}
		}
		
		WaveSpawn
		{
			Name				a6c
			TotalCurrency		60
			TotalCount			20
			MaxActive			8
			SpawnCount			2
			WaitBeforeStarting	1
			WaitBetweenSpawns	6
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Class Pyro
					Skill Expert
					Name "Dragon's Fury Pyro"
					Item "The Dragon's Fury"
					ClassIcon pyro_dragon_fury_swordstone
					Attributes AlwaysCrit
					ItemAttributes
					{
						ItemName "The Dragon's Fury"
						"airblast disabled" 1
					}
				}
			}
		}
		
		WaveSpawn
		{
			Name				a6d
			TotalCurrency		20
			TotalCount			6
			MaxActive			2
			SpawnCount			1
			WaitBeforeStarting	1
			WaitBetweenSpawns	10
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Soldier_Extended_Concheror
					Skill Hard
					Attributes AlwaysCrit
				}
			}
		}
		
		WaveSpawn
		{
			Name				a6e
			TotalCurrency		50
			TotalCount			12
			MaxActive			4
			SpawnCount			1
			WaitBeforeStarting	0
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Scout_Fast
					Attributes AlwaysCrit
				}
			}
		}
		
		//Stage b
		
		WaveSpawn
		{
			Name				b6a
			TotalCurrency		80
			TotalCount			12
			MaxActive			6
			SpawnCount			2
			WaitBeforeStarting	65
			WaitBetweenSpawns	8
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Accurate_SMG_Sniper_Factory
					Attributes AlwaysCrit
				}
			}
		}
		
		WaveSpawn
		{
			Name				b6b
			TotalCurrency		40
			TotalCount			6
			MaxActive			6
			SpawnCount			1
			WaitBeforeStarting	65
			WaitBetweenSpawns	5
			Where				spawngatebot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Pyroshark_Gatebot_Factory
					Attributes AlwaysCrit
				}
			}
		}
		
		WaveSpawn
		{
			Name				b6c
			TotalCurrency		80
			TotalCount			20
			MaxActive			8
			SpawnCount			1
			WaitBeforeStarting	65
			WaitBetweenSpawns	3
			Where				spawnbot
			RandomChoice
			{
				TFBot
				{
					Template T_TFBot_Demo_Burst
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Pyro_Rain_Factory
					Attributes AlwaysCrit
				}
			}
		}
		
		//Stage C
		
		WaveSpawn
		{
			Name				c6a
			TotalCurrency		300
			TotalCount			6
			MaxActive			6
			SpawnCount			1
			WaitBeforeStarting	140
			WaitBetweenSpawns	16
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Spammer_Reload
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Regen
				}
			}
		}
		
		WaveSpawn
		{
			Name				c6b
			TotalCurrency		100
			TotalCount			24
			MaxActive			10
			SpawnCount			1
			WaitBeforeStarting	140
			WaitBetweenSpawns	5
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Heavy_Grapple_Factory
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Medic
				}
			}
		}
		
		WaveSpawn
		{
			Name				c6c
			TotalCurrency		50
			TotalCount			12
			MaxActive			6
			SpawnCount			1
			WaitBetweenSpawns	5
			WaitBeforeStarting	140
			Where				spawnbot
			Squad
			{
				TFBot
				{
					Template T_TFBot_Pyro_Gas_Factory
					Attributes AlwaysCrit
					Attributes Miniboss
					Health 2500
					Name "Giant Gas Passer Pyro"
					CharacterAttributes
					{
						"move speed bonus" 0.8
						"damage force reduction" 0.6
						"airblast vulnerability multiplier" 0.6
						"override footstep sound set" 6
					}
				}
			}
		}
		
		//Wave D
		WaveSpawn
		{
			Name				d6a
			TotalCurrency		100
			TotalCount			6
			MaxActive			6
			SpawnCount			1
			WaitBetweenSpawns	5
			WaitBeforeStarting	10
			WaitForAllDead 		c6a
			Where				spawnbot
			FirstSpawnWarningSound "PlagueDoctorVoiceline.wav"
			Squad
			{
				TFBot
				{
					Template T_TFBot_Medic_Plague_Doctor_Boss
					BehaviorModifiers push
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
					Attributes AlwaysCrit
				}
				TFBot
				{
					Template T_TFBot_Pyro_Raven
					Attributes AlwaysCrit
				}
			}
		}
		
		//Wave E
		WaveSpawn
		{
			Name "e6a"
			Where spawnbot
			TotalCount 10
			MaxActive 5
			SpawnCount 1
			WaitBeforeStarting 16
			WaitBetweenSpawns 1
			TotalCurrency 200
			WaitForAllDead 		c6a
			Support Limited
		
			TFBot
			{
				Class Spy
				Skill Expert
			}
		}
		
		//Wave F
		WaveSpawn
		{
			Name "f6a"
			Where spawnbot
			TotalCount 6
			MaxActive 6
			SpawnCount 3
			WaitBeforeStarting 15
			WaitBetweenSpawns 5
			TotalCurrency 0	
			WaitForAllDead 		c6a
		
			TFBot
			{
				Template T_TFBot_Soldier_Airstrike_Factory
				Attributes AlwaysCrit
			}
		}
		
		WaveSpawn
		{
			Name "f6b"
			Where spawnbot
			TotalCount 15
			TotalCurrency 250
			MaxActive 8
			SpawnCount 2
			WaitBeforeStarting 15
			WaitBetweenSpawns 14
			TotalCurrency 0	
			Support 1
			WaitForAllDead 		c6a
		
			TFBot
			{
				Template T_TFBot_Scout_Shortstop
				Attributes AlwaysCrit
			}
		}
	}
}