
// The rot recedes after 5 years in purgatory

// TIDAL SCOURGE (Akure Expert Remake)
// Made by someone now known as Athazar, featuring all the pointless/unfunny guff from 2020 removed

#base robot_giant.pop
#base robot_standard.pop

rememberwhencustomwaveschedulenameswerefunny?
{
	StartingCurrency	600
	RespawnWaveTime	2
	CanBotsAttackWhileInSpawnRoom	no
	Advanced	1

	// some precache guff since these aren't packed into the map yet	
    PrecacheModel "models/bots/boss_bot/combat_tank_mk2/mk2_combat_tank_chassis.mdl"	 
	PrecacheModel "models/bots/boss_bot/combat_tank_mk2/mk2_fireball.mdl"	 
	PrecacheModel "models/bots/boss_bot/combat_tank_mk2/mk2_railgun.mdl"	 
	PrecacheModel "models/bots/boss_bot/combat_tank/railgun_case.mdl"	 
	PrecacheGeneric	"materials/hud/leaderboard_class_tank_combat_railgun_lite.vtf"	 
	PrecacheGeneric	"materials/hud/leaderboard_class_tank_combat_railgun_lite.vmt"	 
	PrecacheGeneric	"materials/hud/leaderboard_class_tank_combat_df_better.vtf"	 
	PrecacheGeneric	"materials/hud/leaderboard_class_tank_combat_df_better.vmt"	 

	Templates
	{
		T_TFBot_Giant_Demoman_Stickybomb_Spammer
		{
			Class	Demoman
			Name	"Giant Sticky Spammer Demoman"
			ClassIcon	demo_sticky_spammer_daan
			Skill	Expert
			Health	3300
			Attributes	HoldFireUntilFullReload
			Attributes	MiniBoss
			MaxVisionRange	1000
			WeaponRestrictions	SecondaryOnly
			Item	"The Shrapnel Shell"
            Item    "The Blast Bowl"
			ItemAttributes
			{
				ItemName	"TF_WEAPON_GRENADELAUNCHER"
				"fire rate penalty"			69420	
				"override projectile type"	27
				"is_passive_weapon"			1
				"faster reload rate"		-1
			}
			ItemAttributes
			{
				ItemName	"TF_WEAPON_PIPEBOMBLAUNCHER"
				"faster reload rate"			-1
				"max pipebombs decreased"		-6
				"stickybomb charge rate"		0.01
				"Projectile range decreased"	0.5
				"sticky arm time penalty"		1.1
                "fire rate bonus"   0.6
			}
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.5
				"airblast vulnerability multiplier" 0.5
				"override footstep sound set" 4
			}
		}

		T_TFBot_Medic_Kritzkrieg_BigHeal
		{ 
			Class	Medic
			Name	"Kritzkrieg Medic"
			ClassIcon	medic_kritz_lite
			Attributes	SpawnWithFullCharge
			Attributes	IgnoreEnemies
			Item	"The Kritzkrieg"
			Item	"Titanium Tyrolean"
			ItemAttributes
			{
				ItemName "The Kritzkrieg"
				"ubercharge rate bonus"	9999
				"uber duration bonus"	9999
				"heal rate bonus"	10
			}
			CharacterAttributes
			{
				"bot medic uber health threshold"	690
			}
		}
        T_TFBot_Giant_Medic_Kritzkrieg
		{ 
			Class	Medic
			Name	"Giant Kritzkrieg Medic"
			ClassIcon	medic_kritz_lite
            Skill Expert
			Health 4500
			Attributes	SpawnWithFullCharge
			Attributes	IgnoreEnemies
			Item	"The Kritzkrieg"
			Item	"Titanium Tyrolean"
            WeaponRestrictions SecondaryOnly
			Attributes MiniBoss
			ItemAttributes
			{
				ItemName "The Kritzkrieg"
				"ubercharge rate bonus"	9999
				"uber duration bonus"	9999
				"heal rate bonus"	200
			}
			CharacterAttributes
			{
				"bot medic uber health threshold"	9999
                "move speed bonus"	0.75
				"damage force reduction" 0.6
				"airblast vulnerability multiplier" 0.6
			}
		}
		T_TFBot_Sniper_Minigiant_Bowman_Rapid_Penetrator
		{
			Template	T_TFBot_Sniper_Huntsman
			Name	"Armored Rapid Penetrator Bowman"
			ClassIcon	sniper_bow_multi_penetrator_armored
			Scale	1.5
			Health	1200	
			Item	"dec2014 Armoured Appendages"
			Item	"The Scoped Spartan"
			ItemAttributes
			{
				ItemName	"The Huntsman"
				"projectile penetration"	1
				"damage penalty"			1
				"fire rate bonus"			0.6
			}
			CharacterAttributes
			{
				"voice pitch scale"	1.2
				"hand scale"	1.5
				"head scale"	0.75	// Sniper Bot + Lowered Head Scale = Hyper Underbite (funny)
				"damage force reduction" 0.01
				"airblast vulnerability multiplier" 0.25

				// those who know:
				"dmg taken increased"	0.5 
				"dmg from melee increased"	2
				"dmg from ranged reduced"	2
			}
		}

		T_TFBot_Sniper_Minigiant_Bowman
		{
			Template	T_TFBot_Sniper_Huntsman_Spammer
			Name	"Armored Rapid Bowman"
			ClassIcon	sniper_bow_multi_armored
			Scale	1.5
			Health	1200	
			Item	"dec2014 Armoured Appendages"
			Item	"The Scoped Spartan"
			CharacterAttributes
			{
				"voice pitch scale"	1.2
				"hand scale"	1.5
				"head scale"	0.75	// Sniper Bot + Lowered Head Scale = Hyper Underbite (funny)
				"damage force reduction" 0.01
				"airblast vulnerability multiplier" 0.25
				
				// those who know:
				"dmg taken increased"	0.5 
				"dmg from melee increased"	2
				"dmg from ranged reduced"	2
			}
		}

	}
	Mission
	{
		Objective	DestroySentries
		Where	spawnbot
		InitialCooldown	30
		CooldownTime	30
		DesiredCount	1
		TFBot
		{
			Template	T_TFBot_SentryBuster
			Attributes	DisableDodge
			WeaponRestrictions	SecondaryOnly
			Item	"The Scottish Resistance"
			CharacterAttributes
			{
				"damage force reduction"	0.01
				"airblast vulnerability multiplier"	0.01
				"airblast vertical vulnerability multiplier"	0.01
				"rage giving scale"	0.01
			}
		}
	}
	Mission
	{
		Objective	Engineer
		Where	spawnbot_flank
		BeginAtWave	 3
		RunForThisManyWaves	1
		InitialCooldown	45
		CooldownTime	45
		DesiredCount	1
		TFBot
		{
			Template	T_TFBot_Engineer_Sentry_Teleporter
			TeleportWhere	spawnbot_flank
			TeleportWhere	spawnbot_building
			CharacterAttributes
			{
				"kill forces attacker to laugh"	1
			}
		}
	}
	Mission
	{
		Objective	Engineer
		Where	spawnbot_flank
		BeginAtWave	 5
		RunForThisManyWaves	3
		InitialCooldown	45
		CooldownTime	45
		DesiredCount	1
		TFBot
		{
			Template	T_TFBot_Engineer_Sentry_Teleporter
			TeleportWhere	spawnbot_flank
			TeleportWhere	spawnbot_building
			CharacterAttributes
			{
				"kill forces attacker to laugh"	1
			}
		}
	}
	Mission
	{
		Objective	Spy
		Where	spawnbot_flank
		BeginAtWave	3
		RunForThisManyWaves	1
		InitialCooldown	35
		CooldownTime	35
		DesiredCount	2
		TFBot
		{
			Template	T_TFBot_Spy
			ItemAttributes
			{
				ItemName	"tf_weapon_revolver"
				"auto fires when full" 1
				"auto fires full clip" 1
				"reload time increased hidden" 2.0
			}
		}
	}
	Mission
	{
		Objective	Sniper
		Where	spawnbot_flank
		BeginAtWave	4
		RunForThisManyWaves	1
		InitialCooldown	30
		CooldownTime	30
		DesiredCount	2
		TFBot
		{
			Template	T_TFBot_Sniper_Sydney_Sleeper
		}
	}
	Mission
	{
		Objective	Spy
		Where	spawnbot_flank
		BeginAtWave	5
		RunForThisManyWaves	2
		InitialCooldown	35
		CooldownTime	35
		DesiredCount	1
		TFBot
		{
			Template	T_TFBot_Spy
			ItemAttributes
			{
				ItemName	"tf_weapon_revolver"
				"auto fires when full" 1
				"auto fires full clip" 1
				"reload time increased hidden" 2.0
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput					
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		WaveSpawn
		{
			Name	wave1_gpyro_bowmen
			TotalCurrency	200
			TotalCount	5
			MaxActive	5
			SpawnCount	5
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_SlowBarrage
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}

			}
		}
		WaveSpawn
		{
			Name	wave1_gdemo_bowmen
			WaitForAllDead	wave1_gpyro_bowmen
			TotalCurrency	200
			TotalCount	8
			MaxActive	8
			SpawnCount	4
			WaitBetweenSpawns	10
			Where	spawnbot_flank
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_Spammer_Reload
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
			}
		}
		WaveSpawn
		{
			Name	wave1_gsol_bowmen
			WaitForAllDead	wave1_gdemo_bowmen
			TotalCurrency	100
			TotalCount	6
			MaxActive	6
			SpawnCount	3
			WaitBetweenSpawns	10
			Where	spawnbot_building
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_Spammer
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
			}
		}
		WaveSpawn
		{
			Name	wave1_gsol_hehehehehe
			WaitForAllSpawned	wave1_gsol_bowmen
			TotalCurrency	400
			TotalCount	5
			MaxActive	5
			SpawnCount	5
			WaitBeforeStarting	15
			Where	spawnbot_right
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier_Spammer
				}
				TFBot
				{
					Template	T_TFBot_Sniper_Minigiant_Bowman
				}
				TFBot
				{
					Template	T_TFBot_Medic_Kritzkrieg_BigHeal
				}
				TFBot
				{
					Template	T_TFBot_Medic_Kritzkrieg_BigHeal
				}
				TFBot
				{
					Template	T_TFBot_Medic_Kritzkrieg_BigHeal
				}

			}
		}

		WaveSpawn
		{
			Name	wave1_support1
			Support	1

			TotalCount	100
			MaxActive	8
			SpawnCount	1
			WaitBetweenSpawns	1
			Where	spawnbot
			TFBot
			{
				Class	Scout
				ClassIcon	scout_bat_nys
				WeaponRestrictions	MeleeOnly
			}
		}
		WaveSpawn
		{
			Name	wave1_support2
			Support	1
			TotalCount	9999
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	12
			WaitBetweenSpawns	12
			Where	spawnbot_flank
			RandomChoice
			{
				TFBot
				{
					Class	Scout
					ClassIcon	scout_milk
					Skill	Expert
					Name	"Mad Milk Scout"
					Attributes	AlwaysFireWeapon
					WeaponRestrictions	SecondaryOnly
					Item	"Mad Milk"
					ItemAttributes
					{
						ItemName	"Mad Milk"
						"effect bar recharge rate increased" -2
					}
				}
				TFBot
				{
					Class	Sniper
					ClassIcon	sniper_jarate
					Skill	Expert
					Name	"Jarate Sniper"
					Attributes	AlwaysFireWeapon
					WeaponRestrictions	SecondaryOnly
					Item	"Jarate"
					ItemAttributes
					{
						ItemName	"Jarate"
						"effect bar recharge rate increased" -2
					}
				}
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput					
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		WaveSpawn
		{
			Name	wave2_soldierrushA
			TotalCurrency	50
			TotalCount	12
			MaxActive	12
			SpawnCount	1
			WaitBetweenSpawns	1
			Where	spawnbot
			TFBot
			{
				Class	Soldier
				Skill	Expert
			}
		}
		WaveSpawn
		{
			Name	wave2_soldierrushB
			WaitForAllSpawned	wave2_soldierrushA
			TotalCurrency	50
			TotalCount	24
			MaxActive	12
			SpawnCount	2
			WaitBeforeStarting	2
			WaitBetweenSpawns	2
			Where	spawnbot
			TFBot
			{
				Class	Soldier
				Skill	Expert
			}
		}
		WaveSpawn
		{
			Name	wave2_gchamp_medics
			WaitForAllDead	wave2_soldierrushA
			TotalCurrency	50
			TotalCount	8
			MaxActive	5
			SpawnCount	4
			Where	spawnbot_building
			Squad
			{
				TFBot
				{
					Class	Heavyweapons
					Name	"Giant Burstfire Shotgun Heavy"
					ClassIcon	heavy_shotgun_burst_lite
					Skill	Expert
					Health	5000
					WeaponRestrictions	SecondaryOnly
					MaxVisionRange	1200
					Attributes	MiniBoss
					Attributes	HoldFireUntilFullReload
					Item	"The Eliminators Safeguard"
					ItemAttributes
					{
						ItemName	"TF_WEAPON_SHOTGUN_HWG"
						"auto fires full clip"	1
						"auto fires when full"	1
						"fire rate bonus"	0.22
						"faster reload rate"	0.8
					}
					CharacterAttributes
					{
						"move speed bonus"	0.7
						"damage force reduction"	0.5
						"airblast vulnerability multiplier"	0.5
						"override footstep sound set"	2
					}
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
			}
		}
		WaveSpawn
		{
			Name	wave2_pyros
			WaitForAllDead	wave2_soldierrushB
			TotalCurrency	125
			TotalCount	32
			MaxActive	10
			SpawnCount	2
			WaitBeforeStarting	2
			WaitBetweenSpawns	2
			Where	spawnbot
			TFBot
			{
				Class	Pyro
				Skill	Easy
			}
		}
		WaveSpawn
		{
			Name	wave2_demomeds
			WaitForAllDead	wave2_soldierrushB
			TotalCurrency	125
			TotalCount	12
			MaxActive	6
			SpawnCount	2
			WaitBeforeStarting	4
			WaitBetweenSpawns	4
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Class	Demoman
					Skill	Expert
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
			}
		}
		WaveSpawn
		{
			Name	wave2_gscouts
			WaitForAllDead	wave2_gchamp_medics
			TotalCurrency	150
			TotalCount	5
			MaxActive	3
			SpawnCount	1
			WaitBetweenSpawns	10
			Where	spawnbot
			TFBot
			{
				Template	T_TFBot_Giant_Scout
			}
		}
		WaveSpawn
		{
			Name	wave2_gbowmen_meds
			WaitForAllSpawned	wave2_gscouts
			TotalCurrency	250
			TotalCount	12
			MaxActive	8
			SpawnCount	4
			WaitBetweenSpawns	12
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Class	Sniper
					ClassIcon	sniper_bow_penetrator
					Health	3000
					Name	"Giant Bowman"
					Skill	Expert
					Attributes	MiniBoss
					Item	"The Huntsman"
					Attributes	AlwaysCrit
					Tag	bot_giant
					ItemAttributes
					{
						ItemName	"The Huntsman"
						"projectile penetration"	1
					}
					CharacterAttributes
					{
						"move speed bonus"	0.5
						"damage force reduction"	0.5
						"airblast vulnerability multiplier"	0.5
						"override footstep sound set"	5
					}
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}

			}
		}
		WaveSpawn
		{
			Name	wave2_support
			WaitForAllDead	wave2_pyros
			Support	1
			TotalCount	100
			MaxActive	12
			SpawnCount	1
			WaitBetweenSpawns	1
			Where	spawnbot
			Where	spawnbot_building
			RandomChoice
			{
				TFBot
				{
					Template	T_TFBot_Demoman_Knight
				}
				TFBot
				{
					Template	T_TFBot_Scout_Sandman
					Attributes	AlwaysCrit
				}

			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput					
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		WaveSpawn
		{
			Name	wave3_tonk
			TotalCurrency	300
			TotalCount	1
			FirstSpawnWarningSound	"mvm/mvm_tank_start.wav"
			FirstSpawnOutput
			{
				Target	bignet
				Action	RunScriptCode
				Param	"
						    ClientPrint(null,3,`\x07FFE300[WARNING]\x0799CCFF A Tank has spawned with 30000 HP!`)
	                    "
			}
			Tank
			{
				Health	30000
				Name	"tankboss"
				Speed	55
				StartingPathTrackNode	"tank_path_left_a_1"
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
		}
		WaveSpawn
		{
			Name	wave3_scouts
			TotalCurrency	50
			TotalCount	45
			MaxActive	10
			SpawnCount	5
			WaitBeforeStarting	3
			WaitBetweenSpawns	6
			Where	spawnbot
			TFBot
			{
				Class	Scout
				ClassIcon	scout_popper
				Name	"Soda Popper Scout"
				WeaponRestrictions	PrimaryOnly
				Item	"The Soda Popper"
				Item	"The Bottle Cap"
				Item	"Crit-a-Cola"
				MaxVisionRange	600
				Skill	Expert
				ItemAttributes
				{
					ItemName	"The Bottle Cap"
					"item style override"	1
				}

			}
		}
		WaveSpawn
		{
			Name	wave3_gheater
			TotalCurrency	25
			TotalCount	3
			MaxActive	1
			SpawnCount	1
			WaitBeforeStarting	10
			WaitBetweenSpawns	30
			Where	spawnbot_building
			TFBot
			{
				Template	T_TFBot_Heavyweapons_Heater
				ClassIcon	heavy_heater
				Name	"Giant Heater Heavy"
			}
		}
		WaveSpawn
		{
			Name	wave3_gscorches
			TotalCurrency	25
			TotalCount	8
			MaxActive	3
			SpawnCount	2	// it works because they're garbage, hot garbage
			WaitBeforeStarting	10
			WaitBetweenSpawns	20
			Where	spawnbot_flank
			TFBot
			{
				Template	T_TFBot_Giant_Pyro
				Item	"The Scorch Shot"
				Attributes	AlwaysCrit
				WeaponRestrictions	SecondaryOnly
				ClassIcon	pyro_scorch
			}
		}
		WaveSpawn
		{
			Name	wave3_gskull
			WaitForAllDead	wave3_gheater
			TotalCurrency	50
			TotalCount	12
			MaxActive	10
			SpawnCount	4
			WaitBetweenSpawns	12
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Soldier
					Name	"Giant Direct Hit Soldier"
					Item	"The Direct Hit"
					ClassIcon	soldier_directhit_lite
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
					Name	"Quick-Uber Medic"
				}
			}
		}
		WaveSpawn
		{
			Name	wave3_support
			WaitForAllDead	wave3_gheater
			Support	1
			TotalCurrency	50
			TotalCount	20
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	6
			WaitBetweenSpawns	10
			Where	spawnbot_flank
			TFBot
			{
				Class	Scout
				Name	"Cleaver Scout"
				ClassIcon	scout_cleaver
				Item	"The Flying Guillotine"
				Attributes	AlwaysFireWeapon
				WeaponRestrictions	SecondaryOnly
				ItemAttributes
				{
					ItemName	"The Flying Guillotine"
					"effect bar recharge rate increased" 0.33
				}
			}
		}
		WaveSpawn
		{
			Name	wave3_support
			WaitForAllDead	wave3_gheater
			Support	1
			TotalCurrency	100
			TotalCount	24
			MaxActive	2
			SpawnCount	2
			WaitBeforeStarting	3
			WaitBetweenSpawns	10
			Where	spawnbot_building
			TFBot
			{
				Class	Sniper
				Skill	Expert
				ClassIcon	sniper_bushwacka
				Item	"The Bushwacka"
				WeaponRestrictions	MeleeOnly
			}
		}
		WaveSpawn
		{
			Name	wave3_support
			Support	1
			WaitForAllDead	wave3_scouts
			TotalCurrency	100
			TotalCount	30
			MaxActive	6
			SpawnCount	3
			WaitBetweenSpawns	12
			Where	spawnbot
			TFBot
			{
				Template	T_TFBot_Soldier_Extended_Buff_Banner
			}
		}

	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput					
		{
			Target	wave_finished_relay
			Action	Trigger
		}

        InitWaveOutput
        {
            Target bignet
            Action RunScriptCode
            Param
"
					IncludeScript(`tankextensions_main`, getroottable())
					IncludeScript(`tankextensions/combattank`, getroottable())
					IncludeScript(`tankextensions/combattank_weapons/fireball`, getroottable())
					TankExt.AddTankIcon(1, `tank_combat_df_better`, `combattank`)
"
        }

		WaveSpawn
		{
			Name	wave4_gdemo_meds
			TotalCurrency	100
			TotalCount	24
			MaxActive	8
			SpawnCount	6
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Demoman_Stickybomb_Spammer
					Attributes	AlwaysCrit
				}
				TFBot
				{
					Template	T_TFBot_Medic
				}
				TFBot
				{
					Template	T_TFBot_Medic
				}
				TFBot
				{
					Template	T_TFBot_Medic
				}
				TFBot
				{
					Template	T_TFBot_Medic
				}
				TFBot
				{
					Template	T_TFBot_Medic
				}

			}
		}
		WaveSpawn
		{
			Name	wave4_spammerbowmen
			TotalCurrency	100
			TotalCount	24
			MaxActive	9
			SpawnCount	3
			WaitBeforeStarting	7.5
			WaitBetweenSpawns	7.5
			Where	spawnbot_building
			TFBot
			{
				Template	T_TFBot_Sniper_Minigiant_Bowman_Rapid_Penetrator
			}
		}
		WaveSpawn
		{
			Name	wave4_tonk
			WaitForAllSpawned	wave4_gdemo_meds
			TotalCurrency	100
			TotalCount	1
			WaitBeforeStarting	15
			FirstSpawnWarningSound	"mvm/mvm_tank_start.wav"
			FirstSpawnOutput
			{
				Target	bignet
				Action	RunScriptCode
				Param	"
						    ClientPrint(null,3,`\x07FFE300[WARNING]\x0799CCFF A Combat Tank (Dual Fireball) has spawned with 25000 HP!`)
	                    "
			}
			Tank
			{
				Health	25000
				Name	"combattank_bomb|fireball|fireball"
				Speed	75
				StartingPathTrackNode	"tank_path_b_1"
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
		}
		WaveSpawn
		{
			Name	wave4_gheavy_gmed
			WaitForAllDead	wave4_gdemo_meds
			TotalCurrency	200
			TotalCount	4
			MaxActive	4
			SpawnCount	2
			WaitBetweenSpawns	20
			Where	spawnbot_flank
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Heavyweapons
				}
				TFBot
				{
					Template	T_TFBot_Giant_Medic
					ClassIcon	medic_pop
				}
			}
		}
		WaveSpawn
		{
			Name	wave4_bashers
			WaitForAllDead	wave4_spammerbowmen
			TotalCurrency	100
			TotalCount	50
			MaxActive	15
			SpawnCount	5
			WaitBetweenSpawns	4
			Where	spawnbot
			Where	spawnbot_building
			Where	spawnbot_right
			TFBot
			{
				Template	T_TFBot_Scout_Melee
				ClassIcon	scout_basher_lite
				Item	"The Boston Basher"
				Attributes	AlwaysCrit
				ItemAttributes
				{
					ItemName	"The Boston Basher"
					"hit self on miss"	0
				}
			}
		}
		WaveSpawn
		{
			Name	wave4_support
			Support	1
			WaitForAllSpawned	wave4_bashers
			TotalCount	100
			MaxActive	10
			SpawnCount	5
			WaitBeforeStarting	5
			WaitBetweenSpawns	5
			Where	spawnbot
			TFBot
			{
				Class	Soldier
				Skill	Hard
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput					
		{
			Target	wave_finished_relay
			Action	Trigger
		}
		WaveSpawn
		{
			Name	wave5_gbuff_scouts
			TotalCurrency	100
			TotalCount	24
			MaxActive	9
			SpawnCount	8
			WaitBetweenSpawns	15
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Class	Soldier
					Name	"Colonel Buff Barrage"
					ClassIcon	soldier_barrage_buff
					Health	4200
					Tag	bot_giant
					Skill	Expert
					WeaponRestrictions	PrimaryOnly
					Attributes	MiniBoss
					Attributes	HoldFireUntilFullReload
					Attributes	SpawnWithFullCharge
					Item	"The Buff Banner"
					Item	"The Team Captain"
					ItemAttributes
					{
						ItemName	"TF_WEAPON_ROCKETLAUNCHER"
						"damage bonus"	1.5
						"Projectile speed increased"	0.4
						"clip size upgrade atomic"	26.0
						"faster reload rate"	0.22
						"fire rate bonus"	0.2
						"projectile spread angle penalty"	5
					}
					ItemAttributes
					{
						ItemName	"The Buff Banner"
						"increase buff duration"	99.0
						"deploy time increased"	0.5
					}
					CharacterAttributes
					{
						"health regen"	40
						"move speed bonus"	0.5
						"damage force reduction"	0.4
						"airblast vulnerability multiplier"	0.4
						"override footstep sound set"	3
						"airblast vertical vulnerability multiplier"	0.1
					}
				}
				TFBot
				{
					Template	T_TFBot_Giant_Medic
					ClassIcon	medic_pop
				}
				TFBot
				{
					Class	Scout
					ClassIcon	scout_pistol_nys
					WeaponRestrictions	SecondaryOnly
					Skill	Hard	
				}
				TFBot
				{
					Class	Scout
					ClassIcon	scout_pistol_nys
					WeaponRestrictions	SecondaryOnly
					Skill	Hard	
				}
				TFBot
				{
					Class	Scout
					ClassIcon	scout_pistol_nys
					WeaponRestrictions	SecondaryOnly
					Skill	Hard	
				}
				TFBot
				{
					Class	Scout
					ClassIcon	scout_pistol_nys
					WeaponRestrictions	SecondaryOnly
					Skill	Hard	
				}
				TFBot
				{
					Class	Scout
					ClassIcon	scout_pistol_nys
					WeaponRestrictions	SecondaryOnly
					Skill	Hard	
				}
				TFBot
				{
					Class	Scout
					ClassIcon	scout_pistol_nys
					WeaponRestrictions	SecondaryOnly
					Skill	Hard	
				}
			}
		}
		WaveSpawn
		{
			Name	wave5_knight_meds
			TotalCurrency	100
			TotalCount	20
			MaxActive	8
			SpawnCount	2
			WaitBeforeStarting	3
			WaitBetweenSpawns	3
			Where	spawnbot_flank
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Demoman_Knight
				}
				TFBot
				{
					Template	T_TFBot_Medic_QuickUber
				}
			}
		}
		WaveSpawn
		{
			Name	wave5_gauntlets
			WaitForAllDead	wave5_knight_meds
			TotalCurrency	50
			TotalCount	12
			MaxActive	3
			SpawnCount	1
			WaitBetweenSpawns	4
			Where	spawnbot
			TFBot
			{
				Template	T_TFBot_Heavyweapons_Fist
			}
		}
		WaveSpawn
		{
			Name	wave5_scouts
			WaitForAllDead	wave5_knight_meds
			TotalCurrency	50
			TotalCount	28
			MaxActive	10
			SpawnCount	2
			WaitBetweenSpawns	3
			Where	spawnbot
			TFBot
			{
				Class	Scout
				Skill	Normal
				Attributes	AlwaysCrit
			}
		}
		WaveSpawn
		{
			Name	wave5_gscouts
			WaitForAllDead	wave5_gbuff_scouts
			TotalCurrency	100
			TotalCount	5
			MaxActive	2
			SpawnCount	1
			WaitBeforeStarting	10
			WaitBetweenSpawns	15
			Where	spawnbot_building
			TFBot
			{

//				Class	Scout
//				Name	"Giant Armored FaN Scout"
//				ClassIcon	scout_fan_armored
//				Skill	Expert
//				Health	3000
//				WeaponRestrictions	PrimaryOnly
//				Attributes	MiniBoss
//				Attributes	HoldFireUntilFullReload
//				Item	"The Force-a-Nature"
//				ItemAttributes
//				{
//					ItemName	"The Force-a-Nature"
//					"bullets per shot bonus"	2.5
//					"fire rate bonus"	0.01
//					"faster reload rate"	1.7
//				}
//				CharacterAttributes
//				{
//					"move speed bonus"	0.65
//					"damage force reduction"	0.7
//					"airblast vulnerability multiplier"	0.7
//					"override footstep sound set"	2
//				}

				Class Scout
				Name    "Giant Armored Shortstop Scout"
				ClassIcon scout_shortstop_armored
				Skill Expert
				Health 3000
				WeaponRestrictions PrimaryOnly
				Attributes MiniBoss
				Item    "The Shortstop"
				Item    "The Hermes"
				Item    "Messenger's Mail Bag"
				MaxVisionRange    1200
				CharacterAttributes
				{
					"move speed penalty"	0.75
					"damage force reduction" 0.25
					"airblast vulnerability multiplier" 0.25
					"override footstep sound set" 5
				}
			}
		}
		WaveSpawn
		{
			Name	wave5_pyroduos
			WaitForAllDead	wave5_gbuff_scouts
			TotalCurrency	200
			TotalCount	8
			MaxActive	4
			SpawnCount	2
			WaitBeforeStarting	5
			WaitBetweenSpawns	15
			Where	spawnbot
			TFBot
			{
				Class		Pyro
				Name		"Giant Leeching Conch Dragon"
				Health		3300
				classicon	pyro_dragon_fury_conch_heal
				Item	"Pyromancer's Mask"
				Item	"The Dragon's Fury"
				Item	"The Concheror"
				Skill				Hard
				WeaponRestrictions	PrimaryOnly
				Attributes			MiniBoss
				MaxVisionRange		800
				Tag					bot_giant
				ItemAttributes
				{
					Itemname					"The Dragon's Fury"
					"heal on hit for rapidfire"	200
					"heal on kill"				1100
				}
				Attributes	SpawnWithFullCharge
				ItemAttributes
				{
					ItemName	"The Concheror"
					"increase buff duration"	9
					"deploy time decreased"		0.5
				}
				CharacterAttributes
				{
					"move speed bonus"					0.5
					"damage force reduction"			0.5
					"airblast vulnerability multiplier"	0.5
					"override footstep sound set"		6
				}
			}
		}
//		WaveSpawn
//		{
//			Name	wave5_support1
//			Support	Limited
//			WaitForAllDead	wave5_scouts
//			TotalCurrency	50
//			TotalCount	16
//			MaxActive	8
//			SpawnCount	4
//			WaitBeforeStarting	4
//			WaitBetweenSpawns	8
//			Where	spawnbot_building
//			Squad
//			{
//				TFBot
//				{
//					Template	T_TFBot_Soldier_Extended_Battalion
//				}
//				TFBot
//				{
//					Template	T_TFBot_Heavyweapons_Shotgun
//					Attributes	AlwaysCrit
//					Name	"Shotgun Heavy"
//				}
//				TFBot
//				{
//					Template	T_TFBot_Heavyweapons_Shotgun
//					Attributes	AlwaysCrit
//					Name	"Shotgun Heavy"
//				}
//				TFBot
//				{
//					Template	T_TFBot_Heavyweapons_Shotgun
//					Attributes	AlwaysCrit
//					Name	"Shotgun Heavy"
//				}
//			}
//		}
		WaveSpawn
		{
			Name	wave5_support2
			Support	1
			WaitForAllDead	wave5_scouts

			TotalCount	48
			MaxActive	9
			SpawnCount	3
			WaitBetweenSpawns	5
			Where	spawnbot_flank
			TFBot
			{
				Template	T_TFBot_Heavyweapons_Shotgun
				Attributes	AlwaysCrit
				Name	"Shotgun Heavy"
			}
		}
		WaveSpawn
		{
			Name	wave5_support3
			Support	1
			WaitForAllDead	wave5_gauntlets

			TotalCount	100
			MaxActive	6
			SpawnCount	2
			WaitBeforeStarting	3
			WaitBetweenSpawns	3
			Where	spawnbot
			TFBot
			{
				Class	Pyro
				Skill	Expert
				ClassIcon	pyro_reflect_daan
			}
		}
	}
	Wave
	{
		StartWaveOutput
		{
			Target	wave_start_relay
			Action	Trigger
		}
		DoneOutput					
		{
			Target	wave_finished_relay
			Action	Trigger
		}
        InitWaveOutput
        {
            Target bignet
            Action RunScriptCode
            Param
"
					IncludeScript(`tankextensions_main`, getroottable())
					IncludeScript(`tankextensions/combattank`, getroottable())
					IncludeScript(`tankextensions/combattank_weapons/railgun`, getroottable())
					TankExt.AddTankIcon(1, `tank_combat_railgun_lite`, `combattank`)
					TankExt.SetValueOverrides({
						COMBATTANK_ROTATE_SPEED_DEFAULT = 1.20   // default: 0.8
						 COMBATTANK_MAX_RANGE = 3000            // default: 1800
					})
"
        }
		WaveSpawn
		{
			Name	wave6_gdeflectors
			TotalCurrency	100
			TotalCount	6
			MaxActive	4
			SpawnCount	2
			WaitBetweenSpawns	18
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Template	T_TFBot_Giant_Heavyweapons_Deflector
				}
				TFBot
				{
					Template	T_TFBot_Giant_Medic
					ClassIcon	medic_pop
				}
			}
		}
		WaveSpawn
		{
			Name	wave6_blackboxes
			TotalCurrency	100
			TotalCount	36
			MaxActive	12
			SpawnCount	4
			WaitBeforeStarting	10
			WaitBetweenSpawns	3
			Where	spawnbot_building
			TFBot
			{
				Class	Pyro
				Name	"Conch Dragon Pyro"
				Skill	Expert
				ClassIcon	pyro_dragon_fury_conch_lite
				Item	"The Dragon's Fury"
				Item	"Pyromancer's Mask"
				MaxVisionRange	600
				Item	"The Concheror"
				Attributes	SpawnWithFullCharge
				ItemAttributes
				{
					ItemName	"The Concheror"
					"increase buff duration"	10
					"deploy time decreased"		0.5
				}
			}
		}
		WaveSpawn
		{
			Name	w6_combattank
			WaitForAllDead	wave6_gdeflectors
			TotalCurrency	200
			TotalCount	1
			WaitBeforeStarting	10
			FirstSpawnWarningSound	"mvm/mvm_tank_start.wav"
			FirstSpawnOutput
			{
				Target	bignet
				Action	RunScriptCode
				Param	"
						    ClientPrint(null,3,`\x07FFE300[WARNING]\x0799CCFF A Combat Tank (Dual Railgun) has spawned with 42000 HP!`)
	                    "
			}
			Tank
			{
				Health	42000
				Name	"combattank_bomb|railgun|railgun"
				Speed	69
				StartingPathTrackNode	"tank_path_left_a_1"
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
		}
		WaveSpawn
		{
			Name	wave6_gianttrio	// obsolete
			WaitForAllDead	wave6_gdeflectors
			TotalCurrency	100
			TotalCount	4
			MaxActive	3
			SpawnCount	1
			WaitBetweenSpawns	20
			Where	spawnbot
			//Squad
			//{
			//	TFBot
			//	{
			//		Template	T_TFBot_Giant_Demoman
			//		ClassIcon	demo_spammer
			//		Attributes	AlwaysCrit
			//	}
			//	TFBot
			//	{
			//		Template	T_TFBot_Giant_Soldier_Spammer
			//		Attributes	AlwaysCrit
			//	}
			//	TFBot
			//	{
			//		Template	T_TFBot_Giant_Pyro
			//	}
			//}
			TFBot
			{
				Class	Soldier
				Name	"Giant Hyper Burst Soldier"
				ClassIcon	soldier_burstfire_hyper_lite
				Health	4200
				Skill	Expert
				WeaponRestrictions	PrimaryOnly
				Attributes	MiniBoss
				Attributes	HoldFireUntilFullReload
				Attributes	AlwaysCrit
				Item	"Tyrantium Helmet"
				Item	"Upgradeable TF_WEAPON_ROCKETLAUNCHER"
				ItemAttributes
				{
					ItemName	"Upgradeable TF_WEAPON_ROCKETLAUNCHER"
					"damage bonus"	2.0
					"faster reload rate"	0.4
					"fire rate bonus"	0.2
					"clip size upgrade atomic"	5.0
					"attach particle effect"	704
				}
				CharacterAttributes
				{
					"move speed bonus"	0.5
					"damage force reduction"	0.4
					"airblast vulnerability multiplier"	0.4
					"override footstep sound set"	3
					"Projectile speed increased"	0.9
				}
			}
		}
		WaveSpawn
		{
			Name	wave6_discharger
			WaitForAllDead	wave6_blackboxes
			TotalCurrency	100
			TotalCount	16
			MaxActive	6
			SpawnCount	2
			WaitBetweenSpawns	8
			Where	spawnbot
			Squad
			{
				TFBot
				{
					Class	Heavyweapons
					Name	"Thunderbolt Discharger"
					ClassIcon	heavy_shotgun_burst_lite_atomic2
					Skill	Expert
					Health	900
					Scale	1.5
					WeaponRestrictions	SecondaryOnly
					MaxVisionRange	900
					Attributes	AlwaysCrit
					Item	"Brain Interface"
					Item	"The Mishap Mercenary"
					ItemAttributes
					{
						ItemName	"TF_WEAPON_SHOTGUN_HWG"
						"override projectile type"	13	// Pomson laser
						"set item tint RGB"	15185211	// Australium Gold laser beam
						"projectile spread angle penalty"	6
						"energy weapon penetration"	1
						"dmg penalty vs players"	1.5
						"clip size bonus"	1.5
						"fire rate bonus"	0.001
						"faster reload rate"	0.5
						"auto fires full clip"	1
						"auto fires when full"	1
						"attach particle effect"	704
					}
				}
				TFBot
				{
					Template	T_TFBot_Medic
					CharacterAttributes
					{
						"heal rate bonus"	200	// so you dummies stop playing the game the wrong way and yeeting the pockets first
						// this was for when the pocket was a scout
					}
				}
			}
		}
		WaveSpawn
		{
			Name	wave6_support
			WaitForAllDead	wave6_discharger
			TotalCount	100
			MaxActive	8
			SpawnCount	1
			WaitBetweenSpawns	2.5
			Where	spawnbot
			Where	spawnbot_building
			Where	spawnbot_flank
			Support	1
			RandomChoice
			{
				TFBot
				{
					Class	Pyro
					Skill	Expert
					Attributes	AlwaysFireWeapon
				}
				TFBot
				{
					Class	Scout
				}
				TFBot
				{
					Class	Heavyweapons
				}
			}
		}
	}
}