// The InitWaveOutput Stuff is from Dizzying Drill Made by randomguy. I have permission from him to use it.
#base robot_giant.pop
#base robot_standard.pop
#base robot_gatebot.pop
population
{
	StartingCurrency	250
	RespawnWaveTime	3
	CanBotsAttackWhileInSpawnRoom	no
	//AllowBotExtraSlots 65   
	Templates
	{
		T_TFBot_Giant_KingBurst
		{
			Class	Demoman
			ClassIcon	burst_demo_boss
			Name	"King Burst"
			Skill	Expert
			Health	15000
			Item	"the warsworn helmet"
			Item	"the king of scotland cape"
			//Attributes	"AlwaysCrit"
			WeaponRestrictions	PrimaryOnly
			Attributes	"MiniBoss"
			Attributes	"UseBossHealthBar"
			Attributes	"HoldFireUntilFullReload"
			ItemAttributes
			{
				ItemName	tf_weapon_grenadelauncher
				"fire rate bonus"	0.1
				"faster reload rate"	0.2
				"clip size upgrade atomic"	20
				"Projectile speed increased"	2
			}
			CharacterAttributes
			{
				//"health regen"	320
				"move speed bonus"	0.32
				"damage force reduction" 0.7
				"airblast vulnerability multiplier" 0.3
				"override footstep sound set" 4
				"airblast vertical vulnerability multiplier" 0.1
				"rage giving scale" 0.1
			}
		}
		T_TFBot_Giant_General_Bomber
		{
			ClassIcon	demo_ibomber
			Health	10000
			Name	"General Bomber"
			Class	Demoman
			Skill	Expert
			Item	"the iron bomber"
			Item	"spine-chilling skull"
			Item	"the king of scotland cape"
			//Attributes	"AlwaysCrit"
			Attributes	"HoldFireUntilFullReload"
			Attributes	"MiniBoss"
			Attributes	"UseBossHealthBar"
			ItemAttributes
			{
				ItemName	"the iron bomber"
				"damage bonus"	2
				"faster reload rate"	0.2
				"fire rate bonus"	0.2
				"clip size bonus"	4
				"Projectile speed increased"	1.5
			}
			CharacterAttributes
			{
				//"health regen"	60
				"move speed bonus"	0.32
				"damage force reduction"	0.7
				"airblast vulnerability multiplier"	0.3
				"override footstep sound set"	4
				"airblast vertical vulnerability multiplier"	0.1
				"rage giving scale"	0.1
			}
		}
		T_TFGateBot_Giant_Soldier_RocketPush_Crit
		{
			Class Soldier
			ClassIcon soldier_libertylauncher_giant
			Health 4000
			Name "Giant Blast Soldier"

			EventChangeAttributes
			{
				Default
				{
					Tag bot_gatebot 				// having these will cause bots to run towards gates
					Tag nav_prefer_gate1_flank		// 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

					Item "The Liberty Launcher"
					Item "MvM GateBot Light Soldier"
					Skill Expert
					WeaponRestrictions PrimaryOnly
					Attributes MiniBoss
					Attributes HoldFireUntilFullReload
					Attributes	AlwaysCrit
					Tag bot_giant
					ItemAttributes
					{
						ItemName "The Liberty Launcher"
						"damage causes airblast" 1
						"damage bonus" 0.75
						"fire rate bonus" 0.25
						"clip size upgrade atomic" 5
						"faster reload rate" 0.2
						"Blast radius decreased" 1.2
						"projectile spread angle penalty" 4
						// "Projectile speed increased" 0.75
					}
					CharacterAttributes
					{
						"move speed bonus"	0.5
						"override footstep sound set" 3
						"damage force reduction" 0.4
						"airblast vulnerability multiplier" 0.4
						"airblast vertical vulnerability multiplier" 0.1
						"rage giving scale"	0.1
					}
				}
				RevertGateBotsBehavior
				{
					Item "Dr's Dapper Topper"
					Item "The Liberty Launcher"
					Item "MvM GateBot Light Soldier"
					ItemAttributes               // turn off light hat
					{
						ItemName "MvM GateBot Light Soldier"
						"item style override" 1
					}
					Skill Expert
					WeaponRestrictions PrimaryOnly
					Attributes MiniBoss
					Attributes HoldFireUntilFullReload
					Attributes	AlwaysCrit
					Tag bot_giant
					ItemAttributes
					{
						ItemName "The Liberty Launcher"
						"damage causes airblast" 1
						"damage bonus" 0.75
						"fire rate bonus" 0.25
						"clip size upgrade atomic" 5
						"faster reload rate" 0.2
						"Blast radius decreased" 1.2
						"projectile spread angle penalty" 4
						// "Projectile speed increased" 0.75
					}
					CharacterAttributes
					{
						"move speed bonus"	0.5
						"override footstep sound set" 3
						"damage force reduction" 0.4
						"airblast vulnerability multiplier" 0.4
						"airblast vertical vulnerability multiplier" 0.1
						"rage giving scale"	0.1
					}
				}
			}
		}
		T_TFGateBot_Scout_Easy
		{
			Class Scout

			EventChangeAttributes
			{
				Default
				{
					Tag bot_gatebot 				// having these will cause bots to run towards gates
					Tag nav_prefer_gate1_flank		// 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

					Item "MvM GateBot Light Scout"
					Skill Easy
					MaxVisionRange 1000
					ItemAttributes
					{
						ItemName "TF_WEAPON_SCATTERGUN"
						"damage penalty" 0.5
					}
				}
				RevertGateBotsBehavior
				{
					Item "MvM GateBot Light Scout"
					ItemAttributes               // turn off light hat
					{
						ItemName "MvM GateBot Light Scout"
						"item style override" 1
					}
					ItemAttributes
					{
						ItemName "TF_WEAPON_SCATTERGUN"
						"damage penalty" 0.5
					}
					Skill Easy
					MaxVisionRange 1000
				}
			}
		}
		T_TFBot_Heavyweapons_Gnome_NoCrit
		{
			Class Heavyweapons
			Name "Heavy Mittens"
			Skill Easy
			ClassIcon heavy_mittens
			//Scale 0.65
			WeaponRestrictions MeleeOnly
			Health 60
			//Attributes AlwaysCrit
			//Item "The All-Father"
			//Item "Point and Shoot"
			Item "The Holiday Punch"
			ItemAttributes
			{
				ItemName "The Holiday Punch"
				"damage bonus" 0.2
			}
			CharacterAttributes
			{
				"move speed bonus"	1.3
			}
		}
	}
	Mission
	{
		Objective	DestroySentries
		Where	spawnbot_a
		BeginAtWave	1
		RunForThisManyWaves	6
		InitialCooldown	15
		CooldownTime	30
		DesiredCount	1
		TFBot
		{
			Template	T_TFBot_SentryBuster
		}
	}
	Wave
	{
		InitWaveOutPut
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "			
			EntFire(`InitB`,`Trigger`)
			"
		}
		StartWaveOutput
        {
            Target    wave_start_relay
            Action    RunScriptCode
            Param    "
            EntFire(`container_flank_location`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. does. not. work.
            EntFire(`trigger_flank_container_prereq1`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. better. work. dammit.
            EntFire(`intel3`,`setreturntime`,`99999`)
            EntFire(`wave_start_relayB`,`Trigger`)
            "
        }
		WaveSpawn
		{
			Name	1a
			TotalCurrency	200
			TotalCount	40
			MaxActive	15
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns	2
			Where	spawnbot_a
			TFBot
				{
					ClassIcon	demo_robot_nys
					Health	150
					Name	"A-Pose Menace"
					Class	Demoman
					Skill	Easy
					WeaponRestrictions	PrimaryOnly
					//ItemAttributes
					//{
						//ItemName	"the tide turner"
						//"charge recharge rate increased"	2
					//}
					CharacterAttributes
					{
						"move speed bonus"	1.25
					}
					Item	"the bootlegger"
					//Item	"the tide turner"
				}
		}
		WaveSpawn
		{
			Name	1
			TotalCurrency	300
			TotalCount	5
			MaxActive	3
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	12
			Where	spawnbot_a
			TFBot
			{
				//Name	"Annoying isn't it?"
				//ClassIcon	soldier_stun_giant
				Template	T_TFBot_Giant_Soldier
				//ItemAttributes
				//{
					//ItemName	"TF_WEAPON_ROCKETLAUNCHER"
					//"rocket specialist"	4
					//"damage penalty"	0.25
				//}
				Tag	bot_giant
			}
		}
		WaveSpawn
		{
			Name	1
			WaitForAllSpawned	1a
			TotalCurrency	0
			TotalCount	15
			MaxActive	7
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	1.5
			Where	spawnbot_a
			TFBot
				{
					Name	"I don't give Credits, lol"
					Scale	0.825
					Health	150
					Template	T_TFBot_Heavyweapons_Gnome_NoCrit
					Item	"point and shoot"
					Item	"the all-father"
				}
		}
		WaveSpawn
		{
			Name	1
			WaitForAllSpawned	1a
			TotalCurrency	100
			TotalCount	12
			MaxActive	8
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	2.25
			Support	1
			Where	spawnbot_a
			Where	spawnbot_b
			Where	spawnbot_c
			TFBot
				{
					ClassIcon	scout_bat_nys
					Template	T_TFBot_Scout_Melee
				}
		}
	}
	Wave
	{
		InitWaveOutPut
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
			EntFire(`initB`,`Trigger`)
			//IncludeScript(`mvm_hoovydam_b10_int_dizzying_drill_tankwave_shutterfix`)
			"
		} //shutterfix made by Needles (https://steamcommunity.com/profiles/76561198026257137/).
		StartWaveOutput
        {
            Target    wave_start_relay
            Action    RunScriptCode
            Param    "
            EntFire(`container_flank_location`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. does. not. work.
            EntFire(`trigger_flank_container_prereq1`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. better. work. dammit.
            EntFire(`intel3`,`setreturntime`,`99999`)
            EntFire(`wave_start_relayB`,`Trigger`)
            "
        }
		WaveSpawn
		{
			Name	1a
			TotalCurrency	100
			TotalCount	2
			MaxActive	2
			SpawnCount	1
			WaitBeforeStarting	6
			WaitBetweenSpawns	18
			Where	spawnbot_a
			TFBot
			{
				ClassIcon	demo_robot_nys
				Name	"Giant A-Pose Menace"
				Template	T_TFBot_Giant_Demo_RapidFire
				Item	"The B.A.S.E. Jumper"
				Tag	bot_giant
			}
		}
		WaveSpawn
		{
			Name	1c
			TotalCurrency	100
			TotalCount	6
			MaxActive	3
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	7.5
			Where	spawnbot_a
			TFBot
				{
					Class	HeavyWeapons
					Skill	Easy
				}
		}
		WaveSpawn
		{
			Name	1b
			TotalCurrency	100
			TotalCount	20
			MaxActive	10
			SpawnCount	1
			WaitBeforeStarting	15
			WaitBetweenSpawns	1.5
			Where	spawnbot_c
			TFBot
			{
				ClassIcon	soldier_shovel
				Name	"Shovel Soldier"
				Class	Soldier
				Skill	Easy
				WeaponRestrictions	MeleeOnly
				Item	"the b.a.s.e. jumper"
			}
		}
		WaveSpawn
		{
			Name	1
			TotalCurrency	100
			TotalCount	24
			MaxActive	9
			SpawnCount	3
			WaitBeforeStarting	0
			WaitBetweenSpawns	3
			Where	spawnbot_a
			TFBot
			{
				Template	T_TFBot_Scout_Melee
				ClassIcon	scout_bat_nys
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	2
			MaxActive	2
			SpawnCount	1
			WaitBeforeStarting	3
			WaitBetweenSpawns	16
			Where	spawnbot_a
			TFBot
			{
				Template	T_TFBot_Giant_Soldier_RocketPush
				//Item	"The B.A.S.E. Jumper"
				//Template	T_TFBot_Giant_Pyro
				//ItemAttributes
				//{
				//	ItemName	"TF_WEAPON_FLAMETHROWER"
				//	"airblast disabled"	1
				//}
				Tag	bot_giant
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	16
			MaxActive	6
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	1.5
			Where	spawnbot_a
			RandomChoice
			{
				TFBot
				{
					Template	T_TFBot_Heavyweapons_Shotgun
					Skill	Easy
				}
				TFBot
				{
					Skill	Easy
					Template	T_TFBot_Heavyweapons_Shotgun
				}
				TFBot
				{
					Template	T_TFBot_Heavyweapons_Shotgun
					Skill	Easy
				}
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	16
			MaxActive	6
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	1.5
			Where	spawnbot_a
			TFBot
			{
				Template	T_TFBot_Demoman_Knight
			}
		}
	}
	Wave
	{
		InitWaveOutPut
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
			EntFire(`InitA_SetFront`,`Trigger`)
			ClientPrint(null,3,`\x07FFEA00The robots have fallen back! Move to gate A!`)
			"
		}
		StartWaveOutput
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
            EntFire(`container_flank_location`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. does. not. work.
            EntFire(`trigger_flank_container_prereq1`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. better. work. dammit.
			EntFire(`intel3`,`setreturntime`,`99999`)
			EntFire(`intel2`,`setreturntime`,`99999`)
			EntFire(`wave_start_relayA`,`Trigger`)
			EntFire(`gate2_relay ontrigger addoutput toggle gate1_bot_teleport`,`toggle`,0,0,-1)
			EntFire(`wave_start_relayA ontrigger addoutput disable gate1_bot_teleport`,`disable`,0,0,-1)
			"
		} //bugger convention, i cba with resettable bombs.
		//other shit is because this map is hot dogshit and needs *me* to fucking fix it. Or it's the wave start relay lol
		//ent_fire gate2_relay ontrigger addoutput toggle gate1_bot_teleport,toggle,0,0,-1
		WaveSpawn
		{
			Name	1a
			TotalCurrency	50
			TotalCount	36
			MaxActive	12
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	1
			Where	spawnbot_b
			RandomChoice
			{
				TFBot
				{
					Class	Scout
					Skill	Easy
				}
				TFBot
				{
					Template	T_TFGateBot_Scout_Easy
				}
			}
		}
		//WaveSpawn
		//{
			//Name	1a
			//TotalCurrency	50
			//TotalCount	12
			//MaxActive	4
			//SpawnCount	1
			//WaitBeforeStarting	0
			//WaitBetweenSpawns	2
			//RandomSpawn	1
			//Where	spawnbot_a
			//Where	spawnbot_b
			//TFBot
			//{
				//Skill	Easy
				//Template	T_TFBot_Pyro
				//Attributes	"AlwaysFireWeapon"
			//}
		//}
		WaveSpawn
		{
			Name	1a
			TotalCurrency	125
			TotalCount	3
			MaxActive	3
			SpawnCount	1
			WaitBeforeStarting	3
			WaitBetweenSpawns	12
			Where	spawnbot_b
			TFBot
			{
				Template	T_TFGateBot_Giant_Soldier
				Tag	bot_giant
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	12
			MaxActive	6
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	5
			Where	spawnbot_c
			TFBot
				{
					Template	T_TFBot_Scout_Shortstop
					Item	"The B.A.S.E. Jumper"
					//Attributes	"AlwaysCrit"
				}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	25
			MaxActive	8
			SpawnCount	4
			WaitBeforeStarting	0
			WaitBetweenSpawns	7
			Support	Limited
			Where	spawnbot_c
			TFBot
			{
				Skill	Easy
				Template	T_TFBot_Heavyweapons_Shotgun
				Item	"The B.A.S.E. Jumper"
			}
		}
		WaveSpawn
		{
			Name	support
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	6
			MaxActive	6
			SpawnCount	2
			WaitBeforeStarting	2.5
			WaitBetweenSpawns	7.5
			Support	1
			RandomSpawn	1
			Where	spawnbot_c
			Where	spawnbot_b
			TFBot
				{
					Template	T_TFBot_Scout_Sandman_FastCharge
				}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	125
			TotalCount	2
			MaxActive	2
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	18
			Where	spawnbot_b
			TFBot
				{
					Name	"Giant Heater Heavy"
					Template	T_TFBot_Heavyweapons_Heater
					Item	"Big Chief"
					Tag	bot_giant
				}
		}
	}
	Wave
	{
		InitWaveOutPut
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
			EntFire(`initA`,`Enable`) //< this thing here is what wasted two hours.
			EntFire(`initA_setBack`,`Trigger`)
			//IncludeScript(`mvm_hoovydam_b10_int_dizzying_drill_tankwave_shutterfix`)
			//ClientPrint(null,3,`\x07FFEA00The robots this wave will be heavily taking advantage of jump pads to skip past your frontline.`)
			"
		} //this was so ass to do. Needles (https://steamcommunity.com/profiles/76561198026257137/) once again made the shutter door fix.
		StartWaveOutput
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
			EntFire(`container_flank_location `,`Kill`) //kills thing that fucks up the entire hatch building. necessary as fuck.
			EntFire(`intel3`,`setreturntime`,`99999`)
			EntFire(`intel2`,`setreturntime`,`99999`)
			EntFire(`wave_start_relayA`,`Trigger`)
			EntFire(`gate2_relay ontrigger addoutput enable gate1_bot_teleport`,`enable`,0,0,-1)
			EntFire(`wave_start_relay ontrigger addoutput disable gate1_bot_teleport`,`disable`,0,0,-1)
			"
		} //bugger convention, i cba with resettable bombs.
		//other shit is because this map is hot dogshit and needs *me* to fucking fix it. Or it's the wave start relay lol
		//ent_fire gate2_relay ontrigger addoutput toggle gate1_bot_teleport,toggle,0,0,-1
        //	FIX TANK INTERACTIONS WITH SHUTTER DOOR	//

		WaveSpawn
		{
			WaitBeforeStarting 	0
			TotalCount			0
			FirstSpawnOutput
			{
				Target gamerules
				Action RunScriptFile
				Param "hydro_horsepower_shutter_fix_simple.nut"
			}
		}
		WaveSpawn
		{
			Name	1a
			TotalCurrency	100
			TotalCount	12
			MaxActive	6
			SpawnCount	4
			WaitBeforeStarting	0
			WaitBetweenSpawns	15
			Where	spawnbot_b
			Squad
			{
				TFBot
				{
					Template	T_TFGateBot_Giant_Demo_Burst
					Tag	bot_giant
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
				}
			}
		}
		WaveSpawn
		{
			Name	1bc
			TotalCurrency	100
			TotalCount	10
			MaxActive	5
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	5
			Where	spawnbot_b
			TFBot
			{
				Class	HeavyWeapons
				Skill	Easy
			}
		}
		WaveSpawn
		{
			Name	1b
			TotalCurrency	100
			TotalCount	24
			MaxActive	6
			SpawnCount	2
			WaitBeforeStarting	5
			WaitBetweenSpawns	2
			Where	spawnbot_a
			TFBot
			{
				Template	T_TFBot_Scout_Fish
				ClassIcon	scout_fish_nys
			}
		}
		WaveSpawn
		{
			Name	tankboss
			TotalCurrency	100
			TotalCount	1
			MaxActive	1
			SpawnCount	1
			WaitBeforeStarting	45
			WaitBetweenSpawns	0
			FirstSpawnWarningSound "mvm/mvm_tank_start.wav"
			Where	spawnbot_b
			Tank
			{
				Health	18000
				Name	Tank
				Speed	75
				StartingPathTrackNode	tank_path_b_10
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
			FirstSpawnOutPut
			{
				Target wave_start_relay
				Action RunScriptCode
				Param "
				ClientPrint(null,3,`\x0799CCFFTank deployed with 18k (18000) HP!`)
				"
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1b
			TotalCurrency	100
			TotalCount	6
			MaxActive	6
			SpawnCount	3
			WaitBeforeStarting	5
			WaitBetweenSpawns	20
			Where	spawnbot_c
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_Spammer
					Tag	bot_giant
					//Attributes	"AlwaysCrit"
				}
				TFBot
				{
					Template	T_TFBot_Medic_BigHeal
				}
				TFBot
				{
					Template	T_TFBot_Medic_BigHeal
				}
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1b
			TotalCurrency	100
			TotalCount	18
			MaxActive	12
			SpawnCount	3
			WaitBeforeStarting	0
			WaitBetweenSpawns	5
			Support	1
			RandomSpawn	1
			Where	spawnbot_a
			Where	spawnbot_b
			Where	spawnbot_c
			RandomChoice
			{
				TFBot
				{
					ClassIcon	soldier_head_nys
					Health	200
					Name	"Small Head"
					Class	Soldier
					Skill	Normal
					WeaponRestrictions	MeleeOnly
					CharacterAttributes
					{
						"head scale"	0.5
					}
				}
				TFBot
				{
					ClassIcon	soldier_head_nys
					Health	200
					Name	"Big Head"
					Class	Soldier
					Skill	Normal
					WeaponRestrictions	MeleeOnly
					CharacterAttributes
					{
						"head scale"	2.5
					}
				}
				TFBot
				{
					ClassIcon	soldier_head_nys
					Health	200
					Name	"Small Head"
					Class	Soldier
					Skill	Normal
					WeaponRestrictions	MeleeOnly
					Item	"The B.A.S.E. Jumper"
					CharacterAttributes
					{
						"head scale"	0.5
					}
				}
				TFBot
				{
					ClassIcon	soldier_head_nys
					Health	200
					Name	"Big Head"
					Class	Soldier
					Skill	Normal
					WeaponRestrictions	MeleeOnly
					Item	"The B.A.S.E. Jumper"
					CharacterAttributes
					{
						"head scale"	2.5
					}
				}
			}
		}
	}
	Wave
	{
		InitWaveOutPut
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
			EntFire(`initMain_pit`,`Trigger`)
			ClientPrint(null,3,`\x07FFEA00The robots have fallen back! Move to the front!`)
			"
		}
		StartWaveOutput
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
            EntFire(`container_flank_location`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. does. not. work.
            EntFire(`trigger_flank_container_prereq1`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. better. work. dammit.
			EntFire(`intel3`,`setreturntime`,`99999`)
			EntFire(`intel2`,`setreturntime`,`99999`)
			EntFire(`intel`,`setreturntime`,`99999`)
			EntFire(`wave_start_relay`,`Trigger`)
			EntFire(`gate1_relay ontrigger addoutput enable gate0_bot_teleport`,`enable`,0,0,-1)
			EntFire(`wave_start_relay ontrigger addoutput disable gate0_bot_teleport`,`disable`,0,0,-1)
			EntFire(`gate2_relay ontrigger addoutput enable gate1_bot_teleport`,`enable`,0,0,-1)
			EntFire(`wave_start_relay ontrigger addoutput disable gate1_bot_teleport`,`disable`,0,0,-1)
			"
		} //bugger convention, i cba with resettable bombs.
		//other shit is because this map is hot dogshit and needs *me* to fucking fix it. Or it's the wave start relay lol
		//ent_fire gate2_relay ontrigger addoutput toggle gate1_bot_teleport,toggle,0,0,-1
		WaveSpawn
		{
			Name	1b
			TotalCurrency	100
			TotalCount	4
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where	spawnbot_b
			Squad
			{
				TFBot
				{
					Template	T_TFGateBot_Heavy_Normal
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
				}
			}
		}
		WaveSpawn
		{
			Name	1b/cap
			WaitForAllDead	1b
			TotalCurrency	100
			TotalCount	4
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	10
			WaitBetweenSpawns	10
			Where	spawnbot_b
			Squad
			{
				TFBot
				{
					Class	Heavyweapons
					Skill	Easy
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
				}
			}
		}
		WaveSpawn
		{
			Name	1a
			TotalCurrency	100
			TotalCount	2
			MaxActive	1
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	12
			Where	spawnbot_a
			TFBot
				{
					Template	T_TFBot_Giant_Heavyweapons_Shotgun
					Tag	bot_giant
					//Attributes	"AlwaysCrit"
				}
		}
		WaveSpawn
		{
			Name	1a
			TotalCurrency	100
			TotalCount	27
			MaxActive	9
			SpawnCount	3
			WaitBeforeStarting	0
			WaitBetweenSpawns	3
			Where	spawnbot_a
			RandomChoice
			{
				TFBot
				{
					Template	T_TFBot_Demoman
				}
				TFBot
				{
					Template	T_TFGateBot_Demoman_Easy
				}
			}
		}
		WaveSpawn
		{
			Name	2a
			TotalCurrency	100
			TotalCount	3
			MaxActive	1
			SpawnCount	1
			WaitBeforeStarting	20
			WaitBetweenSpawns	20
			Where	spawnbot_c
			TFBot
			{
				Template	T_TFGateBot_Giant_Scout_FAN
				Tag	bot_giant
			}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	20
			MaxActive	10
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns	2
			Support	Limited
			Where	spawnbot_a
			TFBot
				{
					Class	Soldier
					Skill	Easy
				}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	16
			MaxActive	8
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns	3
			Support	Limited
			Where	spawnbot_a
			TFBot
				{
					Template	T_TFBot_Scout_Bonk
					//Attributes	"AlwaysCrit"
				}
		}
		WaveSpawn
		{
			Name	2
			WaitForAllDead	1a
			TotalCurrency	100
			TotalCount	2
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	3
			WaitBetweenSpawns	1
			Where	spawnbot_a
			Squad
			{
				TFBot
				{
					Item	"The B.A.S.E. Jumper"
					Item	"The Warsworn Helmet"
					Template	T_TFBot_Giant_Soldier_Spammer_Reload
					Tag	bot_giant
				}
				TFBot
				{
					Item	"The B.A.S.E. Jumper"
					Item	"The Warsworn Helmet"
					Template	T_TFBot_Giant_Medic
					ClassIcon	medic_pop_giant
				}
			}
		}
	}
	Wave
	{
		InitWaveOutPut
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
			EntFire(`initMain_roadside`,`Trigger`)
			"
		}
		StartWaveOutput
		{
			Target wave_start_relay
			Action RunScriptCode
			Param "
            EntFire(`container_flank_location`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. does. not. work.
            EntFire(`trigger_flank_container_prereq1`,`Kill`) //kills thing that hells up the entire hatch building. necessary as hell.
            //^ this. better. work. dammit.
			EntFire(`intel3`,`setreturntime`,`99999`)
			EntFire(`intel2`,`setreturntime`,`99999`)
			EntFire(`intel`,`setreturntime`,`99999`)
			EntFire(`wave_start_relay`,`Trigger`)
			EntFire(`gate1_relay ontrigger addoutput enable gate0_bot_teleport`,`enable`,0,0,-1)
			EntFire(`wave_start_relay ontrigger addoutput disable gate0_bot_teleport`,`disable`,0,0,-1)
			EntFire(`gate2_relay ontrigger addoutput enable gate1_bot_teleport`,`enable`,0,0,-1)
			EntFire(`wave_start_relay ontrigger addoutput disable gate1_bot_teleport`,`disable`,0,0,-1)
			"
		} //bugger convention, i cba with resettable bombs.
		//other shit is because this map is hot dogshit and needs *me* to fucking fix it. Or it's the wave start relay lol
		//ent_fire gate2_relay ontrigger addoutput toggle gate1_bot_teleport,toggle,0,0,-1
		WaveSpawn
		{
			Name	1ab
			WaitForAllSpawned	1a
			TotalCurrency	100
			TotalCount	4
			MaxActive	4
			SpawnCount	4
			WaitBeforeStarting	2
			WaitBetweenSpawns	1.5
			Where	spawnbot_c
			Squad
			{
				TFBot
				{
					Item	"The B.A.S.E. Jumper"
					Item	"The Warsworn Helmet"
					Template	T_TFBot_Giant_Heavyweapons
					Tag	bot_giant
					//Attributes	"AlwaysCrit"
				}
				TFBot
				{
					Item	"The B.A.S.E. Jumper"
					Item	"The Warsworn Helmet"
					Template	T_TFBot_Giant_Medic
					Tag	bot_giant
					ClassIcon	medic_pop
				}
				TFBot
				{
					//Item	"The B.A.S.E. Jumper"
					Item	"The Warsworn Helmet"
					Template	T_TFBot_Soldier_Extended_Battalion
				}
				TFBot
				{
					//Item	"The B.A.S.E. Jumper"
					Item	"The Warsworn Helmet"
					Template	T_TFBot_Soldier_Extended_Battalion
				}
			}
		}
		WaveSpawn
		{
			Name	1a
			TotalCurrency	100
			TotalCount	12
			MaxActive	6
			SpawnCount	2
			WaitBeforeStarting	3
			WaitBetweenSpawns	2
			Where	spawnbot_c
			TFBot
				{
					Template	T_TFBot_Sniper_Huntsman
					Attributes	"AlwaysCrit"
				}
		}
		WaveSpawn
		{
			Name	1a
			TotalCurrency	100
			TotalCount	12
			MaxActive	6
			SpawnCount	2
			WaitBeforeStarting	5
			WaitBetweenSpawns	2
			Where	spawnbot_c
			TFBot
			{
				//Skill	Easy
				//Template	T_TFBot_Pyro
				//Attributes	"AlwaysFireWeapon"
				Template	T_TFGateBot_Heavyweapons_Shotgun
			}
		}
		//WaveSpawn
		//{
			//Name	2a
			//WaitForAllDead	1ab
			//TotalCurrency	100
			//TotalCount	36
			//MaxActive	12
			//SpawnCount	3
			//WaitBeforeStarting	0
			//WaitBetweenSpawns	3
			//Where	spawnbot_c
			//TFBot
			//{
			//	Template	T_TFBot_Giant_Scout
			//}
		//}
		//WaveSpawn
		//{
		///	Name	2a
			//WaitForAllDead	1ab
			//TotalCurrency	100
			//TotalCount	3
			//MaxActive	2
			//SpawnCount	1
			//WaitBeforeStarting	5
			//WaitBetweenSpawns	12.5
			//Where	spawnbot_a
			//Where	spawnbot_b
			//Where	spawnbot_c
			//TFBot
			//{
				//Template	T_TFGateBot_Giant_Soldier_Spammer_Reload
				//Name	"Giant Burst Fire Soldier"
				//Tag	bot_giant
			//}
		//}
		WaveSpawn
		{
			Name	3
			WaitForAllDead	1ab
			TotalCurrency	100
			TotalCount	12
			MaxActive	4
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	1
			Where	spawnbot_c
			TFBot
			{
				Template	T_TFGateBot_Heavy_Normal
			}
		}
		WaveSpawn
		{
			Name	3
			WaitForAllDead	1ab
			TotalCurrency	100
			TotalCount	27
			MaxActive	12
			SpawnCount	3
			WaitBeforeStarting	0
			WaitBetweenSpawns	3.5
			Where	spawnbot_c
			TFBot
			{
				Template	T_TFBot_Demoman_Knight
				ItemAttributes
				{
					ItemName	"The Chargin' Targe"
					"critboost on kill"	3
					"charge recharge rate increased"	1.75
				}
			}
		}
		WaveSpawn
		{
			Name	3
			WaitForAllDead	1ab
			TotalCurrency	100
			TotalCount	3
			MaxActive	2
			SpawnCount	1
			WaitBeforeStarting	5
			WaitBetweenSpawns	13.75
			Where	spawnbot_a
			Where	spawnbot_b
			Where	spawnbot_c
			RandomChoice
			{
				TFBot
				{
					Template	T_TFGateBot_Giant_Soldier_RocketPush //_Crit
					Tag	bot_giant
				}
				TFBot
				{
					//Attributes	"AlwaysCrit"
					Template	T_TFBot_Giant_Soldier_RocketPush
					Tag	bot_giant
				}
			}
		}
		WaveSpawn
		{
			Name	BossDuo
			WaitForAllDead	3
			TotalCurrency	69
			TotalCount	2
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns	10
			Where	spawnbot_c
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_KingBurst
					Tag	bot_giant
				}
				TFBot
				{
					Template	T_TFBot_Giant_General_Bomber
					Tag	bot_giant
				}
			}
		}
		WaveSpawn
		{
			Name	BossSupport
			WaitForAllSpawned	BossDuo
			TotalCurrency	100
			TotalCount	14
			MaxActive	8
			SpawnCount	2
			WaitBeforeStarting	0
			WaitBetweenSpawns	2
			Support	1
			Where	spawnbot_a
			Where	spawnbot_b
			Where	spawnbot_c
			TFBot
			{
				Attributes	"AlwaysCrit"
				Template	T_TFBot_Scout_Melee
				ClassIcon	scout_bat_nys
			}
		}
		WaveSpawn
		{
			Name	BossSupport
			WaitForAllSpawned	BossDuo
			TotalCurrency	100
			TotalCount	6
			MaxActive	6
			SpawnCount	1
			WaitBeforeStarting	0
			WaitBetweenSpawns	3
			Support	1
			Where	spawnbot_a
			Where	spawnbot_b
			Where	spawnbot_c
			TFBot
				{
					ClassIcon	scout_fast
					Health	125
					Name	"Tiny Super Scout"
					Class	Scout
					Skill	Easy
					WeaponRestrictions	MeleeOnly
					Attributes	"AlwaysCrit"
					CharacterAttributes
					{
						"move speed bonus"	1.5
					}
					Item	"the holy mackerel"
					Item	"bonk boy"
				}
		}
	}
}