#base robot_giant.pop
#base robot_standard.pop
#base robot_gatebot_modular.pop

// Mission made by Kalidescope

// MAP DETAILS FOR ANY INTERESTED
//
// Spawn Locations:
//
//  MAIN
//  spawnbot
//  spawnbot_invasion
//  spawnbot_boss
//  spawnbot_mission_spy
//  spawnbot_mission_sniper
//  spawnbot_mission_sentry_buster
//
//  FLANK
//  spawnbot_side
//  spawnbot_mission_sniper_side
//  spawnbot_boss_side
//  spawnbot_invasion

WaveSchedule
{
	Templates
    {
		//Condensing Shotgun Sollies, Pyros and Heavies.
		T_TFBot_Soldier_Shotgun
		{
			Class Soldier
			Item "TF_WEAPON_SHOTGUN_SOLDIER"
			WeaponRestrictions SecondaryOnly
		}
		T_TFBot_Pyro_Shotgun
		{
			Template T_TFBot_Pyro_Flaregun
			ClassIcon T_TFBot_Pyro
			WeaponRestrictions SecondaryOnly
			Item "TF_WEAPON_SHOTGUN_PYRO"
		}
		T_TFBot_Heavy_Shotgun
		{
			Template T_TFBot_Heavyweapons_Shotgun
		}

		//Condensing Banner Sollies 
		T_TFBot_Soldier_Buff_Banner
		{
			Template T_TFBot_Soldier_Extended_Buff_Banner
			ClassIcon soldier_banner_trio
		}
		T_TFBot_Soldier_Conch
		{
			Template T_TFBot_Soldier_Extended_Concheror
			ClassIcon soldier_banner_trio
		}
		T_TFBot_Soldier_Batallion
		{
			Template T_TFBot_Soldier_Extended_Batallion
			ClassIcon soldier_banner_trio
		}
		T_TFBot_Giant_Soldier_Buff_Banner
		{
			Template T_TFBot_Giant_Soldier_Extended_Buff_Banner
			ClassIcon soldier_banner_trio_giant
		}
		T_TFBot_Giant_Soldier_Conch
		{
			Template T_TFBot_Giant_Soldier_Extended_Concheror
			ClassIcon soldier_banner_trio_giant
		}
		T_TFBot_Giant_Soldier_Batallion
		{
			Template T_TFBot_Giant_Soldier_Extended_Concheror
			ClassIcon soldier_banner_trio_giant
		}

		T_TFBot_Medic_Kritzkrieg    
		{
			Class Medic
			ClassIcon medic_kritz
			Name "Kritzkrieg Medic"
			Skill Expert
			Attributes AlwaysCrit
			Attributes SpawnWithFullCharge
			Item "The KritzKrieg"
			Item "The Virus Doctor"
			Item "Medic Mask"
			ItemAttributes
			{
				ItemName "The KritzKrieg"
				"uber duration bonus" 900
				"ubercharge rate bonus" 900
			}
			CharacterAttributes
			{
				"heal rate bonus" 2
				"bot medic uber health threshold" 226
			}
		}

		T_TFBot_Giant_Medic_Kritzkrieg    
		{
			Class Medic
			Health 4500
			ClassIcon medic_kritz_giant
			Name "Giant Kritzkrieg Medic"
			Skill Expert
			Attributes AlwaysCrit
			Attributes SpawnWithFullCharge
			Item "The KritzKrieg"
			Item "The Virus Doctor"
			Item "Medic Mask"
			ItemAttributes
			{
				ItemName "The KritzKrieg"
				"uber duration bonus" 900
				"ubercharge rate bonus" 900
			}
			CharacterAttributes
			{
				"heal rate bonus" 2
				"bot medic uber health threshold" 226
			}
		}

		//Bosses

		T_TFBot_Soldier_BossGoliath
		{
			Class Soldier
			ClassIcon goliatron_alt_nys
			Name "Coded Cataclysm"
			Skill Hard
			Item "The Team Captain"
			Item "warbird_rocketlauncher_warhawk"
			HomingRockets  
			{
				Enable 1
				IgnoreDisguisedSpies 1
				IgnoreStealthedSpies 1
				RocketSpeed 1
				TurnPower 90
				MaxAimError 360
			}
			RocketCustomParticle eyeboss_projectile
			Health 18000
			Attributes  MiniBoss
            Attributes  UseBossHealthBar
			ItemAttributes
			{
				ItemName "The Team Captain"
				"attach particle effect" 115 //Eldrich Opening Unusual
			}
			ItemAttributes
			{
				ItemName "warbird_rocketlauncher_warhawk"
				"killstreak tier" 3
				"killstreak idleeffect" 7
			}
			CharacterAttributes
			{
				"move speed bonus"  0.6
				"override footstep sound set"   3
				"damage force reduction"    0.4
				"airblast vulnerability multiplier" 0 //airblast be like nuh-uh
				"increased jump height" 2
			}
			EventChangeAttributes
			{
				PhaseTwo
				{
					Message
					{
						Name "{288499}HUMAN FORCE STRONGER THAN EXPECTED PARAMETERS. CRIT SHIELDS ENABLED. INITIATING {17DCD9}TRY.EXE."
						Delay 0
						Repeats 1
					}
					ItemAttributes
					{
						ItemName "warbird_rocketlauncher_warhawk"
						"move speed bonus"  0.5
						"faster reload rate"    0.5
                        "fire rate bonus"   0.1
                        "clip size upgrade atomic"  5
                        "projectile speed increased"    0.5
						"dmg taken from crit reduced"	0
					}
				}                
				PhaseThree
				{
					Message
					{
						Name "{288499}DESTRUCTION IMMENANT. ENGAGING {17DCD9}MUTUALLY ASSURED ANNIHILATION."
						Delay 0
						Repeats 1
					}
					ItemAttributes
					{
						ItemName "warbird_rocketlauncher_warhawk"
						"move speed bonus"  0.3
                		"faster reload rate"    0.01
                		"fire rate bonus"   0.001
                		"clip size upgrade atomic"  20
                		"projectile speed increased"    0.65
                		"projectile spread angle penalty"   360
						"no self blast damage" 2
					}
				}    
			}

			ChangeAttributes    
			{
				IfHealthBelow 12000
				Name "PhaseTwo"
				Repeats 1
				Delay 0
			}
			ChangeAttributes    
			{
				IfHealthBelow 6000
				Name "PhaseThree"
				Repeats 1
				Delay 0
			}
		}
		T_TFBot_Soldier_Goliath //Coded Cataclysm W/O dialogue
		{
			Class Soldier
			ClassIcon goliatron_alt_nys
			Name "Cloned Cataclysm"
			Skill Hard
			Item "The Team Captain"
			Item "warbird_rocketlauncher_warhawk"
			HomingRockets  
			{
				Enable 1
				IgnoreDisguisedSpies 1
				IgnoreStealthedSpies 1
				RocketSpeed 1
				TurnPower 90
				MaxAimError 360
			}
			RocketCustomParticle eyeboss_projectile
			Health 18000
			Attributes  MiniBoss
            Attributes  UseBossHealthBar
			ItemAttributes
			{
				ItemName "The Team Captain"
				"attach particle effect" 114 //Galactic Gateway Unusual
			}
			ItemAttributes
			{
				ItemName "warbird_rocketlauncher_warhawk"
				"killstreak tier" 3
				"killstreak idleeffect" 7
			}
			CharacterAttributes
			{
				"move speed bonus"  0.6
				"override footstep sound set"   3
				"damage force reduction"    0.4
				"airblast vulnerability multiplier" 0 
				"increased jump height" 2
			}
			EventChangeAttributes
			{
				PhaseTwo
				{
					ItemAttributes
					{
						ItemName "warbird_rocketlauncher_warhawk"
						"move speed bonus"  0.5
						"faster reload rate"    0.5
                        "fire rate bonus"   0.1
                        "clip size upgrade atomic"  5
                        "projectile speed increased"    0.5
						"dmg taken from crit reduced"	0
					}
				}                
				PhaseThree
				{
					ItemAttributes
					{
						ItemName "warbird_rocketlauncher_warhawk"
						"move speed bonus"  0.3
                		"faster reload rate"    0.01
                		"fire rate bonus"   0.001
                		"clip size upgrade atomic"  20
                		"projectile speed increased"    0.65
                		"projectile spread angle penalty"   360
						"no self blast damage" 2
					}
				}    
			}

			ChangeAttributes    
			{
				IfHealthBelow 12000
				Name "PhaseTwo"
				Repeats 1
				Delay 0
			}
			ChangeAttributes    
			{
				IfHealthBelow 6000
				Name "PhaseThree"
				Repeats 1
				Delay 0
			}
		}
		T_TFBot_Heavyweapons_Pootis
		{
			Class Heavy
			Action Spy
			Skill Expert
			UseCustomModel "models/bots/player/heavy.mdl"
		}
		T_TFBot_Heavyweapons_Engage
		{
			Class Heavy
			Action Mobber
			Skill Expert
			Item "Security Shades"
			UseHumanModel 1
		}
    }

	//SENTRY BUSTERS

    Mission
	{
		Objective DestroySentries
		Where spawnbot_mission_sentry_buster
		CooldownTime 25
	
		TFBot
		{
			Template T_TFBot_SentryBuster
		}
	}

	StartingCurrency 0
	RespawnWaveTime 7
    CanBotsAttackWhileInSpawnRoom 0

    ZombiesNoWave666 1 
	BotHumansHaveEyeGlow 1
	NoMvMDeathTune 1
	
    FlagResetTime   //Overrides default bomb reset time
	{
		Name "intel" 
		ResetTime 40    //40 Seconds before bomb reset
	}
	Wave //Welcome to hell asshole
	{
		StartWaveOutput
        {
            Target  wave_start_relay
            Action Trigger
        }
        DoneOutput
        {
            Target wave_finished_relay
            Action Trigger
        }
		WaveSpawn //16 Shotgun Soldiers (50/50 gatebot split) in clumps of 4
        {
            Where spawnbot
            Name "P1_1_Soldiers"
            TotalCount	16
            MaxActive	8
            SpawnCount	4
			WaitBetweenSpawns	7
            TotalCurrency   80    
			TFBot
			{
				Template T_TFBot_Soldier_Shotgun
			}  
        }
		WaveSpawn //12 Bat Scouts (gatebot) in clumps of 3
        {
            Where spawnbot_side
            Name "P1_1_BatScouts"
			FirstSpawnWarningSound "scout_mvm_m_specialcompleted05"
            TotalCount	12
            MaxActive	6
            SpawnCount	3
			WaitBetweenSpawns	7
            TotalCurrency   60    
			Support limited
			TFBot
			{
				Template T_TFBot_Scout_Melee
				Name "Bat Scout"
				AddTemplate GatebotScout  
			}
        }
		WaveSpawn //12 Demomen + Demoknights in clumps of 4
		{
			Where spawnbot
            Name "P1_2_Demomen"
            TotalCount	12
            MaxActive	8
            SpawnCount	4
			WaitBetweenSpawns	5
			WaitBeforeStarting	7
            TotalCurrency   60   
			WaitForAllSpawned	"P1_1_Demos"
			Squad
			{
				TFBot
				{
					Template T_TFBot_Demoman
				} 
				TFBot
				{
					Template T_TFBot_Demoman_Knight
					tag bot_squad_member
				} 
				TFBot
				{
					Template T_TFBot_Demoman_Knight
					tag bot_squad_member
				}
				TFBot
				{
					Template T_TFBot_Demoman_Knight
					tag bot_squad_member
				}
			}
			
		}
	}
}