#base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 800 RespawnWaveTime 7 CanBotsAttackWhileInSpawnRoom no Advanced 1 Templates { T_TFBot_Commando { Class Soldier Skill Expert Name "Commando Soldier" ClassIcon heavy_shotgun WeaponRestrictions SecondaryOnly //Item "Close Quarters Cover" //Item "Stealth Bomber" Item "The Baronial Badge" ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "fire rate bonus" 1.25 "clip size penalty" 0.66 "damage causes airblast" 1 "mod mini-crit airborne" 1 "damage bonus" 0.8 } Scale 1.4 Health 800 Attributes HoldFireUntilFullReload //Attributes AutoJump //AutoJumpMin 10 //AutoJumpMax 10 CharacterAttributes { "head scale" 0.88 "move speed bonus" 1.4 "increased jump height" 1.25 } } T_TFBot_Medic_Kritzkrieg { Class Medic Skill Normal Name "Kritzkrieg Medic" Item "The Kritzkrieg" Item "The Gentleman's Ushanka" Attributes "SpawnWithFullCharge" Attributes "AlwaysCrit" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 1000 "uber duration bonus" 100 } CharacterAttributes { "bot medic uber health threshold" 500 } } T_TFBot_Giant_Pistol_Scout { Class Scout Name "Giant Magnum Pistol Scout" ClassIcon scout_giant Skill Expert Item "The Winger" Health 1600 WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "The Winger" "clip size bonus" 1.4 "fire rate bonus" 2.5 "damage bonus" 2.5 "faster reload rate" 1.4 } CharacterAttributes { "move speed bonus" 0.75 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } } Mission // sentry buster { Objective DestroySentries InitialCooldown 30 Where spawnbot BeginAtWave 1 RunForThisManyWaves 7 CooldownTime 30 TFBot { Template T_TFBot_SentryBuster } } Mission // spy hoard, wave 1 (nerfed from 6 to 4) { Objective Spy InitialCooldown 25 Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 4 CooldownTime 60 TFBot { Class Spy Skill Expert } } Mission // headshot sniper, wave 1 { Objective Sniper InitialCooldown 5 Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 1 CooldownTime 55 TFBot { Class Sniper Name "Headshot Sniper" Skill Expert MaxVisionRange 2500 Attributes AlwaysCrit ClassIcon sniper ItemAttributes { ItemName "TF_WEAPON_CLUB" "damage bonus" 0.33 } } } Mission // snipers, wave 3 { Objective Sniper InitialCooldown 35 Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 2 CooldownTime 45 TFBot { Class Sniper Name Sniper Skill Hard MaxVisionRange 2500 } } Mission // snipers, wave 5-6 { Objective Sniper InitialCooldown 30 Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 2 DesiredCount 4 CooldownTime 40 TFBot { Template T_TFBot_Sniper_Razorback } } Mission // spys, wave 5 (nerfed from 4 to 2) { Objective Spy InitialCooldown 70 Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 2 CooldownTime 45 TFBot { Class Spy Skill Expert } } //WAVE 1 //Currency 600 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 1a-1: Steel Gauntlets { Name "1a-1" Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 9 WaitBeforeStarting 0 TotalCurrency 66 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn //WAVE 1a-1: Demoknights { Name "1a-1" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 25 WaitBetweenSpawns 6 TotalCurrency 80 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn //WAVE 1a-2: More Steel Gauntlets { Name "1a-2" WaitForAllDead "1a-1" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 34 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn //WAVE 1a-2: Major League! 1st scout { Name "1a-2" WaitForAllDead "1a-1" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 20 TotalCurrency 25 TFBot { Template T_TFBot_Giant_Scout_Baseball } } WaveSpawn //WAVE 1a-2: Scattergun Scouts { Name "1a-2" WaitForAllDead "1a-1" Where spawnbot TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 7 TotalCurrency 90 TFBot { Class Scout Skill Easy } } WaveSpawn //WAVE 1b: Major League! 2nd-4th scouts { Name "1b-1" WaitForAllDead "1a-2" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 30 WaitBeforeStarting 15 TotalCurrency 75 TFBot { Template T_TFBot_Giant_Scout_Baseball } } WaveSpawn //WAVE 1b: Scattergun scouts with Quick-Fix medics { Name "1b" WaitForAllDead "1a-2" Where spawnbot TotalCount 44 MaxActive 12 SpawnCount 4 WaitBetweenSpawns 7 WaitBeforeStarting 10 TotalCurrency 180 Squad { TFBot { Class Scout Skill Normal } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn //WAVE 1b: Commando Soldiers { Name "1b" WaitForAllDead "1a-2" Where spawnbot TotalCount 6 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 30 TotalCurrency 50 TFBot { Template T_TFBot_Commando } } WaveSpawn // TO SHOW THAT SNIPERS HAVE CRITS, DOESN'T ACTUALLY SPAWN { Name "ClassIconReal" Where spawnbot_mission_sniper TotalCount 1 SpawnCount 0 WaitBeforeStarting 1010000 WaitBetweenSpawns 101010 Support 1 TFBot { Class Sniper ClassIcon sniper Attributes AlwaysCrit } } } //WAVE 2 //Currency 800 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 2: Commando Soldier (first) { Name "2-1" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 10 TFBot { Template T_TFBot_Commando } } WaveSpawn //WAVE 2: The Squad (first) { Name "2-1" Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 10 WaitBetweenSpawns 0 WaitBeforeStarting 5 TotalCurrency 50 TFBot { Class Soldier Skill Normal } } WaveSpawn //WAVE 2: Commando Soldier (second) { Name "2-2" WaitForAllDead "2-1" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 7 TotalCurrency 10 TFBot { Template T_TFBot_Commando } } WaveSpawn //WAVE 2: The Squad (second) { Name "2-2" WaitForAllDead "2-1" Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 10 WaitBetweenSpawns 0 WaitBeforeStarting 6 TotalCurrency 50 TFBot { Class Soldier Skill Normal } } WaveSpawn //WAVE 2: First batch of Spys { Name "2Spys-1" WaitForAllDead "2-1" Where spawnbot_mission_spy TotalCount 10 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Class Spy Skill Normal } } WaveSpawn //WAVE 2-3: Commando Soldiers with Medics { Name "2-3" WaitForAllDead "2-2" Where spawnbot TotalCount 21 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 130 Squad { TFBot { Template T_TFBot_Commando } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn //WAVE 2-4: Crit Bat Scouts { Name "2-4" WaitForAllDead "2-2" Where spawnbot TotalCount 24 MaxActive 8 SpawnCount 8 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 75 TFBot { Template T_TFBot_Scout_Melee Attributes AlwaysCrit ClassIcon scout_bat } } WaveSpawn //WAVE 2: Second Batch of Spys { Name "2Spys-2" WaitForAllSpawned "2-4" WaitForAllDead "2Spys-1" Where spawnbot_mission_spy TotalCount 10 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Class Spy Skill Hard } } WaveSpawn //WAVE 2-5: Squads of Banner Soldiers, Demos, and Medics { Name "2-5" WaitForAllDead "2-4" Where spawnbot TotalCount 30 MaxActive 9 SpawnCount 6 WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Class Demoman Skill Normal } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn //WAVE 2-3: Tank { Name "2-3" WaitForAllDead "2-2" TotalCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 20000 Speed 75 Name "Normal Tank" StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn //WAVE 2-5: Giant Rapid Fire Demo + Giant Medic { Name "2-5" WaitForAllDead "2-4" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 16 WaitBetweenSpawns 48 TotalCurrency 125 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBOt { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn //WAVE 2: Third Batch of Spys { Name "2Spys-3" WaitForAllSpawned "2-3" WaitForAllDead "2Spys-2" Where spawnbot_mission_spy TotalCount 10 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Class Spy Skill Expert } } } //WAVE 3 //Currency 800 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 3a-1: Giant Burst Fire Soldiers { Name "3a-1" Where spawnbot_giant RandomSpawn 1 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } WaveSpawn //WAVE 3a-2: Heavy Stream { Name "3a-2" Where spawnbot TotalCount 16 MaxActive 16 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 1 TotalCurrency 80 TFBot { Class Heavyweapons Skill Normal } } WaveSpawn //WAVE 3s-Medics: Quick-Fix Medics that spawn throughout the wave - maybe cut, I found out why it wasn't working but idk if it still should be in { Name "3s-Medics" WaitForAllDead "3a-1" WaitForAllSpawned "3a-2" Where spawnbot TotalCount 30 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Medic_BigHeal } } WaveSpawn //WAVE 3a-3: Giant Demomen 1 { Name "3a-3" WaitForAllDead "3a-2" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Demo_Burst } } WaveSpawn //WAVE 3a-4: Giant Demomen 2 { Name "3a-4" WaitForAllDead "3a-1" WaitForAllSpawned "3a-3" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 15 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Demo_Burst } } WaveSpawn //WAVE 3a-4: Bigger Heavy Stream { Name "3a-4" WaitForAllDead "3a-2" Where spawnbot TotalCount 32 MaxActive 12 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 128 TFBot { Class Heavyweapons Skill Normal } } WaveSpawn //WAVE 3b-1: Scout Swarms { Name "3b-1" WaitForAllDead "3a-4" Where spawnbot TotalCount 48 MaxActive 10 SpawnCount 6 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 192 TFBot { Class Scout Skill Hard } } WaveSpawn //WAVE 3b-2: Pyros { Name "3b-2" WaitForAllDead "3a-4" Where spawnbot TotalCount 12 MaxActive 6 SpawnCount 3 WaitBeforeStarting 26 WaitBetweenSpawns 12 TotalCurrency 50 TFBot { Class Pyro Skill Hard Attributes AlwaysCrit Attributes AlwaysFireWeapon } } WaveSpawn //WAVE 3b-1: Giant Burst Soldiers { Name "3b-1" WaitForAllDead "3a-4" Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } WaveSpawn //WAVE 3b-1: Giant Bonk Scouts { Name "3b-1" WaitForAllDead "3a-4" Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 40 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Bonk Name "Giant Bonk Scout" } } WaveSpawn //WAVE 3b-3: Giant Bonk Scouts Rush { Name "3b-3" WaitForAllSpawned "3b-1" WaitForAllDead "3b-2" Where spawnbot_giant RandomSpawn 1 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Bonk Name "Giant Bonk Scout" } } } //WAVE 4 //Currency 900 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 4a: Commando Soldiers { Name "4a" Where spawnbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 0 TotalCurrency 25 TFBot { Template T_TFBot_Commando } } WaveSpawn //WAVE 4a: Commando Soldiers, later { Name "4a" Where spawnbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 20 TotalCurrency 25 TFBot { Template T_TFBot_Commando } } WaveSpawn //WAVE 4a: Shortstop Scooters { Name "4a" Where spawnbot TotalCount 12 MaxActive 6 SpawnCount 3 WaitBetweenSpawns 18 WaitBeforeStarting 0 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Shortstop } } WaveSpawn //WAVE 4a: Samurai Demos { Name "4a" Where spawnbot TotalCount 6 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 12 WaitBeforeStarting 15 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Samurai } } WaveSpawn //WAVE 4a: Bowmen Spammers { Name "4a" Where spawnbot_mission_sniper TotalCount 8 MaxActive 4 SpawnCount 2 RandomSpawn 1 WaitBetweenSpawns 15 WaitBeforeStarting 0 TotalCurrency 75 TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi } } WaveSpawn //WAVE 4a: Samurai Demos, more { Name "4a" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBetweenSpawns 0 WaitBeforeStarting 55 TotalCurrency 25 TFBot { Template T_TFBot_Demoman_Samurai } } WaveSpawn //WAVE 4a: Fist of Steel Heavys { Name "4a" Where spawnbot TotalCount 10 MaxActive 5 SpawnCount 5 WaitBetweenSpawns 30 WaitBeforeStarting 5 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn //WAVE 4b: Major Crits Boss { Name "4b" WaitForAllDead "4a" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 10 TotalCurrency 150 TFBot { Class Soldier Name "Major Crits" ClassIcon soldier_barrage Health 32000 Scale 1.7 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 26.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 } CharacterAttributes { "health regen" 40 "move speed bonus" 0.5 "damage bonus" 1.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 "Projectile speed increased" 0.35 } } } WaveSpawn //WAVE 4s-Demos: Support Demo Squads. Spawns throughout the second half of the wave { Name "4s-Demos" WaitForAllDead "4a" Where spawnbot TotalCount 40 MaxActive 6 SpawnCount 6 WaitBetweenSpawns 18 WaitBeforeStarting 60 TotalCurrency 100 Support 1 TFBot { Class Demoman Skill Normal } } WaveSpawn //WAVE 4c-1: Giant Black Box Soldiers { Name "4c-1" WaitForAllDead "4b" Where spawnbot_giant RandomSpawn 1 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBetweenSpawns 18 WaitBeforeStarting 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun } } WaveSpawn //WAVE 4c-2: Giant Blast Soldiers { Name "4c-2" WaitForAllSpawned "4c-1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 14 WaitBeforeStarting 0 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_RocketPush } } WaveSpawn //WAVE 4c-3: Giant Rapid Fire Soldiers with Kritzkrieg Medics { Name "4c-3" WaitForAllDead "4c-1" WaitForAllSpawned "4c-2" Where spawnbot_giant RandomSpawn 1 TotalCount 32 MaxActive 8 SpawnCount 8 WaitBetweenSpawns 30 WaitBeforeStarting 15 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn //WAVE 4s-Bonk: Bonk Scouts, will attempt to cap while the players are fighting { Name "4s-Bonk" WaitForAllDead "4c-1" Where spawnbot TotalCount 25 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 8 WaitBeforeStarting 0 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_Bonk } } } //WAVE 5 //Currency 1100 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 5a-1: Tanks. Lots of them. { Name "5a-1" TotalCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 30 TotalCurrency 400 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 15000 Speed 100 Name "Fast Tank" StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn //WAVE 5a-2: Swarm of Crit Demoknights { Name "5a-2" Where spawnbot TotalCount 48 MaxActive 16 SpawnCount 8 WaitBeforeStarting 35 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } WaveSpawn //WAVE 5a-1: Squads. { Name "5a-1" WaitForAllDead "5a-2" Where spawnbot TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Medic } } } WaveSpawn //WAVE 5a-1: FAN Scouts { Name "5a-1" WaitForAllDead "5a-2" Where spawnbot TotalCount 30 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 11 TotalCurrency 75 TFBot { Template T_TFBot_Scout_FAN } } WaveSpawn //WAVE 5b-1: Tanks. More of them. { Name "5b-1" WaitForAllDead "5a-1" TotalCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 45 TotalCurrency 250 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 40000 Speed 50 Name "Slow Tank" StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn //WAVE 5b-2: A Huge Wave of Backup Soldiers is Approaching! { Name "5b-2" WaitForAllDead "5a-1" Where spawnbot TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 30 WaitBetweenSpawns 2 TotalCurrency 75 TFBot { Template T_TFBot_Soldier_Extended_Battalion } } WaveSpawn //WAVE 5b-3: More damage sponges wooo { Name "5b-3" WaitForAllDead "5b-2" Where spawnbot TotalCount 25 MaxActive 15 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_IronFist_Airblast } } WaveSpawn //WAVE 5b-4: Last Push! { Name "5b-4" WaitForAllDead "5b-3" Where spawnbot TotalCount 16 MaxActive 16 SpawnCount 16 WaitBeforeStarting 6 WaitBetweenSpawns 0 TotalCurrency 25 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } } //WAVE 6 //Currency 900 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 6a-1: Deagle Scout Rush { Name "6a-1" Where spawnbot_giant TotalCount 5 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pistol_Scout Attributes AlwaysCrit } } WaveSpawn //WAVE 6a-2: Pub Stompers { Name "6a-2" Where spawnbot TotalCount 32 MaxActive 14 SpawnCount 8 WaitBeforeStarting 5 WaitBetweenSpawns 14 TotalCurrency 75 Squad { TFBot { Class Soldier Skill Expert Item "The Original" } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn //WAVE 6a-3: Giant HEAVYWEAPONS GUY { Name "6a-3" Where spawnbot_giant WaitForAllDead "6a-1" TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 40 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "The Tungsten Toque" } } WaveSpawn //WAVE 6a-3: Machine Pistol Scouts { Name "6a-3" WaitForAllDead "6a-2" Where spawnbot TotalCount 35 MaxActive 18 SpawnCount 7 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 75 TFBot { Class Scout Skill Expert Name "Machine Pistol Scout" Item "Pretty Boy's Pocket Pistol" Item "Brimmed Bootlegger" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Pretty Boy's Pocket Pistol" "clip size bonus" 2.0 "fire rate bonus" 0.75 "faster reload rate" 1.4 } } } WaveSpawn //WAVE 6b-1: Pyro Spam, so now I'm perpetually on fire { Name "6b-1" WaitForAllDead "6a-3" Where spawnbot TotalCount 64 MaxActive 16 SpawnCount 8 WaitBeforeStarting 10 WaitBetweenSpawns 7 TotalCurrency 125 TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } } WaveSpawn //WAVE 6b-1: Giant Flare Pyros with ACTUAL FLARE GUNS? WHAT? { Name "6b-1" WaitForAllDead "6a-3" Where spawnbot_giant RandomSpawn 1 TotalCount 8 MaxActive 4 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 40 TotalCurrency 150 TFBot { Class Pyro Name "Giant Flare Pyro" ClassIcon pyro_flare_giant Skill Expert Health 3000 Item "The Flare Gun" Item "Old Guadalajara" WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } WaveSpawn //WAVE 6s-BowRush: An added amount of bowmen, same behavior { Name "6s-BowRush" WaitForAllDead "6b-1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 40 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 Support 1 RandomChoice { TFBot { Template T_TFBot_Sniper_Huntsman Tag nav_prefer_flank_left BehaviorModifiers Push } TFBot { Template T_TFBot_Sniper_Huntsman Tag nav_prefer_flank_right BehaviorModifiers Push } } } WaveSpawn //WAVE 6b-2: Giant Crit Pyros paired with Giant Medic and Conch Soldiers { Name "6b-2" WaitForAllDead "6b-1" Where spawnbot_giant TotalCount 15 MaxActive 7 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 25 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysCrit Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Giant_Medic } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } } } WaveSpawn //WAVE 6s-Bowmen: Bowmen that spawn throughout, they flank and yeah { Name "6s-Bowmen" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 40 MaxActive 2 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 15 TotalCurrency 75 Support 1 RandomChoice { TFBot { Template T_TFBot_Sniper_Huntsman Tag nav_prefer_flank_left BehaviorModifiers Push } TFBot { Template T_TFBot_Sniper_Huntsman Tag nav_prefer_flank_right BehaviorModifiers Push } } } } //WAVE 7 //Currency 1500 (rn) /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn //WAVE 7a-1: Random assortment of Giant Banner Soldiers. Buff Banner being more common since it's the only one that's actually counterable. { Name "7a-1" Where spawnbot_giant RandomSpawn 1 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 37 TotalCurrency 150 RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion } } } WaveSpawn //WAVE 7a-1: Some Commando Soldiers { Name "7a-1" Where spawnbot TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 75 TFBot { Template T_TFBot_Commando } } WaveSpawn //WAVE 7a-1: Burst Fire Demomen { Name "7a-1" Where spawnbot TotalCount 48 MaxActive 8 SpawnCount 6 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn //WAVE 7a-2: First Tank, Slightly Armored { Name "7a-2" WaitForAllSpawned "7a-1" TotalCount 1 WaitBeforeStarting 11 WaitBetweenSpawns 0 TotalCurrency 75 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 30000 Speed 75 Name "Slightly Armored Tank" StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn //WAVE 7a-2: Spy among us { Name "7a-2" WaitForAllDead "7a-1" Where spawnbot_mission_spy TotalCount 16 MaxActive 16 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 1 TotalCurrency 50 TFBot { Class Spy Skill Hard } } WaveSpawn //WAVE 7b-1: More Tanks { Name "7b-1" WaitForAllDead "7a-2" TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 150 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 20000 Speed 75 Name "Normal Tank" StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn //WAVE 7b-2: Giant Demos, no uber meds { Name "7b-2" WaitForAllSpawned "7b-1" Where spawnbot_giant TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Demoman } } WaveSpawn //WAVE 7b-3: Giant Demos, uber meds { Name "7b-3" WaitForAllDead "7b-2" Where spawnbot_giant RandomSpawn 1 TotalCount 24 MaxActive 8 SpawnCount 8 WaitBeforeStarting 15 WaitBetweenSpawns 30 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn //WAVE 7b-4: Throw in another tank. For good measure. { Name "7b-4" WaitForAllDead "7b-3" TotalCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 75 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 20000 Speed 100 Name "Armored Fast Tank" StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn //WAVE 7b-4: Giant Heavies, with Giant Regen Medics { Name "7b-4" WaitForAllDead "7b-3" Where spawnbot_giant TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 20 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons //Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn //WAVE 7s-Scouts: Scouts that take flank routes to backcap { Name "7s-Scouts" WaitForAllDead "7a-2" Where spawnbot TotalCount 40 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 80 Support 1 RandomChoice { TFBot { Class Scout Skill Easy Tag nav_prefer_flank_left } TFBot { Class Scout Skill Easy Tag nav_prefer_flank_right } } } WaveSpawn //WAVE 7s-Demos: Steady stream of demomen, main force of the gauntlet { Name "7s-Demos" WaitForAllDead "7a-2" Where spawnbot TotalCount 60 MaxActive 6 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 140 Support 1 RandomChoice { TFBot { Class Demoman Skill Easy } TFBot { Class Demoman Skill Hard } } } WaveSpawn //WAVE 7s-Heavies: Small stream of heavies, adds support to the demos { Name "7s-Heavies" WaitForAllDead "7a-2" Where spawnbot TotalCount 40 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 9 TotalCurrency 80 Support 1 TFBot { Class Heavyweapons Skill Normal } } WaveSpawn //WAVE 7c: Giant Concherer Boss Fight { Name "7c" WaitForAllDead "7b-4" Where spawnbot TotalCount 1 SpawnCount 1 WaitBeforeStarting 10 TotalCurrency 100 TFBot { Template T_TFBot_Chief_Soldier_Extended_Concheror Health 40000 } } WaveSpawn //WAVE 7c: FINAL TANK { Name "7c" WaitForAllDead "7b-4" TotalCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 TotalCurrency 75 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 40000 Speed 50 Name "Slow Tank" Skin 1 StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }