//rancher b12 by asd417
//Hard Drive Harvest INT mission by skin king

#base robot_giant.pop
#base robot_standard.pop

WaveSchedule
{
	StartingCurrency	2000 //wow 2k!!!
	RespawnWaveTime	5
	CanBotsAttackWhileInSpawnRoom	no
	
	Mission
	{
		Objective	DestroySentries
		BeginAtWave	1
		RunForThisManyWaves	7
		CooldownTime	30
		DesiredCount	1
		Where	spawnbot_left
		
		TFBot
		{
			Template	T_TFBot_SentryBuster
		}
	}

	Mission
	{
		BeginAtWave	3
		RunForThisManyWaves	1
		Objective	Sniper
		Where	spawnbot_center
		InitialCooldown	30
		CooldownTime	30
		DesiredCount	2
		TFBot
		{
			Template	T_TFBot_Sniper
		}
	}
	
	Mission
	{
		Objective	Spy
		BeginAtWave	5
		RunForThisManyWaves	1
		CooldownTime	30
		InitialCooldown 30
		DesiredCount	2
		Where	spawnbot_center
		
		TFBot
		{
			Class	Spy
		}
	}
	
	Wave //500 credits 600 bonus
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		InitWaveOutput
		{
				Target wave_init_relay
				Action Trigger
		}

		WaveSpawn
		{
			Name	wave1a
			TotalCurrency 100
			TotalCount	30
			MaxActive 	10
			SpawnCount	10
			WaitBeforeStarting	1
			WaitBetweenSpawns 	0
			Where	spawnbot_left
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_Crit
					
				}
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}				
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}					
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}				
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}					
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}				
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}					
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}				
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}				
				TFBot
				{
					Template T_TFBot_Medic_BigHeal
					Name	"Big-Heal Medic"
					Item	"The Surgeon's Stahlhelm"
					Tag	bot_squad_member
				}				

			}	
		}

		WaveSpawn
		{
			Name	wave1a
			TotalCurrency 100
			TotalCount	36
			MaxActive 	9
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns 	1
			Where	spawnbot_right
			TFBot
			{
				Template	T_TFBot_Heavyweapons_Shotgun
				Skill	Easy
			}
		}		
		
		WaveSpawn
		{
			Name	wave1b
			WaitForAllDead wave1a
			TotalCurrency 100
			TotalCount	18
			MaxActive 	9
			SpawnCount	3
			WaitBeforeStarting	0
			WaitBetweenSpawns 	3
			Where	spawnbot_center
			TFBot
			{
				Template	T_TFBot_Scout_Scattergun_SlowFire
				Attributes AlwaysCrit
				Name "Scout"
			}
		}		
		
		WaveSpawn
		{
			Name	wave1b
			WaitForAllDead wave1a
			TotalCurrency 100
			TotalCount	8
			MaxActive 	4
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns 	5
			Where	spawnbot_left
			Where	spawnbot_right
			TFBot
			{
				Template	T_TFBot_Heavyweapons_Fist
				
			}
		}		
		
		WaveSpawn
		{
			Name	wave1c
			WaitForAllSpawned wave1b
			TotalCurrency 50
			TotalCount	1
			MaxActive 	1
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns 	5
			Where	spawnbot_center
			TFBot
			{
				Template		T_TFBot_Giant_Heavyweapons
				
			}
		}		
	
		WaveSpawn
		{
			Name	wave1c
			WaitForAllSpawned wave1b
			TotalCurrency 50
			TotalCount	50
			MaxActive 	10
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns 	2
			Where	spawnbot_main
			Support 1
			TFBot
			{
				Template		T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
				
			}
		}
	}

	Wave //700 credits 800 bonus
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		InitWaveOutput
		{
				Target wave_init_relay
				Action Trigger
		}
		
		//	DoneOutput
		//{
		//	Target	wave_finished_relay
		//		Action	Trigger
		//}

		WaveSpawn
		{
			Name	wave2a
			TotalCurrency 100
			TotalCount	40
			MaxActive 	11
			SpawnCount	1
			WaitBeforeStarting	1
			WaitBetweenSpawns 	1
			Where	spawnbot_right
			RandomChoice
			{
				TFBot
				{
					Class	Pyro
					Skill	Normal
					Attributes	AlwaysFireWeapon
				}				
				
				TFBot
				{
					Template	T_TFBot_Pyro_Flaregun
				}
			}	
		}		
		
		WaveSpawn
		{
			Name	wave2a-g
			TotalCurrency 100
			TotalCount	3
			MaxActive 	3
			SpawnCount	1
			WaitBeforeStarting	2.5
			WaitBetweenSpawns 	15
			Where	spawnbot_right

			TFBot
			{
				Template	T_TFBot_Giant_Pyro
				ClassIcon	pyro_dragon_fury_swordstone
				Name	"Giant Fury Pyro"
				Item	"The Dragon's Fury" 
				Item	"The Rusty Reaper"
				Skill	Expert
			}
		}
		
		WaveSpawn
		{
			Name	wave2a-1
			TotalCurrency	200
			TotalCount	1
			MaxActive	1
			SpawnCount	1
			WaitBeforeStarting	7
			WaitBetweenSpawns	30
			
			Tank
			{
				Health	20000
				Name	tankboss
				Speed	75
				StartingPathTrackNode	"path_tank_right"
				
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
		}
		
		WaveSpawn
		{
			Name	wave2b-1
			WaitForAllSpawned wave2a
			TotalCurrency 50
			TotalCount	24
			MaxActive 	12
			SpawnCount	6
			WaitBeforeStarting	10
			WaitBetweenSpawns 	5
			Where	spawnbot_left
			//Where	spawnbot_right
			TFBot
			{
				Class	Heavy 
				Skill	Easy
				
			}
		}		
				WaveSpawn
		{
			Name	wave2b-1
			WaitForAllDead wave2a
			TotalCurrency 100
			TotalCount	4
			MaxActive 	4
			SpawnCount	1
			WaitBeforeStarting	10
			WaitBetweenSpawns 	7.5
			// Where	spawnbot_left
			// Where	spawnbot_right
			Where	spawnbot_center
			TFBot
			{
				Template		T_TFBot_Giant_Scout_FAN
				
			}
		}
		
		WaveSpawn
		{
			Name	wave2b-s
			WaitForAllDead	wave2b-1
			TotalCurrency 50
			TotalCount	50
			MaxActive 	12
			SpawnCount	6
			WaitBeforeStarting	10
			WaitBetweenSpawns 	5
			Where	spawnbot_main
			//Where	spawnbot_right
			Support	1
			RandomChoice
			{
				TFBot
				{
					Template	T_TFBot_Scout_Melee
					ClassIcon	scout_bat_nys
					Name	"Bat Scout"
				}

				TFBot
				{
					Class	Scout
					Skill	Easy
					Name	"Scout"
				}
			}	
		}		
		
		WaveSpawn
		{
			Name	wave2b
			WaitForAllDead wave2b-1
			TotalCurrency 100
			TotalCount	4
			MaxActive 	4
			SpawnCount	1
			WaitBeforeStarting	10
			WaitBetweenSpawns 	12.5
			// Where	spawnbot_left
			// Where	spawnbot_right
			Where	spawnbot_center
			TFBot
			{
				Template		T_TFBot_Giant_Soldier_Spammer_Reload
				
			}
		}		
		
	
	}	
	Wave //1000 credits 1100 bonus
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		InitWaveOutput
		{
				Target wave_init_relay
				Action Trigger
		}
		WaveSpawn
		{
			Name	wave3a
			TotalCurrency 100
			TotalCount	4
			MaxActive 	4
			SpawnCount	2
			WaitBeforeStarting	2.5
			WaitBetweenSpawns 	18
			Where	spawnbot_right

			TFBot
			{
				Class Demoman
				ClassIcon demoknight_giant
				Name "Giant Demoknight"
				Skill Expert
				Health 3300
				Item "Prince Tavish's Crown"
				Item "The Tide Turner"
				Item "The Eyelander"
				Item "Ali Baba's Wee Booties"
				WeaponRestrictions MeleeOnly
				Attributes MiniBoss
				ItemAttributes
				{
					ItemName "The Eyelander"
					"critboost on kill" 3
					"Attack not cancel charge" 1
				}
				CharacterAttributes
				{
					"move speed bonus" 0.5
					"damage force reduction" 0.5
					"airblast vulnerability multiplier" 0.5
					"override footstep sound set" 4
				}
			}
		}			
		WaveSpawn
		{
			Name	wave3a
			TotalCurrency 100
			TotalCount	12
			MaxActive 	6
			SpawnCount	3
			WaitBeforeStarting	0
			WaitBetweenSpawns 	5
			Where	spawnbot_center

			TFBot
			{
				Template	T_TFBot_Soldier_Extended_Buff_Banner
			}
		}			
		WaveSpawn
		{
			Name	wave3b
			WaitForAllDead	wave3a
			TotalCurrency 100
			TotalCount	4
			MaxActive 	4
			SpawnCount	2
			WaitBeforeStarting	5
			WaitBetweenSpawns 	20
			Where	spawnbot_center
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_Spammer
					//Attributes	AlwaysCrit
				}			
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Scale	1.25
					Health	300
					ClassIcon	medic_uber_armored
					Name	"Armored Quick-Uber Medic"
					Tag	bot_squad_member
					
					ItemAttributes
					{
						ItemName "TF_WEAPON_MEDIGUN"
						"ubercharge rate bonus" 0.25
						"uber duration bonus" -3
					}
					
					CharacterAttributes
					{
						"bot medic uber health threshold" 150
					}
				}
			}	
		}		
		WaveSpawn
		{
			Name	wave3b
			WaitForAllDead	wave3a
			TotalCurrency 100
			TotalCount	32
			MaxActive 	16
			SpawnCount	4
			WaitBeforeStarting	5
			WaitBetweenSpawns 	5
			Where	spawnbot_center
			TFBot
			{
				Template	T_TFBot_Demo_Burst
			}
		}			
		WaveSpawn
		{
			Name	wave3b-1
			WaitForAllDead	wave3a
			TotalCurrency	200
			TotalCount	1
			MaxActive	1
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	30
			
			Tank
			{
				Health	20000
				Name	tankboss
				Speed	75
				StartingPathTrackNode	"path_tank_left"
				
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
		}
			
		WaveSpawn
		{
			Name	wave3c
			WaitForAllSpawned	wave3b
			TotalCurrency 200
			TotalCount	3
			MaxActive 	3
			SpawnCount	1
			WaitBeforeStarting	10
			WaitBetweenSpawns 	30
			Where	spawnbot_main
			TFBot
			{
				Template	T_TFBot_Giant_Heavyweapons
			}
		}		
		WaveSpawn
		{
			Name	wave3c
			WaitForAllSpawned	wave3b
			TotalCurrency 200
			TotalCount	100
			MaxActive 	12
			SpawnCount	2
			WaitBeforeStarting	10
			WaitBetweenSpawns 	3.5
			Where	spawnbot_main
			Support	1
			RandomChoice
			{	
			//	TFBot
				//{
				//	Class Heavy
				//	Skill	Easy
			//	}				
				TFBot
				{
					Class Pyro
					Skill	Normal
					ClassIcon	pyro_reflect_daan

					ItemAttributes
					{
						ItemName "TF_WEAPON_FLAMETHROWER"
						"airblast_destroy_projectile" 1
					}
				}				
				TFBot
				{
					Class Soldier
					Skill	Normal
				}
			}	
		}
	}
	
	Wave //1000 credits 1100 bonus
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		InitWaveOutput
		{
				Target wave_init_relay
				Action Trigger
		}	

		WaveSpawn
		{
			Name	wave4a
			TotalCurrency 100
			TotalCount	2
			MaxActive 	2
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns 	18
			Where	spawnbot_left
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Heavyweapons_Deflector
					//Attributes AlwaysCrit
				}				
				
				TFBot
				{
					Template	T_TFBot_Giant_Medic_Regen
					Tag	bot_squad_member
				}
			}	
		}
		
		WaveSpawn
		{
			Name	wave4a
			TotalCurrency 100
			TotalCount	40
			MaxActive 	17
			SpawnCount	1
			WaitBeforeStarting	10
			WaitBetweenSpawns 	1
			Where	spawnbot_right

			TFBot
			{
				Template	T_TFBot_Scout_Sandman_FastCharge
				Attributes	AlwaysCrit
			}
		}		
		
		WaveSpawn
		{
			Name	wave4b
			WaitForAllSpawned	wave4a
			TotalCurrency 100
			TotalCount	18
			MaxActive 	9
			SpawnCount	3
			WaitBeforeStarting	10
			WaitBetweenSpawns 	1
			Where	spawnbot_right

			TFBot
			{
				Class	Scout
				Skill	Normal
				Name	"Scout"
			}
		}				
		
		WaveSpawn
		{
			Name	wave4b
			WaitForAllSpawned	wave4a
			TotalCurrency 100
			TotalCount	18
			MaxActive 	9
			SpawnCount	4
			WaitBeforeStarting	10
			WaitBetweenSpawns 	1
			Where	spawnbot_right

			TFBot
			{
				Class	Soldier
				Skill	Normal
				//Attributes	AlwaysCrit
			}
		}		
		
		WaveSpawn
		{
			Name	wave4b
			WaitForAllSpawned	wave4a
			TotalCurrency 100
			TotalCount	4
			MaxActive 	1
			SpawnCount	1
			WaitBeforeStarting	7
			WaitBetweenSpawns 	1
			Where	spawnbot_center

			TFBot
			{
				Template		T_TFBot_Giant_Scout_Fast
			}
		}		
		
		WaveSpawn
		{
			Name	wave4c-1
			WaitForAllDead	wave4b
			TotalCurrency 200
			TotalCount	7
			MaxActive 	7
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns 	10
			Where	spawnbot_right

			TFBot
			{
				Template		T_TFBot_Giant_Soldier
				Attributes	AlwaysCrit
			}
		}		
		
		WaveSpawn
		{
			Name	wave4c-2
			WaitForAllSpawned	wave4c-1
			TotalCurrency 200
			TotalCount	1
			MaxActive 	1
			SpawnCount	1
			WaitBeforeStarting	15
			WaitBetweenSpawns 	0
			Where	spawnbot_left

			TFBot
			{
				Template		T_TFBot_Giant_Soldier_RocketShotgun
			}
		}	

		WaveSpawn
		{
			Name	wave4c
			WaitForAllSpawned	wave4b
			TotalCurrency 100
			TotalCount	100
			MaxActive 	12
			SpawnCount	1
			WaitBeforeStarting	15
			WaitBetweenSpawns 	1
			Where	spawnbot_main
			Support	1

			TFBot
			{
				Class	Heavy
				Skill	Easy	
				
			}
		}
	}	
	
	Wave //1000 credits 1100 bonus
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		
		InitWaveOutput
		{
				Target wave_init_relay
				Action Trigger
		}	
	
	//		InitWaveOutput
     //   {
     //       Target wave_start_relay
      //      Action RunScriptCode 
      //      Param "
      //      EntFire(`func_button`, `lock`)
      //      EntFire(`bombpath_choose_relay`, `disable`, ``, 0)
     //       EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 0.3)
       //     EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 0.4)
      //      EntFire(`bombpath_left_relay`, `Trigger`, ``, 0.5)
      //      EntFire(`bombpath_arrows*`, `color`, `100 100 100`, 0.5)
      //      "
     //   }

		WaveSpawn
		{
			Name	wave5a-1
			TotalCurrency 100
			TotalCount	6
			MaxActive 	6
			SpawnCount	2
			WaitBeforeStarting	2
			WaitBetweenSpawns 	24
			Where	spawnbot_right
			//FirstSpawnWarningSound "vo/mvm/norm/engineer_mvm_specialcompleted04.mp3"
			
			Squad
			{
				TFBot
				{
						Template	T_TFBot_Giant_Soldier_Spammer_Reload
				}
				TFBot
				{
						Template	T_TFBot_Giant_Pyro
						Attributes	AlwaysFireWeapon
					//	Attributes	AlwaysCrit
						Tag bot_squad_member
				}
			}					
		}	
		

		WaveSpawn
		{
			Name	wave5a
			TotalCurrency 100
			TotalCount	40
			MaxActive 	12
			SpawnCount	4
			WaitBeforeStarting	0
			WaitBetweenSpawns   4
			Where	spawnbot_left
			
			TFBot
			{
				Class	Soldier
				Skill	Normal
			}
					
		}
		
		WaveSpawn
		{
			Name	wave5b-1
			WaitForAllSpawned	wave5a-1
			TotalCurrency 300
			TotalCount	6
			MaxActive 	6
			SpawnCount	3
			WaitBeforeStarting	17.5
			WaitBetweenSpawns 	25
			Where	spawnbot_left
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Heavyweapons
				}
				
				TFBot
				{
					Template	T_TFBot_Medic_SlowRecharge
					Tag	bot_squad_member
				}
				
				TFBot
				{
					Template	T_TFBot_Medic_SlowRecharge
					Tag	bot_squad_member
				}
			}			
		}

		WaveSpawn
		{
			Name	wave5b
			WaitForAllSpawned	wave5a
			TotalCurrency 100
			TotalCount	45
			MaxActive 	10
			SpawnCount	5
			WaitBeforeStarting	10
			WaitBetweenSpawns  	5
			Where	spawnbot_left
			
			TFBot
			{
				Template	T_TFBot_Sniper_Huntsman
			}
					
		}
			
		
		WaveSpawn
		{
			Name	wave5b
			WaitForAllSpawned	wave5a
			TotalCurrency 100
			TotalCount	12
			MaxActive 	3
			SpawnCount	3
			WaitBeforeStarting	15
			WaitBetweenSpawns   0
			Where	spawnbot_right
			
			TFBot
			{
				Class	Soldier
				Skill	Normal
				Item "The Direct Hit"
				ClassIcon	soldier_directhit_lite
			}
					
		}
		WaveSpawn
		{
			Name	wave5c
			WaitForAllSpawned	wave5b
			TotalCurrency 200
			TotalCount	1
			MaxActive 	1
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns 	0

            FirstSpawnOutput
            {
                Target relay_tankboss_harvester
                Action Trigger
            }
            Tank
            {
                Name "tankboss_harvester"
                StartingPathTrackNode "tank_start_harvester"
                Health 35000
                Speed 75
                Skin 1
        
                OnKilledOutput 
                {
                    Target relay_harvester_destroy
                    Action Trigger
                }
                OnBombDroppedOutput
                {
                    Target boss_deploy_relay
                    Action Trigger
                }
            }
        }

		WaveSpawn
		{
			Name	wave5c
			WaitForAllDead	wave5b
			TotalCurrency 200
			TotalCount	200
			MaxActive 	15
			SpawnCount	1
			WaitBeforeStarting	3.5
			WaitBetweenSpawns 	1
			Where	spawnbot_right
			Where	spawnbot_left
			Support	1
			RandomChoice
			{
				TFBot
				{
					Class	Scout
					Skill	Hard
				}				
				
				TFBot
				{
					Class	Demoman
					Skill	Hard
				}				
				
				TFBot
				{
					Class	Soldier
					Skill	Hard
				}
			}	
		}	
	}	
}		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
