// Base Template #base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop #base robot_click.pop #base robot_click_giant.pop #base robot_sig_randomguy.pop #base robot_hole_sigsegv.pop #base robot_bro.pop #base robot_hole.pop WaveSchedule { StartingCurrency 1100 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 6 NoCritPumpkin 1 //////////////////////////////////////////// //Bot Spawn Location(Player View) //spawnbot : front //spawnbot_flank_left : right //spawnbot_giant : same to spawnbot //spawnbot_all : spawn evrywhere //spawnbot_flank_right : left // //Tank Path //"boss_path_1_left" //"boss_path_1" //"boss_path_wbomb" //////////////////////////////////////////// ////////////// // ASSETS ////////////// Templates { T_TFBot_Medic_SuperHeal { Class Medic Name "Super Heal Medic" Skill expert Item "The Quick-Fix" Name "Big Heal Medic" Item "Otolaryngologist's Mirror" ItemAttributes { ItemName "The Quick-Fix" "ubercharge rate bonus" 0.1 "uber duration bonus" -4 } CharacterAttributes { "heal rate bonus" 51 } } T_TFBot_Sniper_RailGun { Class Sniper Skill expert ClassIcon sniper Name "Rail Gun Sniper" Health 650 Scale 1.2 Item "Upgradeable TF_WEAPON_SNIPERRIFLE" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SNIPERRIFLE" "damage bonus" 26 "Reload time increased" 3 "fire rate penalty" 3 "sniper fires tracer" 1 } CharacterAttributes { "move speed bonus" 0.9 "hand scale" 1.2 } } } ///////////// // MISSIONS ///////////// // Sentry Buster (Appear 1~5 waves) Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 5 InitialCooldown 30 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster Tag bot_sentrybuster } } // Wave 1 // Sniper Mission { Objective Sniper Where spawnbot BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } // Wave 2 + 3 // Slow Sydney Sniper Mission { Objective Sniper Where spawnbot BeginAtWave 2 RunForThisManyWaves 2 InitialCooldown 60 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Slow } } // Wave 2 + 3 // Engi Mission { Objective Engineer Where spawnbot BeginAtWave 2 RunForThisManyWaves 2 InitialCooldown 60 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TelePortWhere spawnbot TelePortWhere spawnbot_flank } } // Wave 4 // Ninja Spy Mission { Objective Spy Where spawnbot BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Spy_Ninja } } // Wave 5 // Death Ray Sniper Mission { Objective Sniper Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 40 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Deathray } } // Wave 6 // Engi Mission { Objective Engineer Where spawnbot BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 50 DesiredCount 3 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TelePortWhere spawnbot TelePortWhere spawnbot_flank } } // Wave 6 // Hyper Spy Mission { Objective Spy Where spawnbot BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 35 DesiredCount 3 TFBot { Template T_TFBot_Spy_Hyper } } ////////// // WAVES ////////// /////////////////////////////////////////////////////////////////////// // Wave 1 // Starting Currency : 1100 // Total (in this wave) : 850 + 100 (bonus) // Total (when wave ends) : 1100 + 850 + 100 (bonus) = 2050 /////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // Main 1 // Giant Original Soldier // Time: 6*14 = 84Sec WaveSpawn { Where spawnbot_giant Name Wave1_Main1 TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 14 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Soldier_Crit } } // ScorchShot Pyro // Time: 10*10 = 100Sec WaveSpawn { Where spawnbot Name Wave1_Main1 TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_ScorchShot_FastShot } } // Heavyweapons // Time: 10*10+8 = 108Sec WaveSpawn { Where spawnbot_flank_right Name Wave1_Main1 TotalCount 20 MaxActive 4 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Class Heavyweapons Skill Hard } } // Main 2 // Tank WaveSpawn { Where spawnbot WaitForAllDead Wave1_Main1 Name Wave1_Tank1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 150 Tank { Health 20000 Name Tank Speed 75 StartingPathTrackNode "boss_path_1_left" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Armored Scout + Shiv Sniper // Time: infinite WaveSpawn { Where spawnbot WaitForAllDead Wave1_Main1 Name Wave1_Main2 TotalCount 16 MaxActive 18 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 7 TotalCurrency 100 Support 1 Squad { TFBot { Template T_TFBot_Scout_Armored } TFBot { Template T_TFBot_Sniper_Shiv } TFBot { Template T_TFBot_Sniper_Shiv } TFBot { Template T_TFBot_Sniper_Shiv } } } } ////////// // WAVES ////////// /////////////////////////////////////////////////////////////////////// // Wave 2 // Starting Currency : 1950 // Total (in this wave) : 950 + 100 (bonus) // Total (when wave ends) : 1950 + 950 + 200 (bonus) = 3100 /////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // Main 1 // Steel Gauntlet Heavy + Uber Medic // Time: 5*15 = 75sec WaveSpawn { Where spawnbot_flank_left Name Wave2_Main1 TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } } } // Dragon Pyro // Time: 8*12 = 96Sec WaveSpawn { Where spawnbot Name Wave2_Main1 TotalCount 24 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 200 TFBot { Template T_TFBot_Pyro_Dragon } } // Backscatter Scout // Time: 4*10 = 40Sec WaveSpawn { Where spawnbot Name Wave2_Main1 TotalCount 40 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Backscatter } } // Main 2 // Blast Demo + Nomal Tanker Soldier // Time: 7*5+6 = 41Sec WaveSpawn { Where spawnbot WaitForAllDead Wave2_Main1 Name Wave2_Main2 TotalCount 28 MaxActive 8 SpawnCount 4 WaitBeforeStarting 6 WaitBetweenSpawns 5 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Demo_Blast } TFBot { Template T_TFBot_Soldier_Tanker_Normal } } } // SMG Boost Sniper // Time: 9*5+6 = 46Sec WaveSpawn { Where spawnbot WaitForAllDead Wave2_Main1 Name Wave2_Main2 TotalCount 36 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Sniper_SMG_Critboost } } // Giant Blaster Scout // Time: 6*10+10 = 70Sec WaveSpawn { Where spawnbot WaitForAllDead Wave2_Main1 Name Wave2_Main2 TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 250 TFBot { Template T_TFBot_Giant_Scout_Blaster_Pusher } } } ////////// // WAVES ////////// /////////////////////////////////////////////////////////////////////// // Wave 3 // Starting Currency : 2900 // Total (in this wave) : 1000 + 100 (bonus) // Total (when wave ends) : 2900 + 1000 + 300 (bonus) = 4200 /////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // Main 1 // Giant Burst Scatter Scout + Uber Medic // Time: 6*17 = 102Sec WaveSpawn { Where spawnbot_giant Name Wave3_Main1 TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 17 TotalCurrency 250 Squad { TFBot { Template T_TFBot_Giant_Scout_Backscatter } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // Crit Soldier // Time: 4*12 = 48Sec WaveSpawn { Where spawnbot Name Wave3_Main1 TotalCount 36 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 200 TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } } // Pusher Pyro // Time: 16*4+8 = 72Sec WaveSpawn { Where spawnbot_flank_left Name Wave3_Main1 TotalCount 16 MaxActive 4 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 4 TotalCurrency 150 TFBot { Template T_TFBot_Pyro_Pusher_Airblast } } // Main 2 // Direct Hit Soldier // Time: 8*12+8 = 48Sec WaveSpawn { Where spawnbot WaitForAllDead Wave3_Main1 Name Wave3_main2 TotalCount 24 MaxActive 9 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 5 TotalCurrency 200 TFBot { Template T_TFBot_Soldier_Direct_Normal } } // Tank WaveSpawn { Where spawnbot WaitForAllDead Wave3_Main1 Name Wave3_Tank1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Health 22500 Name Tank Speed 75 StartingPathTrackNode "boss_path_1_left" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Gasjockey // Time: 8*12+10 = 106Sec WaveSpawn { Where spawnbot_all WaitForAllDead Wave3_Main1 Name Wave3_Main2 TotalCount 12 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Gasjockey } } } ////////// // WAVES ////////// /////////////////////////////////////////////////////////////////////// // Wave 4 // Starting Currency : 3900 // Total (in this wave) : 1050 + 100 (bonus) // Total (when wave ends) : 3900 + 1050 + 400 (bonus) = 5350 /////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // Main 1 // Chief Tavish // Time: IDK WaveSpawn { Where spawnbot_giant Name Wave4_Main1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 10 TotalCurrency 300 TFBot { Class Demoman Skill Expert WeaponRestrictions MeleeOnly Name "Chief Tavish" ClassIcon demoknight_giant Health 35000 Scale 1.9 Item "Prince Tavish's Crown" Item "The Chargin' Targe" Item "The Eyelander" Item "Ali Baba's Wee Booties" Attributes MiniBoss Attributes UseBossHealthBar ItemAttributes { ItemName "The Eyelander" "damage bonus" 5 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "health regen" 150 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } } // Giant Vampire Medic // Time: Infinite WaveSpawn { Where spawnbot_all Name Wave4_support1 TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 6 Support 1 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Medic_Vampire ClassIcon medic_syringe Attributes AlwaysCrit } } // Blaster Pusher Scout + Bowman Rapid Fire // Time: 10*7 = 70Sec WaveSpawn { Where spawnbot Name Wave4_Main1 TotalCount 60 MaxActive 18 SpawnCount 6 WaitBeforeStarting 3 WaitBetweenSpawns 10 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Normal } TFBot { Template T_TFBot_Scout_Blaster_Pusher } } } // Main 2 // Penetration Huntsman Spammer + Extended Conch Steel Gauntlet // Time: 8*13 = 104Sec WaveSpawn { Where spawnbot WaitForAllDead Wave4_Main1 Name Wave4_Main2 TotalCount 26 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 250 Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Penetration } TFBot { Template T_TFBot_Heavyweapons_Fist_Conch } } } // Power Shot Demo // Time: 7*11 = 77Sec WaveSpawn { Where spawnbot_flank_left WaitForAllDead Wave4_Main1 Name Wave4_Main2 TotalCount 33 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 250 TFBot { Template T_TFBot_Demo_PowerShot } } } ////////// // WAVES ////////// /////////////////////////////////////////////////////////////////////// // Wave 5 // Starting Currency : 4950 // Total (in this wave) : 1150 + 100 (bonus) // Total (when wave ends) : 4950 + 1150 + 500 (bonus) = 6600 /////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // Main 1 // Goldgun Heavy + Extended Shield Medic // Time: 6*9 = 54Sec WaveSpawn { Where spawnbot Name Wave5_Main1 TotalCount 66 MaxActive 18 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Heavy_Brassbeast } TFBot { Template T_TFBot_Medic_Shield_Extended } } } // Tank 1 WaveSpawn { Where spawnbot Name Wave5_Tank1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Health 35000 Name Tank Speed 75 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Moon man // Time: 6*15 = 75Sec WaveSpawn { Where spawnbot_flank_left Name Wave5_Main1 TotalCount 30 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 200 TFBot { Template T_TFBot_Pyro_Future_Taunt } } // Main 2 // Tank 2 WaveSpawn { Where spawnbot WaitForAllDead Wave5_Tank1 Name Wave5_Tank2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Health 35000 Name Tank Speed 75 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Hyper Burst Fire Soldier + Rapid Loch Demo // Time: 6*9+10 = 64Sec WaveSpawn { Where spawnbot WaitForAllDead Wave5_Tank1 Name Wave5_Main2 TotalCount 54 MaxActive 18 SpawnCount 6 WaitBeforeStarting 20 WaitBetweenSpawns 6 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Demo_Loch_Spammer } TFBot { Template T_TFBot_Soldier_Burst_Expert } } } // Main 3 // Giant Blast Demo + Quick Uber Medic // Time: 10*4+12 = 52Sec WaveSpawn { Where spawnbot_giant WaitForAllDead Wave5_tank2 Name Wave5_Main3 TotalCount 36 MaxActive 12 SpawnCount 6 WaitBeforeStarting 12 WaitBetweenSpawns 10 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst_Bomber } TFBot { Template T_TFBot_Medic_Quickuber_Faster } TFBot { Template T_TFBot_Medic_Quickuber_Faster } TFBot { Template T_TFBot_Medic_Quickuber_Faster } TFBot { Template T_TFBot_Medic_Quickuber_Faster } TFBot { Template T_TFBot_Medic_Quickuber_Faster } } } // Heal-on-Hit Dragon Pyro // Time: 10*4+10 = 50Sec WaveSpawn { Where spawnbot WaitForAllDead Wave5_tank2 Name Wave5_Main3 TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 150 TFBot { Template T_TFBot_Pyro_Dragon_Heal } } } ////////// // WAVES ////////// /////////////////////////////////////////////////////////////////////// // Wave 6 // Starting Currency : 6100 // Total (in this wave) : 1400 + 100 (bonus) // Total (when wave ends) : 6100 + 1400 + 600 (bonus) = 8100 /////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // Main 1 // Hyper Demoknight // Time: Infinite WaveSpawn { Where spawnbot_all Name Wave6_Support1 TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 8 Support 1 TotalCurrency 300 TFBot { Template T_TFBot_Demoknight_Hyper } } // Armored Hyper Scout + Giant Armored Uber Medic // Time: 20*5+15 = 115Sec WaveSpawn { Where spawnbot Name Wave6_Main1 TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 20 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Scout_Hyper_Armored Attributes UseBossHealthBar Health 8500 } TFBot { Template T_TFBot_Giant_Medic_Uber_Armored Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 2 } } } } // Main 2 // Tank 2 WaveSpawn { Where spawnbot WaitForAllDead Wave6_Main1 Name Wave6_Tank1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 300 Tank { Health 52500 Name Tank Speed 75 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Penetrator Bowman Rapid Fire + Armored Heavy // Time: 6*16+15 = 111Sec WaveSpawn { Where spawnbot_all WaitForAllDead Wave6_Main1 Name Wave6_Main2 TotalCount 48 MaxActive 9 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 6 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Penetration } TFBot { Template T_TFBot_Heavy_Armored Attributes AlwaysCrit } } } // Main 3 // Captain Punch WaveSpawn { Where spawnbot_giant WaitForAllDead Wave6_Tank1 Name Wave6_Main3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Chief_Gauntlet } } } }