// mvm_rottenburg // Mission: Runout // Version 1 // Authors: DoMess (concept, programming and testing) // Difficulty: Expert // ---------------------------------------------------------------------- // Version 1: // Released! #base robot_standard.pop #base robot_giant.pop WaveSchedule{ StartingCurrency 400 // maximum 8650 with bonuses RespawnWaveTime 6 FixedRespawnWaveTime No // this means it wont increase per wave CanBotsAttackWhileInSpawnRoom No Advanced 1 // 0: Advanced Achievements off, 1: ON // Templates Templates{ T_TFBot_Sniper_Jarate{ // valve template, but I added alwaysfireweapon and other changes since it doesnt work originally lol Class Sniper Name "Jarate Thrower" Skill Expert ClassIcon sniper_jarate Item "Jarate" //Item "Master's Yellow Belt" // doesn't appear on robot models Item "Desert Marauder" Item "The Jarmaments" BehaviorModifiers Push MaxVisionRange 1200 Attributes AlwaysFireWeapon Attributes IgnoreFlag WeaponRestrictions SecondaryOnly //CharacterAttributes{ // "effect bar recharge rate increased" 0.1 //} ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.0001 } } } // Support section for Engineer, Sniper, Spy and Sentry Buster Mission{ // Sentry Buster Objective DestroySentries InitialCooldown 30 Where spawnbot_mission_sentry_buster // change depending on map BeginAtWave 1 RunForThisManyWaves 8 CooldownTime 30 TFBot { Template T_TFBot_SentryBuster } } Mission{ // Spy Objective Spy InitialCooldown 60 Where spawnbot_mission_spy BeginAtWave 4 RunForThisManyWaves 4 CooldownTime 60 DesiredCount 2 TFBot{ Class Spy Skill Expert } } // Snipers Mission { // Huntsman Sniper (1 - 3) Objective Sniper InitialCooldown 30 Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 3 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Huntsman MaxVisionRange 2000 } } Mission { // Jarate Sniper (4 - 6) Objective Sniper InitialCooldown 25 Where spawnbot_mission_sniper BeginAtWave 4 RunForThisManyWaves 3 CooldownTime 15 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Jarate } } Mission { // Rapid-fire Huntsman Sniper (6 - 8) Objective Sniper InitialCooldown 30 Where spawnbot_mission_sniper BeginAtWave 6 // meant to be 7 but theres no supp on 6 so lets try it RunForThisManyWaves 3 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Huntsman_Spammer MaxVisionRange 2000 } } // ---------------------------------------------------------------------- // Wave 1 ($400 + $900 (this wave) + $100 (bonus) = $1400) // (done) Wave { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SPAWN] Where spawnbot Name "1A" TotalCount 60 MaxActive 7 SpawnCount 3 WaitBetweenSpawns 1 // rapid spawning TotalCurrency 300 TFBot{ Class Demoman Skill Hard } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 20 Where spawnbot Name "1_Support_Scout" TotalCount 30 MaxActive 3 SpawnCount 3 WaitBetweenSpawns 5 TotalCurrency 300 Support 1 TFBot{ Class Scout Skill Normal } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 60 Where flankers Name "1_Support_Demoknight" TotalCount 10 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 5 TotalCurrency 300 Support 1 TFBot{ Template T_TFBot_Demoman_Knight } } } // ---------------------------------------------------------------------- // Wave 2 ($1400 + $900 (this wave) + $100 (bonus) = $2400) // (done) Wave { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SPAWN] Where flankers Name "2A" TotalCount 17 MaxActive 7 SpawnCount 5 WaitBetweenSpawns 8 // can be decimal TotalCurrency 170 TFBot{ Class Heavyweapons Skill Hard } } WaveSpawn { // [SQUAD] WaitForAllDead "2A" WaitBeforeStarting 15 Where spawnbot Name "2B" TotalCount 55 MaxActive 13 SpawnCount 11 WaitBetweenSpawns 1 TotalCurrency 550 Squad{ ShouldPreserveSquad 1 // 4 demoman TFBot{ Class Demoman Skill Normal } TFBot{ Class Demoman Skill Normal } TFBot{ Class Demoman Skill Hard Attributes HoldFireUntilFullReload } TFBot{ Class Demoman Skill Expert Attributes HoldFireUntilFullReload } // 7 soldiers TFBot{ Class Soldier Skill Easy } TFBot{ Class Soldier Skill Easy } TFBot{ Class Soldier Skill Normal } TFBot{ Class Soldier Skill Normal } TFBot{ // 5th Class Soldier Skill Hard Attributes HoldFireUntilFullReload } TFBot{ Class Soldier Skill Hard Attributes HoldFireUntilFullReload } TFBot{ Class Soldier Skill Expert Attributes HoldFireUntilFullReload } } } WaveSpawn { // [SUPPORT] WaitForAllSpawned "2A" WaitBeforeStarting 15 Where flankers Name "2_Support_Scout" TotalCount 18 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 0 TotalCurrency 180 Support 1 TFBot{ Class Scout Skill Normal } } } // ---------------------------------------------------------------------- // Wave 3 ($2400 + $900 (this wave) + $100 (bonus) = $3400) // (done) Wave{ StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SPAWN] Where flankers Name "3A" TotalCount 6 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 15 // afterdeath forces only 1 to spawn? ;-; TotalCurrency 300 TFBot{ Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { // [SPAWN] WaitForAllDead "3A" Where spawnbot // NOTE: if where is incomplete, it breaks everything lol - domess Name "3B" TotalCount 6 MaxActive 3 SpawnCount 3 WaitBetweenSpawns 18 TotalCurrency 300 TFBot{ Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 5 Where spawnbot Name "3_Support_Soldier" TotalCount 60 MaxActive 3 SpawnCount 3 WaitBetweenSpawns 0 TotalCurrency 300 Support 1 TFBot{ Class Soldier Skill Normal } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 15 Where flankers Name "3_Support_ScoutMelee" //TotalCount 0 MaxActive 8 SpawnCount 6 WaitBetweenSpawns 5 TotalCurrency 0 Support 1 TFBot{ Template T_TFBot_Scout_Melee ClassIcon scout_bat } } } // ---------------------------------------------------------------------- // Wave 4 ($3400 + $400 (this wave) + $100 (bonus) = $3900) // (done) Wave{ StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn{ // [TANK] // NOTE: Change depending on map WaitBeforeStarting 10 Name "4A" TotalCount 1 //MaxActive 1 //SpawnCount 1 TotalCurrency 400 FirstSpawnOutput{ Target boss_spawn_relay Action Trigger } Tank{ Health 28000 Speed 75 Name "boss" StartingPathTrackNode "boss_path_a_10" OnKilledOutput{ Target boss_dead_relay Action Trigger } OnBombDroppedOutput{ Target boss_deploy_relay Action Trigger } } } WaveSpawn { // [SUPPORT] Where flankers Name "4_Support_ScoutMelee" //TotalCount 1 MaxActive 13 SpawnCount 1 WaitBetweenSpawns 1 TotalCurrency 0 Support 1 TFBot{ Template T_TFBot_Scout_Melee ClassIcon scout_bat Attributes AlwaysCrit } } } // ---------------------------------------------------------------------- // Wave 5 ($3900 + $1050 (this wave) + $100 (bonus) = $5050) // (done) Wave { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SPAWN] Where spawnbot Name "5A" TotalCount 4 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 45 // can be decimal TotalCurrency 400 TFBot{ Template T_TFBot_Giant_Soldier_SlowBarrage Attributes AlwaysCrit } } WaveSpawn { // [SPAWN] WaitForAllSpawned "5A" WaitBeforeStarting 10 Where flankers Name "5B" TotalCount 40 MaxActive 10 SpawnCount 4 WaitBetweenSpawns 8 // can be decimal TotalCurrency 400 TFBot{ Class Heavyweapons Skill Hard } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 10 Where spawnbot Name "5_Support_Demoman" TotalCount 20 MaxActive 3 SpawnCount 2 WaitBetweenSpawns 7 TotalCurrency 200 Support 1 TFBot{ Class Demoman Skill Expert Attributes HoldFireUntilFullReload } } WaveSpawn { // [SUPPORT] WaitForAllDead "5A" WaitBeforeStarting 5 Where flankers Name "5_Support_CritDemoknight" TotalCount 5 MaxActive 3 SpawnCount 2 WaitBetweenSpawns 5 TotalCurrency 50 Support 1 TFBot{ Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } } // ---------------------------------------------------------------------- // Wave 6 ($5050 + $1050 (this wave) + $100 (bonus) = $6200) // (done) Wave { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SPAWN] Where spawnbot Name "6A1" TotalCount 6 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 10 // can be decimal TotalCurrency 150 TFBot{ Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { // [SPAWN] WaitForAllDead "6A1" WaitBeforeStarting 2 Where spawnbot Name "6A2" TotalCount 6 MaxActive 3 SpawnCount 2 WaitBetweenSpawns 8 // can be decimal TotalCurrency 150 TFBot{ Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { // [SPAWN] WaitBeforeStarting 6 Where spawnbot Name "6A3" TotalCount 40 MaxActive 7 SpawnCount 4 WaitBetweenSpawns 14 // can be decimal TotalCurrency 400 TFBot{ Class Heavyweapons Skill Normal } } WaveSpawn{ // [TANK] // NOTE: Change depending on map Name "6A4" TotalCount 1 //MaxActive 1 //SpawnCount 1 TotalCurrency 350 FirstSpawnOutput{ Target boss_spawn_relay Action Trigger } Tank{ Health 30000 Speed 75 Name "boss" Skin 1 StartingPathTrackNode "boss_path_b_10" OnKilledOutput{ Target boss_dead_relay Action Trigger } OnBombDroppedOutput{ Target boss_deploy_relay Action Trigger } } } } // ---------------------------------------------------------------------- // Wave 7 ($6200 + $1050 (this wave) + $100 (bonus) = $7350) // (done) Wave { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SPAWN] Where spawnbot Name "7A" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 30 // can be decimal TotalCurrency 600 TFBot{ Template T_TFBot_Giant_Demoman // this one also fast fires? ok valve } } WaveSpawn { // [SPAWN] WaitForAllDead "7A" WaitBeforeStarting 15 Where spawnbot Name "7B" TotalCount 40 MaxActive 10 SpawnCount 7 WaitBetweenSpawns 8 // can be decimal TotalCurrency 400 TFBot{ Template T_TFBot_Demoman_Samurai } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 15 Where flankers Name "7_Support_Heavy" TotalCount 5 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 14 TotalCurrency 50 Support 1 TFBot{ Class Heavyweapons Skill Hard } } WaveSpawn { // [SUPPORT] WaitForAllSpawned "7A" WaitBeforeStarting 5 Where flankers Name "7_Support_Scout" //TotalCount 5 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 1 TotalCurrency 0 Support 1 TFBot{ Class Scout Skill Normal BehaviorModifiers Push } } WaveSpawn { // [SUPPORT] WaitForAllSpawned "7A" WaitBeforeStarting 10 Where spawnbot Name "7_Support_CritSoldier" //TotalCount 5 MaxActive 1 SpawnCount 1 WaitBetweenSpawnsAfterDeath 9 TotalCurrency 0 Support 1 TFBot{ Class Soldier Skill Normal Attributes AlwaysCrit BehaviorModifiers Push } } WaveSpawn { // [SUPPORT] WaitForAllDead "7A" WaitBeforeStarting 3 Where spawnbot Name "7_Support_Demoman" //TotalCount 5 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 3 TotalCurrency 0 Support 1 TFBot{ Class Demoman Skill Normal BehaviorModifiers Push } } } // ---------------------------------------------------------------------- // Wave 8 ($7350 + $1300 (this wave) = $8650) // (not done) Wave { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { // [SQUAD] Where spawnbot Name "8A" TotalCount 24 MaxActive 6 SpawnCount 6 TotalCurrency 240 Squad{ // ShouldPreserveSquad 1 TFBot{ Template T_TFBot_Giant_Heavyweapons } 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 { // [SPAWN] WaitForAllDead "8A" WaitBeforeStarting 3 Where spawnbot Name "8B1" TotalCount 1 TotalCurrency 100 TFBot{ Template T_TFBot_Chief_Demo_Atomic } } WaveSpawn { // [SPAWN] WaitForAllDead "8A" WaitBeforeStarting 8 Where flankers Name "8B2" TotalCount 25 MaxActive 5 SpawnCount 4 WaitBetweenSpawns 7 TotalCurrency 250 TFBot{ Template T_TFBot_Demoman_Samurai } } WaveSpawn { // [SPAWN] WaitForAllDead "8B2" WaitBeforeStarting 0 Where flankers Name "8B3" TotalCount 25 MaxActive 5 SpawnCount 4 WaitBetweenSpawns 5 TotalCurrency 250 TFBot{ Class Scout Skill Normal Attributes AlwaysCrit } } WaveSpawn { // [SPAWN] WaitForAllDead "8B3" WaitBeforeStarting 0 Where flankers Name "8B4" TotalCount 12 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 8 TotalCurrency 120 TFBot{ Template T_TFBot_Giant_Scout Attributes AlwaysCrit } } WaveSpawn { // [SPAWN] WaitForAllDead "8B1" WaitBeforeStarting 15 Where spawnbot Name "8C" TotalCount 12 MaxActive 6 SpawnCount 4 WaitBetweenSpawns 10 TotalCurrency 120 TFBot{ Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { // [SPAWN] WaitForAllDead "8C" WaitBeforeStarting 2 Where flankers Name "8D1" TotalCount 20 MaxActive 10 SpawnCount 7 WaitBetweenSpawns 6 TotalCurrency 60 TFBot{ Template T_TFBot_Pyro_Flaregun Attributes AlwaysCrit } } WaveSpawn { // [SPAWN] WaitForAllDead "8D1" WaitBeforeStarting 4 Where flankers Name "8D2" TotalCount 20 MaxActive 12 SpawnCount 5 WaitBetweenSpawns 4 TotalCurrency 60 TFBot{ Template T_TFBot_Pyro_Flaregun Attributes AlwaysCrit } } WaveSpawn { // [SPAWN] WaitForAllDead "8D2" WaitBeforeStarting 4 Where flankers Name "8D3" TotalCount 20 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 2 TotalCurrency 60 TFBot{ Template T_TFBot_Pyro_Flaregun Attributes AlwaysCrit } } WaveSpawn { // [SUPPORT] WaitBeforeStarting 10 Where flankers Name "8_Support_CritDemoman" TotalCount 4 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 12 TotalCurrency 40 Support 1 TFBot{ Class Demoman Skill Hard Attributes AlwaysCrit } } } }