// mvm_mannworks
// normal skill

#base reforge5_extramodded_sheet.pop
#base robot_giantmania_2024.pop

WaveSchedule
{
	StartingCurrency 4000
	RespawnWaveTime 5
	CanBotsAttackWhileInSpawnRoom No

// MISSION: Sentry Buster
	Mission
	{
		Objective DestroySentries
		Where spawnbot
		CooldownTime 30
		
		TFBot
		{
			Template YoovyBot_GM_SentryBuster
		}
	}

// MISSION: Sniper 02
	Mission
	{
		Objective Sniper
		
		Where spawnbot
		
		BeginAtWave 2
		RunForThisManyWaves 1
		CooldownTime 60
		InitialCooldown 15
		DesiredCount 3
		
		TFBot
		{
			Template YoovyBot_GM_Sniper
		}
	}
	
// MISSION: Sniper 03-04
	Mission
	{
		Objective Sniper
		
		Where spawnbot
		
		BeginAtWave 2
		RunForThisManyWaves 2
		CooldownTime 60
		InitialCooldown 15
		DesiredCount 2
		
		TFBot
		{
			Template YoovyBot_GM_Sniper
		}
	}
	
// MISSION: Sniper 06-07
	Mission
	{
		Objective Sniper
		
		Where spawnbot
		
		BeginAtWave 6
		RunForThisManyWaves 2
		CooldownTime 60
		InitialCooldown 15
		DesiredCount 2
		
		TFBot
		{
			Template YoovyBot_GM_Sniper
		}
	}
	
// MISSION: Spy 05-07
	Mission
	{
		Objective Spy
		
		Where spawnbot_mission_spy
		
		BeginAtWave	5
		RunForThisManyWaves 3
		CooldownTime 60
		InitialCooldown 30
		DesiredCount 2
		
		TFBot
		{
			Template YoovyBot_GM_Spy
		}
	}
	
// WAVE 01 400
// Introduction
	Wave
	{
        Explanation
		{
            LIne ""
			Line "This mission uses {yellow}Reforged Upgrades!"
			Line "Check this Google Doc to see every change as the list is quite extensive!"
            Line "{blue}https://docs.google.com/document/d/1hEGEqOogcQPtEKtycZC6Xrom_G3N06ntdXNAme-3PQg/edit?usp=sharing"
            Line ""
		}
		WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		//Checkpoint Yes

		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn // Soldier Right
		{
			TotalCurrency 1000
			
			Name "waveSoldierRight"
			
			Where spawnbot_right
			TotalCount 12
			SpawnCount 6
			MaxActive 10
			WaitBetweenSpawns 45
			WaitBeforeStarting 0
			
			TFBot
			{
				Template YoovyBot_GM_Soldier
			}
		}
		
		WaveSpawn // Soldier Left
		{
			TotalCurrency 1000
			
			Name "waveSoldierLeft"
			
			Where spawnbot_left
			TotalCount 12
			SpawnCount 6
			MaxActive 10
			WaitBetweenSpawns 45
			WaitBeforeStarting 30
			
			TFBot
			{
				Template YoovyBot_GM_Soldier
			}
		}
		
		WaveSpawn // Scout
		{
			TotalCurrency 1000
			
			Name "waveScout1"
			WaitForAllSpawned "waveSoldierLeft"
			
			Where spawnbot
			TotalCount 24
			SpawnCount 8
			MaxActive 12
			WaitBetweenSpawns 15
			WaitBeforeStarting 15
			
			TFBot
			{
				Template YoovyBot_GM_Scout_Melee
			}
		}
		
		WaveSpawn // Soldier
		{
			TotalCurrency 1000
			
			WaitForAllSpawned "waveScout1"
			
			Where spawnbot
			TotalCount 24
			SpawnCount 6
			MaxActive 16
			WaitBetweenSpawns 30
			WaitBeforeStarting 0
			
			TFBot
			{
				Template YoovyBot_GM_Soldier
			}
		}
		
		WaveSpawn // Scout
		{
			TotalCurrency 1000
			
			WaitForAllSpawned "waveScout1"
			
			Where spawnbot
			TotalCount 16
			SpawnCount 4
			MaxActive 8
			WaitBetweenSpawns 15
			WaitBeforeStarting 30
			
			TFBot
			{
				Template YoovyBot_GM_Scout_Melee
			}
		}
	}

// WAVE 02 400
// Tank
	Wave
	{
		WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn
		{
			FirstSpawnMessage "{blue}An Armored Tank has arrived with {reset}40,000 {blue}HP!"
			TotalCurrency 600
			TotalCount 1
			
			Name "Tank1"
			
			Tank
			{
                SpawnTemplate	"ColorTank_DarkBlue"
                Scale 1.2
				Health 40000
				Speed 75
				Name "tankboss_left"
				StartingPathTrackNode "boss_path_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Where spawnbot
			TotalCount 16
			SpawnCount 4
			MaxActive 16
			WaitBetweenSpawns 15
			WaitBeforeStarting 30
			
			TFBot
			{
				Template YoovyBot_GM_Pyro
			}
		}
	}

// WAVE 03 500
// Demoman
	Wave
	{
		WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		Checkpoint Yes

		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn // Demoman
		{
			TotalCurrency 200
			
			Name "wave3_rush"
			
			Where spawnbot_left
			TotalCount 22
			SpawnCount 11
			MaxActive 22
			WaitBetweenSpawns 30
			WaitBeforeStarting 0
			
			TFBot
			{
                Template YoovyBot_GM_Demoman
			}
		}
		
		WaveSpawn // Demoman
		{
			TotalCurrency 200
			
			WaitForAllSpawned "wave3_rush"
			
			Where spawnbot_right
			TotalCount 16
			SpawnCount 2
			MaxActive 8
			WaitBetweenSpawns 15
			WaitBeforeStarting 30
			
			TFBot
			{
				Template YoovyBot_GM_Demoman
			}
		}
		
		WaveSpawn // Demoman
		{
			TotalCurrency 200
			
			WaitForAllSpawned "wave3_rush"
			
			Where spawnbot_left
			TotalCount 24
			SpawnCount 2
			MaxActive 8
			WaitBetweenSpawns 15
			WaitBeforeStarting 30
			
			TFBot
			{
				Template YoovyBot_GM_Demoman
			}
		}
		
		WaveSpawn // Heavyweapons Bullet Sponge
		{
			TotalCurrency 400
			
			WaitForAllSpawned "wave3_rush"
			
			Where spawnbot
			TotalCount 12
			SpawnCount 2
			MaxActive 6
			WaitBetweenSpawns 20
			WaitBeforeStarting 60
			
			TFBot
			{
				Template YoovyBot_GM_Heavy_Steelfist_Gauntlet
			}
		}
	}

// WAVE 04 500
// Giant Soldier
	Wave
	{
		WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn // Giant Soldier
		{
			TotalCurrency 100
			
			Where spawnbot_left
			TotalCount 3
			SpawnCount 1
			MaxActive 3
			WaitBetweenSpawns 60
			WaitBeforeStarting 0
			
			TFBot
			{
				Template YoovyBot_GM_Titan_Soldier
			}
		}
		
		WaveSpawn // Giant Soldier
		{
			TotalCurrency 300
			
			Where spawnbot_right
			TotalCount 3
			SpawnCount 1
			MaxActive 3
			WaitBetweenSpawns 60
			WaitBeforeStarting 0
			
			TFBot
			{
				Template YoovyBot_GM_Titan_Soldier
			}
		}
		
		WaveSpawn // Pyro
		{
			TotalCurrency 100
			
			Where spawnbot
			TotalCount 27
			SpawnCount 3
			MaxActive 12
			WaitBetweenSpawns 20
			WaitBeforeStarting 5
			
			TFBot
			{
				Template YoovyBot_GM_Pyro_Airblast
			}
		}
	}

// WAVE 05 500
// Baseball Scout
	Wave
	{
		WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Where spawnbot
			TotalCount 3
			SpawnCount 1
			MaxActive 3
			WaitBetweenSpawns 30
			WaitBeforeStarting 15
			
			TFBot
			{
				Template YoovyBot_GM_Titan_Scout_Sandman
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Where spawnbot
			TotalCount 18
			SpawnCount 8
			MaxActive 16
			WaitBetweenSpawns 20
			WaitBeforeStarting 0
			
			TFBot
			{
				Template YoovyBot_GM_Heavy_Steelfist_Gauntlet
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 100
			
			Where spawnbot
			TotalCount 32
			SpawnCount 6
			MaxActive 12
			WaitBetweenSpawns 30
			WaitBeforeStarting 60
			
			TFBot
			{
				Template YoovyBot_GM_Soldier
			}
		}
	}

// WAVE 06 600
// Giant CritSoldier
	Wave
	{
		WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn // MiniBoss CritSoldier
		{
			TotalCurrency 400
			
			Where spawnbot
			TotalCount 6
			SpawnCount 2
			MaxActive 4
			WaitBetweenSpawns 45
			
			Squad // Soldier + Medic
			{
				TFBot
				{
					Template YoovyBot_GM_Titan_Soldier_Charged
				}
				
				TFBot
				{
					Template YoovyBot_GM_Medic_Uber
				}
			}
		}
		
		WaveSpawn
		{
			TotalCurrency 200
			
			Where spawnbot
			TotalCount 24
			SpawnCount 2
			MaxActive 6
			WaitBetweenSpawns 6
			WaitBeforeStarting 10
			
			TFBot
			{
				Template YoovyBot_GM_Pyro
			}
		}
	}

// WAVE 07 600
// Finale
	Wave
	{
		//WaitWhenDone 60
		Sound "Announcer.IncomingMob"
		Checkpoint Yes
		
		StartWaveOutput
		{
			Target bombpath_arrows_clear_relay
			Action Trigger
		}
		
		DoneOutput
		{
			Target bombpath_wavefinished
			Action Trigger
		}
		
		WaveSpawn
		{
			FirstSpawnMessage "{blue}An Armored Tank has arrived with {reset}45,000 {blue}HP!"
			TotalCurrency 300
			TotalCount 1

			Tank
			{
                SpawnTemplate	"ColorTank_DarkBlue"
                Scale 1.2
				Health 45000
				Speed 75
				Name "tankboss_left"
				StartingPathTrackNode "boss_path_1"
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		
		WaveSpawn
		{
			FirstSpawnMessage "{blue}An Armored Tank has arrived with {reset}45,000 {blue}HP!"
			TotalCurrency 300
			TotalCount 1
			WaitBeforeStarting 30

			Tank
			{
                SpawnTemplate	"ColorTank_DarkBlue"
                Scale 1.2
				Health 45000
				Speed 75
				Name "tankboss_right"
				StartingPathTrackNode "boss_path2_1"
                Skin 1
				
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
	
		WaveSpawn
		{
			TotalCurrency 0
			
			Where spawnbot
			TotalCount 27
			SpawnCount 3
			MaxActive 12
			WaitBetweenSpawns 20
			WaitBeforeStarting 10
			
			Support 1
			
			TFBot
			{
				Template YoovyBot_GM_Pyro_Airblast
			}
		}
	}
}