//
// Starting Currency: 550
//
// +----------+----------+----------+
// | Wave     | Currency | A+       |
// +----------+----------+----------+
// | Wave 1   | 350      | 450      |
// | Wave 2   | 450      | 550      |
// | Wave 3   | 400      | 500      |
// | Wave 4   | 600      | 700      |
// | Wave 5   | 650      | 750      |
// | Wave 6   | 1150     | 1250     |
// +----------+----------+----------+
// | Total    | 3600     | 4200     |
// +----------+----------+----------+
//

#base robot_standard.pop
#base robot_giant.pop

WaveSchedule
{
    StartingCurrency 550
    RespawnWaveTime 3
    CanBotsAttackWhileInSpawnRoom No

	Templates
	{
		T_TFBot_Heavyweapons_Happy
		{
			Class Heavyweapons
			Name "Happy Heavy"
			ClassIcon heavy_mittens
			Skill Expert
			Health 150
			Scale 0.85
			Item "The Holiday Punch"
			Item "The Tungsten Toque"
			WeaponRestrictions MeleeOnly
			Attributes AlwaysCrit
			ItemAttributes
			{
				ItemName "The Holiday Punch"
				"fire rate bonus" 0.6

			}
			CharacterAttributes
			{
				"move speed bonus"	1.2
			}
		}
		T_TFBot_Heavyweapons_Happier
		{
			Class Heavyweapons
			Name "Happier Heavy"
			ClassIcon heavy_mittens_giant
			Skill Expert
			Health 500
			Scale 1.2
			Item "The Holiday Punch"
			Item "The Tungsten Toque"
			WeaponRestrictions MeleeOnly
			Attributes MiniBoss
			Attributes AlwaysCrit

			ItemAttributes
			{
				ItemName "The Holiday Punch"
				"fire rate bonus" 0.6

			}
			CharacterAttributes
			{
				"move speed bonus"	1.2
				"damage force reduction" 0.3
				"airblast vulnerability multiplier" 0.3
				"override footstep sound set" 2
			}
		}
		T_TFBot_Giant_Heavyweapons_Happy
		{
			Class Heavyweapons
			Name "Happiest Heavy"
			ClassIcon heavy_chief
			Skill Expert
			Health 15000
			Item "The Holiday Punch"
			Item "War Head"
			WeaponRestrictions MeleeOnly
			Attributes MiniBoss
			Attributes AlwaysCrit
			Attributes UseBossHealthBar
			ItemAttributes
			{
				ItemName "The Holiday Punch"
				"fire rate bonus" 0.4

			}
			CharacterAttributes
			{
				"move speed bonus"	0.4
				"damage force reduction" 0.3
				"airblast vulnerability multiplier" 0.4
				"airblast vertical vulnerability multiplier" 0.1
				"rage giving scale"	0.9
				"override footstep sound set" 2
			}
		}
	}

	Mission
    {
        Objective DestroySentries
        InitialCooldown 40
        Where spawnbot
        BeginAtWave 1
        RunForThisManyWaves 6
        CooldownTime 35
		DesiredCount 1
        TFBot
        {
            Template T_TFBot_SentryBuster
        }
    }
	Mission
    {
        Objective Sniper
        InitialCooldown 70
        Where spawnbot_mission_sniper
        BeginAtWave 2
        RunForThisManyWaves 1
        CooldownTime 35
		DesiredCount 3
        TFBot
        {
            Class Sniper
			Skill Hard
        }
    }
	Mission
    {
        Objective Spy
        InitialCooldown 20
        Where spawnbot_mission_spy
        BeginAtWave 3
        RunForThisManyWaves 1
        CooldownTime 30
		DesiredCount 4
        TFBot
        {
            Class Spy
			Skill Expert
        }
    }
	Mission
    {
        Objective Spy
        InitialCooldown 50
        Where spawnbot_mission_spy
        BeginAtWave 5
        RunForThisManyWaves 1
        CooldownTime 35
		DesiredCount 2
        TFBot
        {
            Class Spy
			Skill Expert
        }
    }
	Mission
    {
        Objective Sniper
        InitialCooldown 20
        Where spawnbot_mission_sniper
        BeginAtWave 6
        RunForThisManyWaves 1
        CooldownTime 30
		DesiredCount 3
        TFBot
        {
            Class Sniper
			Skill Hard
        }
    }
	Mission
    {
        Objective Spy
        InitialCooldown 40
        Where spawnbot_mission_spy
        BeginAtWave 6
        RunForThisManyWaves 1
        CooldownTime 30
		DesiredCount 4
        TFBot
        {
            Class Spy
			Skill Expert
        }
    }

    Wave
    {
	    StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
	    DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
        WaveSpawn
	    {
            Name 1A
			Where spawnbot
			TotalCount 12
			MaxActive 8
			SpawnCount 6
			WaitBetweenSpawns 7
			WaitBeforeStarting 0
			TotalCurrency 60
		    TFBot
		    {
		    	Class Scout
                Skill Normal
		    }
	    }
        WaveSpawn
	    {
            Name 1B-1
            WaitForAllDead 1A
			Where spawnbot_right
			TotalCount 21
			MaxActive 7
			SpawnCount 7
			WaitBetweenSpawns 12
			WaitBeforeStarting 3
			TotalCurrency 105
		    TFBot
		    {
		    	Template T_TFBot_Scout_Melee
                ClassIcon scout_bat_nys
		    }
	    }
        WaveSpawn
	    {
            Name 1B-2
            WaitForAllDead 1A
			Where spawnbot_left
			TotalCount 8
			MaxActive 4
			SpawnCount 2
			WaitBetweenSpawns 10
			WaitBeforeStarting 5
			TotalCurrency 72
		    TFBot
		    {
		    	Class Soldier
				Skill Easy
		    }
	    }
        WaveSpawn
	    {
            Name 1C
            WaitForAllDead 1B-2
			Where spawnbot
			TotalCount 12
			MaxActive 8
			SpawnCount 4
			WaitBetweenSpawns 5
			WaitBeforeStarting 5
			TotalCurrency 113
			Squad
			{
				TFBot
				{
					Class Demoman
					Skill Normal
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
			}
	    }
    }
	Wave
    {
	    StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
	    DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
        WaveSpawn
	    {
            Name 2A
			Where spawnbot
			TotalCount 10
			MaxActive 7
			SpawnCount 5
			WaitBetweenSpawns 7
			WaitBeforeStarting 0
			TotalCurrency 60
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Pyro_Flaregun
				}
				TFBot
				{
					Template T_TFBot_Pyro_Flaregun
				}
				TFBot
				{
					Template T_TFBot_Pyro_Flaregun
				}
			}
				
	    }
        WaveSpawn
	    {
            Name 2B
            WaitForAllDead 2A
			Where spawnbot
			TotalCount 20
			MaxActive 11
			SpawnCount 5
			WaitBetweenSpawns 6
			WaitBeforeStarting 3
			TotalCurrency 140
		    TFBot
		    {
		    	Template T_TFBot_Demoman_Knight
		    }
	    }
        WaveSpawn
	    {
            Name 2C
            WaitForAllDead 2B
			Where spawnbot
			TotalCount 9
			MaxActive 5
			SpawnCount 3
			WaitBetweenSpawns 15
			WaitBeforeStarting 5
			TotalCurrency 150
			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
				TFBot
				{
					Template T_TFBot_Medic_QuickFix
				}
			}
	    }
        WaveSpawn
	    {
            Name 2CS
            WaitForAllSpawned 2B
			Where spawnbot_vent
			TotalCount 30
			MaxActive 6
			SpawnCount 3
			WaitBetweenSpawns 20
			WaitBeforeStarting 5
			Support 1
			TotalCurrency 100
			Squad
			{
				TFBot
				{
					Template T_TFBot_Scout_Melee
					ClassIcon scout_bat_nys
				}
			}
	    }
    }
	Wave
	{
	    StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
	    DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		WaveSpawn
		{
			Name 3A
			TotalCount 1
			WaitBeforeStarting 0
			TotalCurrency 150
        	FirstSpawnOutput
			{
            	Target boss_spawn_relay
            	Action Trigger
        	}
			Tank
			{
				Health 15000
				Speed 25
				Name "tank"
				StartingPathTrackNode "boss_path_left_1"
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name 3B-1
			WaitForAllDead 3A
			TotalCount 1
			WaitBeforeStarting 2
			TotalCurrency 150
        	FirstSpawnOutput
			{
            	Target boss_spawn_relay
            	Action Trigger
        	}
			Tank
			{
				Health 15000
				Speed 25
				Name "tank"
				StartingPathTrackNode "boss_path_right_1"
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
        WaveSpawn
	    {
            Name 3B-2
            WaitForAllDead 3A
			Where spawnbot_left
			TotalCount 3
			MaxActive 1
			SpawnCount 1
			WaitBetweenSpawns 12
			WaitBeforeStarting 8
			TotalCurrency 100
		    TFBot
		    {
		    	Template T_TFBot_Giant_Scout_Fast
		    }
	    }
    }
	Wave
	{
	    StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
	    DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		WaveSpawn
		{
			Name 4A-1
			Where spawnbot_right
			TotalCount 20
			MaxActive 10
			SpawnCount 4
			WaitBetweenSpawns 8
			WaitBeforeStarting 0
			TotalCurrency 140
			TFBot
			{
				Class Pyro
				Skill Normal
				CharacterAttributes
				{
					"airblast disabled" 1
				}
			}
		}
        WaveSpawn
	    {
            Name 4A-2
			Where spawnbot_left
			TotalCount 2
			MaxActive 2
			SpawnCount 1
			WaitBetweenSpawns 15
			WaitBeforeStarting 2
			TotalCurrency 66
		    TFBot
		    {
		    	Template T_TFBot_Giant_DemoMan_PrinceTavish
		    }
	    }
		WaveSpawn
		{
			Name 4A-Dummy
			WaitForAllDead 4A-1
		}
		WaveSpawn
		{
			Name 4A-Dummy
			WaitForAllDead 4A-2
		}
		WaveSpawn
		{
			Name 4B-1
			WaitForAllSpawned 4A-Dummy
			Where spawnbot_left
			TotalCount 24
			MaxActive 8
			SpawnCount 3
			WaitBetweenSpawns 7
			WaitBeforeStarting 5
			TotalCurrency 288
			TFBot
			{
				Template T_TFBot_Heavyweapons_Shotgun
			}
		}
        WaveSpawn
	    {
            Name 4B-2
			WaitForAllSpawned 4A-Dummy
			Where spawnbot_right
			TotalCount 3
			MaxActive 1
			SpawnCount 1
			WaitBetweenSpawns 18
			WaitBeforeStarting 5
			TotalCurrency 106
		    TFBot
		    {
		    	Template T_TFBot_Giant_Pyro
		    }
	    }
	}
	Wave
	{
	    StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
	    DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		WaveSpawn
		{
			Name 5A
			Where spawnbot_left
			TotalCount 30
			MaxActive 5
			SpawnCount 2
			WaitBetweenSpawns 4
			WaitBeforeStarting 0
			TotalCurrency 210
			TFBot
			{
				Template T_TFBot_Demo_Burst
			}
		}
		WaveSpawn
		{
			Name 5B
			WaitForAllSpawned 5A
			TotalCount 2
			SpawnCount 1
			WaitBetweenSpawns 40
			WaitBeforeStarting 3
			TotalCurrency 200
        	FirstSpawnOutput
			{
            	Target boss_spawn_relay
            	Action Trigger
        	}
			Tank
			{
				Health 15000
				Speed 25
				Name "tank"
				StartingPathTrackNode "boss_path_right_1"
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name 5AS
			Where spawnbot_vent
			TotalCount 42
			MaxActive 5
			SpawnCount 3
			WaitBetweenSpawns 0
			WaitBeforeStarting 10
			Support Limited
			TotalCurrency 110
			TFBot
			{
				Template T_TFBot_Sniper_Huntsman
			}
		}
		WaveSpawn
		{
			Name 5BS
			WaitForAllDead 5AS
			Where spawnbot_left
			TotalCount 45
			MaxActive 5
			SpawnCount 3
			WaitBetweenSpawns 0
			WaitBeforeStarting 40
			Support 1
			TotalCurrency 130
			TFBot
			{
				Template T_TFBot_Sniper_Huntsman
			}
		}
	}
	Wave
	{
	    StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
	    DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		WaveSpawn
		{
			Name 6A
			Where spawnbot
			TotalCount 10
			MaxActive 5
			SpawnCount 1
			WaitBetweenSpawns 2
			WaitBeforeStarting 0
			TotalCurrency 200
			TFBot
			{
				Template T_TFBot_Heavyweapons_Happier
			}
		}
		WaveSpawn
		{
			Name 6B
			WaitForAllDead 6A
			Where spawnbot_vent
			TotalCount 40
			MaxActive 10
			SpawnCount 2
			WaitBetweenSpawns 2
			WaitBeforeStarting 0
			TotalCurrency 240
			TFBot
			{
				Template T_TFBot_Heavyweapons_Happy
			}
		}
		WaveSpawn
		{
			Name 6C
			WaitForAllSpawned 6B
			Where spawnbot
			TotalCount 1
			WaitBeforeStarting 5
			TotalCurrency 600
			TFBot
			{
				Template T_TFBot_Giant_Heavyweapons_Happy
			}
		}
		WaveSpawn
		{
			Name 6CS
			WaitForAllSpawned 6B
			Where spawnbot
			TotalCount 20
			MaxActive 5
			SpawnCount 2
			WaitBetweenSpawns 0
			WaitBeforeStarting 7
			Support 1
			TotalCurrency 110
			TFBot
			{
				Class Pyro
				Skill Hard
				CharacterAttributes
				{
					"airblast disabled" 1
				}
			}
		}
	}
}