#base robot_giant.pop
#base robot_standard.pop

// WAVE 1 Current Money: 20000$

WaveSchedule
{

	StartingCurrency 20000
	RespawnWaveTime 0
	CanBotsAttackWhileInSpawnRoom no
	
	RobotLimit 200
	
	Mission // sentry buster
	{
		Objective DestroySentries

		InitialCooldown 5
		Where spawnbot
		BeginAtWave 1
		RunForThisManyWaves 9

		CooldownTime 30

        TFBot
		{
			Template T_TFBot_SentryBuster
        }
	}
	
	Mission
	{
		Objective Spy

		InitialCooldown 0
		Where spawnbot
		BeginAtWave 1
		RunForThisManyWaves 1
		CooldownTime 30
		DesiredCount 5
		
		TFBot
		{
			Class Spy
			Skill Hard
			CharacterAttributes
			{
				"cancel falling damage" 1
			}
		}
	}
	
	Mission
	{
		Objective Sniper

		InitialCooldown 0
		Where spawnbot
		BeginAtWave 1
		RunForThisManyWaves 1
		CooldownTime 30
		DesiredCount 5
		
		TFBot
		{
			Class Sniper
			Skill Hard
			CharacterAttributes
			{
				"cancel falling damage" 1
			}
		}
	}
	
	Templates
	{
		T_TFBot_Giant_Soldier_Spammer_GayPornVersion
		{
			Class Soldier
			Name "Super Gay Porn Rapid Soldier"
			ClassIcon soldier_spammer_hyper_lite
			Health 3800
			Skill Expert
			WeaponRestrictions PrimaryOnly
			Attributes MiniBoss
			Attributes AlwaysCrit
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"faster reload rate" -0.8
				"fire rate bonus" 0.1
				"damage bonus" 2
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
			}
		}
		
		T_TFBot_Giant_Soldier_Bison_Burst
		{
			Class Soldier
			ClassIcon soldier_bison_b
			Name "Giant Burst Bison Soldier"
			Health 3800
			Skill Expert
			WeaponRestrictions PrimaryOnly
			Attributes HoldFireUntilFullReload
			Attributes MiniBoss
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"clip size upgrade atomic" 26
				"fire rate bonus" 0.001
				"faster reload rate" 0.05
				"energy weapon penetration" 1
				"override projectile type" 13
				"projectile spread angle penalty" 5
				"projectile speed decreased" 1.2
				"dmg bonus vs buildings" 5
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
				"cancel falling damage" 1
			}
		}
		
		T_TFBot_Giant_Uber_Medic_GuaranteePop
		{
			Class Medic
			Name "Giant Uber Medic"
			ClassIcon medic_uber_giant
			Skill Expert
			Health 4500
			Attributes MiniBoss
			Attributes IgnoreEnemies
			Attributes SpawnWithFullCharge
			Item "Medi Gun"
			WeaponRestrictions SecondaryOnly
			Tag bot_giant
			ItemAttributes
			{
				ItemName "tf_weapon_medigun"
				"bot medic uber health threshold" 2250
				"heal rate bonus" 999
				"ubercharge rate bonus" 0.001 // Disable Second Pop
			}
			ItemAttributes
			{
				ItemName "TF_WEAPON_SYRINGEGUN_MEDIC"
				"damage penalty" 0.1
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.6
				"airblast vulnerability multiplier" 0.6
				"cancel falling damage" 1
			}
		}
		
		T_TFBot_Giant_Soldier_Extended_Battalion_Bugfixed
		{
			Template T_TFBot_Giant_Soldier_Extended_Battalion
			ItemAttributes
			{
				ItemName "The Battalion's Backup"
				"single wep holster time increased" 0.35
				"single wep deploy time increased" 0.35
			}
			CharacterAttributes
			{
				"increase buff duration" 99
				"cancel falling damage" 1
				"blast dmg to self increased" 0
			}
		}
		
		T_TFBot_Giant_Soldier_Extended_Battalion_BurstFire_Spammer
		{
			Template T_TFBot_Giant_Soldier_Extended_Battalion_Bugfixed
			Name "Giant Rapid Burst Batt Soldier"
			ClassIcon soldier_backup_burstfire_spammer_yoovy_giant
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"projectile spread angle penalty" 0
				"Projectile speed increased" 0.65
				"faster reload rate" 0.12
				"fire rate bonus" 0.02
			}
		}
		
		T_TFBot_Giant_Demo_Spammer_GayPornVersion
		{
			Class Demoman
			Name "Super Gay Porn Rapid Demo"
			ClassIcon demo_spammer_hyper_lite
			Health 3300
			Skill Expert
			WeaponRestrictions PrimaryOnly
			Attributes MiniBoss
			Attributes HoldFireUntilFullReload
			ItemAttributes
			{
				ItemName "TF_WEAPON_GRENADELAUNCHER"
				"faster reload rate" -0.8
				"fire rate bonus" 0.1
				"clip size upgrade atomic" 7.0
				"projectile spread angle penalty" 5
				"damage bonus"	2
			}

			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 4
				"cancel falling damage" 1
				"blast dmg to self increased" 0
			}
		}
		
		T_TFBot_Giant_Pyro_Airblast_Batt
		{
			Class Pyro
			Name "Giant Airblast Pyro"
			ClassIcon pyro_reflect_daan_giant
			Skill Expert
			Health 3000
			WeaponRestrictions PrimaryOnly
			Attributes MiniBoss
			Tag bot_giant
			Item "TF_WEAPON_FLAMETHROWER"
			ItemAttributes
			{
				ItemName "TF_WEAPON_FLAMETHROWER"
				"mult airblast refire time" 0.01
			}
			Item "Traffic Cone"
			CharacterAttributes
			{
				//"damage bonus" 0.1
				"move speed bonus"	0.5
				"damage force reduction" 0.6
				"airblast vulnerability multiplier" 0.6
				"override footstep sound set" 6
				"cancel falling damage" 1
			}
		}
	}

	
	//WAVE 1 (1000$)
	Wave
    {
		WaitWhenDone	65
		Checkpoint	Yes
        StartWaveOutput
        {
            Target wave_start_relay
            Action Trigger
        }
        DoneOutput
        {
            Target wave_finished_relay
            Action Trigger
        }
		InitWaveOutput
		{
			Target wave_start_relay
			Action RunScriptCode
			Param
			"
				EntFire(`bombpath_choose_relay`, `Kill`)
				EntFire(`bombpath_clearall_relay`, `Trigger`)
				EntFire(`bombpath_right_arrows`, `TurnOff`)
				EntFire(`bombpath_left_arrows`, `TurnOn`)
				EntFire(`bombpath_left`, `Trigger`)
			"
		}
		
		WaveSpawn
		{
			Name 1a

			Where spawnbot
			TotalCount 20
			MaxActive 20
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 1000
			
			TFBot
			{
				Template T_TFBot_Giant_Heavyweapons_Deflector
				Attributes AlwaysCrit
				AddCond
				{
					Index 26
					Duration -1
				}
			}
		}
		
		WaveSpawn
		{
			Name 1a

			Where spawnbot
			TotalCount 20
			MaxActive 20
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 1000
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Extended_Battalion_BurstFire_Spammer
				Attributes AlwaysCrit
			}
		}
		
		WaveSpawn
		{
			Name 1a
			
			Where spawnbot
			
			TotalCount 20
			MaxActive 20
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 100

			Squad
			{
				TFBot
				{
					Template T_TFBot_Giant_Soldier_Bison_Burst
					Attributes AlwaysCrit
					CharacterAttributes
					{
						"cancel falling damage" 1
					}
					Tag bot_giant
					AddCond
				{
					Index 26
					Duration -1
				}
				}
				TFBot
				{
					Template T_TFBot_Giant_Uber_Medic_GuaranteePop
					AddCond
					{
						Index 26
						Duration -1
					}
				}
			}
		}
		
		WaveSpawn
		{
			Name 1a

			Where spawnbot
			TotalCount 20
			MaxActive 20
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 1000
			
			TFBot
			{
				Template T_TFBot_Giant_Soldier_Spammer_GayPornVersion
				Attributes AlwaysCrit
				AddCond
				{
					Index 26
					Duration -1
				}
			}
		}
		
		WaveSpawn
		{
			Name 1a

			Where spawnbot
			TotalCount 20
			MaxActive 20
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 1000
			
			TFBot
			{
				Template T_TFBot_Giant_Demo_Spammer_GayPornVersion
				Attributes AlwaysCrit
				AddCond
				{
					Index 26
					Duration -1
				}
			}
		}
		
		WaveSpawn
		{
			Name 1a

			Where spawnbot
			TotalCount 20
			MaxActive 20
			SpawnCount 4
			WaitBeforeStarting 0
			WaitBetweenSpawns 10
			TotalCurrency 1000
			
			TFBot
			{
				Template T_TFBot_Giant_Pyro_Airblast_Batt
				ExtAttr AlwaysFireWeaponAlt
				Attributes AlwaysCrit
			}
		}
		
		WaveSpawn
		{
			Name 1a
			TotalCount 1
			TotalCurrency 1000
			WaitBeforeStarting 0
			
			FirstSpawnOutPut
			{
				Target wave_start_relay
				Action RunScriptCode
				Param 
				"
					ClientPrint(null,3,`\x0799CCFFTank deployed with 100000 HP!`)
				"
			}
			
			Tank
			{
				Name "Tank"
				Health 100000
				Speed 75
				StartingPathTrackNode "tankpath_2_2"
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
		WaveSpawn
		{
			Name 1a
			TotalCount 1
			TotalCurrency 1000
			WaitBeforeStarting 20
			
			FirstSpawnOutPut
			{
				Target wave_start_relay
				Action RunScriptCode
				Param 
				"
					ClientPrint(null,3,`\x0799CCFFTank deployed with 100000 HP!`)
				"
			}
			
			Tank
			{
				Name "Tank"
				Health 100000
				Speed 75
				Skin 1
				StartingPathTrackNode "tankpath_1_2"
				OnKilledOutput
				{
					Target boss_dead_relay
					Action Trigger
				}
				OnBombDroppedOutput
				{
					Target boss_deploy_relay
					Action Trigger
				}
			}
		}
	}
}