#base robot_standard.pop #base robot_giant.pop #base robot_victor_2.pop WaveSchedule { StartingCurrency 400 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom no Templates { T_TFBot_Giant_Soldier_BurstFire { Class Soldier ClassIcon Soldier_burstfire Name "Giant Burst Fire Soldier" Health 4200 Skill Expert Attributes HoldFireUntilFullReload Attributes MiniBoss 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 } 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 } } T_TFBot_Chief_Heavy_Deflector { Class HeavyWeapons ClassIcon heavy_giant Name "Giant Weapons Guy" Health 30000 Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Scale 1.8 Item "The Purity Fist" Item "Iron Curtain" ItemAttributes { ItemName "Iron Curtain" "damage bonus" 1.6 "fire rate bonus" 0.85 } CharacterAttributes { "move speed bonus" 0.4 "health regen" 75 "override footstep sound set" 2 "airblast vulnerability multiplier" 0.2 "damage force reduction" 0.45 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } } Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 3 InitialCooldown 45 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective DestroySentries Where spawnbot BeginAtWave 4 RunForThisManyWaves 3 InitialCooldown 30 CooldownTime 20 DesiredCount 2 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper Where spawnbot_lower BeginAtWave 2 RunForThisManyWaves 2 InitialCooldown 90 CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where spawnbot_lower BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 90 CooldownTime 60 DesiredCount 4 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 2 InitialCooldown 60 CooldownTime 90 DesiredCount 4 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_lower BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 90 CooldownTime 60 DesiredCount 2 TFBot { ClassIcon soldier_mangler Class Soldier Name "Mangler Soldier" Skill Expert Item "the cow mangler 5000" ItemAttributes { ItemName "the cow mangler 5000" "faster reload rate" 0 } } } //////////============================================================================================================================ // WAVE 1[$800] //////////============================================================================================================================ Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } // First Subwave WaveSpawn { Name "w1-a1" TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 Where spawnbot_left TFBot { Template T_TFBot_Giant_Demo_RapidFire Name "Giant Demo" Tag flank_left } } WaveSpawn { Name "w1-a1" TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 Where spawnbot_right TFBot { Template T_TFBot_Giant_Demo_RapidFire Name "Giant Demo" Tag flank_right } } WaveSpawn { Name "w1-a1" TotalCurrency 100 TotalCount 18 MaxActive 6 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_HeavyWeapons_HeavyWeight_Champ } } WaveSpawn { Name "w1-a1" TotalCurrency 100 TotalCount 12 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Pyro } } // Second subwave WaveSpawn { Name "w1-b1" WaitForAllDead w1-a1 TotalCurrency 100 TotalCount 4 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 8 WaitBeforeStarting 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier } } } WaveSpawn { Name "w1-b1" WaitForAllDead w1-a1 TotalCurrency 100 TotalCount 20 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Class Scout Skill Normal } } WaveSpawn { Name "w1-b1" WaitForAllDead w1-a1 TotalCurrency 100 TotalCount 12 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Class Soldier Skill Normal } } // Last Subwave WaveSpawn { Name "w1-c1" WaitForAllSpawned w1-b1 TotalCurrency 100 TotalCount 12 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 10 WaitBeforeStarting 6 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } } } WaveSpawn { Name "w1-c1" WaitForAllDead w1-b1 TotalCurrency 0 TotalCount 12 MaxActive 6 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Scout_Melee } } } //////////============================================================================================================================ // WAVE 2[$850] //////////============================================================================================================================ Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //Giant Scouts WaveSpawn { Name "w2-scout" TotalCurrency 100 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast } } //First Subwave WaveSpawn { Name "w2-giant1" TotalCurrency 150 TotalCount 6 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 9 WaitBeforeStarting 4 Where spawnbot Squad { TFBot { Template V_TFBot_Giant_Soldier_Mangler } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { Name "w2-a1" TotalCurrency 100 TotalCount 12 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot Squad { TFBot { Template V_TFBot_Soldier_Mangler } TFBot { Template V_TFBot_Heavy_Brass } } } WaveSpawn { Name "w2-a1" TotalCurrency 50 TotalCount 6 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Pyro_Phlog } } WaveSpawn { Name "w2-giant2" WaitForAllDead w2-giant1 TotalCurrency 250 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 15 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Giant_HeavyWeapons } } //Support WaveSpawn { Name "w2-support" WaitForAllDead w2-a1 TotalCurrency 100 TotalCount 25 MaxActive 10 SpawnCount 3 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot Support 1 TFBot { Template V_TFBot_Scout_Milk } } } //////////============================================================================================================================ // WAVE 3[$800] //////////============================================================================================================================ Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { Name "w3-a1" TotalCurrency 300 TotalCount 1 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } RandomChoice { Tank { Name "tankboss" Health 19000 Speed 75 StartingPathTrackNode boss_path_1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_relay Action Trigger } } Tank { Name "tankboss" Health 19000 Speed 85 StartingPathTrackNode boss_path2_1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_relay Action Trigger } } } } WaveSpawn { Name "w3-giant" TotalCurrency 150 TotalCount 6 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 15 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { Name "w3-a1" TotalCurrency 100 TotalCount 8 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 1 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Soldier_Mangler_Charged } } WaveSpawn { Name "w3-a1" TotalCurrency 100 TotalCount 8 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 1 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Heavy } } //Support WaveSpawn { Name "w3-support" WaitForAllDead w3-a1 TotalCurrency 100 TotalCount 16 MaxActive 6 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Scout_Bonk } } } //////////============================================================================================================================ // WAVE 4[$800] //////////============================================================================================================================ Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //First Subwave WaveSpawn { Name "w4-a1" TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "tankboss" Health 13000 Speed 75 StartingPathTrackNode boss_path_1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_relay Action Trigger } } } WaveSpawn { Name "w4-a1" TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2.2 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "tankboss" Health 13000 Speed 75 StartingPathTrackNode boss_path2_1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_relay Action Trigger } } } WaveSpawn { Name "w4-a1" TotalCurrency 50 TotalCount 18 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_ScorchShot } } } WaveSpawn { Name "w4-a1" TotalCurrency 50 TotalCount 12 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 5 WaitBeforeStarting 5 Where spawnbot_lower Squad { TFBot { Template V_TFBot_Scout_Crit } } } //Second Subwave WaveSpawn { Name "w4-b1" WaitForAllDead w4-a1 TotalCurrency 50 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 5 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner } } WaveSpawn { Name "w4-b1" WaitForAllDead w4-a1 TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBetweenSpawns 1 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Heavy } } //Third Subwave WaveSpawn { Name "w4-c1" WaitForAllDead w4-b1 TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 20 WaitBeforeStarting 10 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template V_TFBot_Giant_Fire_Vaccinator_Medic } } } WaveSpawn { Name "w4-c1" WaitForAllDead w4-b1 TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 20 WaitBeforeStarting 30 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template V_TFBot_Giant_Bullet_Vaccinator_Medic } } } WaveSpawn { Name "w4-c1" WaitForAllDead w4-b1 TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 20 WaitBeforeStarting 50 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template V_TFBot_Giant_Blast_Vaccinator_Medic } } } WaveSpawn { Name "w4-c1" WaitForAllDead w4-b1 TotalCurrency 33 TotalCount 12 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 1 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Pyro_Fury_Heal } } WaveSpawn { Name "w4-c1" WaitForAllDead w4-b1 TotalCurrency 33 TotalCount 12 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 1 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Scout } } WaveSpawn { Name "w4-c1" WaitForAllDead w4-b1 TotalCurrency 34 TotalCount 12 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 1 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Soldier_Hard } } } //////////============================================================================================================================ // WAVE 5[$1000] //////////============================================================================================================================ Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //first subwave WaveSpawn { Name "w5-a1" TotalCurrency 125 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 10 WaitBeforeStarting 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { Name "w5-a1" TotalCurrency 125 TotalCount 24 MaxActive 8 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot RandomChoice { TFBot { Template V_TFBot_Demoman_Hard } TFBot { Template V_TFBot_Demoman_Expert } TFBot { Template V_TFBot_Demoman_Easy } } } //gauntlets WaveSpawn { Name "w5-gauntlet" TotalCurrency 75 TotalCount 18 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot Squad { TFBot { Template T_TFBot_Heavy_IronFist_Airblast ClassIcon heavy_gauntlet_push } TFBot { Template T_TFBot_Medic_QuickUber } } } //second subwave WaveSpawn { Name "w5-b1" WaitForAllDead w5-a1 TotalCurrency 75 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Soldier_Mangler_Charged } } //2 giant heavies that spawn at once WaveSpawn { Name "w5-b1" WaitForAllDead w5-a1 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 5 Where spawnbot_left TFBot { Template V_TFBot_Giant_Heavy_HealOnKill_Fix } } WaveSpawn { Name "w5-b1" WaitForAllDead w5-a1 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 5 Where spawnbot_right TFBot { Template V_TFBot_Giant_Heavy_HealOnKill_Fix } } //crit soldiers that spawn after the gauntlets die WaveSpawn { Name "w5-b1" WaitForAllDead w5-gauntlet TotalCurrency 100 TotalCount 8 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 15 WaitBeforeStarting 10 Where spawnbot_lower TFBot { Template V_TFBot_Soldier_Crit } } //boss WaveSpawn { Name "w5-c1" WaitForAllDead w5-b1 TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 6 Where spawnbot TFBot { Template T_TFBot_Chief_Heavy_Deflector } } // boss support WaveSpawn { Name "w5-c1" WaitForAllDead w5-b1 TotalCurrency 100 TotalCount 12 MaxActive 8 SpawnCount 2 WaitBetweenSpawns 0.5 WaitBeforeStarting 5 Where spawnbot Support 1 TFBot { Template T_TFBot_HeavyWeapons_HeavyWeight_Champ } } WaveSpawn { WaitForAllDead w5-b1 DoneWarningSound "vo\mvm_final_wave_start02.mp3" WaitBeforeStarting 0 } } //////////============================================================================================================================ // WAVE 6[$1200] //////////============================================================================================================================ Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //first subwave WaveSpawn { Name "w6-a1" TotalCurrency 400 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 30 WaitBeforeStarting 30 Where spawnbot TFBot { Template V_TFBot_Giant_Soldier_Mangler_Spammer ClassIcon soldier_mangler_spammer } } WaveSpawn { Name "w6-a1" TotalCurrency 25 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { Name "w6-a1" TotalCurrency 25 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Heavy_Deflector } } WaveSpawn { Name "w6-a1" TotalCurrency 25 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Demoman_Expert } } WaveSpawn { Name "w6-a1" TotalCurrency 25 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Heavy_Deflector } } WaveSpawn { Name "w6-a1" TotalCurrency 25 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Soldier_Burst } } WaveSpawn { Name "w6-a1" TotalCurrency 25 TotalCount 8 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template V_TFBot_Pyro_Phlog } } //second subwave WaveSpawn { Name "w6-b1" WaitForAllDead w6-a1 TotalCurrency 150 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 10 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit } } WaveSpawn { Name "w6-b1" WaitForAllDead w6-a1 TotalCurrency 50 TotalCount 9 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name "w6-b1" WaitForAllDead w6-a1 TotalCurrency 50 TotalCount 9 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 0.5 WaitBeforeStarting 0 Where spawnbot TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } //last tank WaveSpawn { Name "w6-c1" WaitForAllDead w6-b1 TotalCurrency 300 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "tankboss" Health 40000 Speed 77 StartingPathTrackNode boss_path_1 Skin 1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_relay Action Trigger } } } WaveSpawn { Name "w6-support" WaitForAllDead w6-b1 TotalCount 20 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 1 WaitBeforeStarting 1 Where spawnbot_lower Support 1 TFBot { Template V_TFBot_Scout_Crit } } } }