// MvM Oilrig: Intermediate (Roughneck's Routine) made by UltimentM // @ http://steamcommunity.com/id/ultimentm // Starting Money: $700 #base robot_giant.pop #base robot_standard.pop #base robot_ultimentm.pop population { StartingCurrency 700 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom no Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 20 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 10 CooldownTime 25 DesiredCount 1 TFBot { Template T_TFBot_Sniper_Firecracker } } Mission { Objective Engineer Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 40 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TeleportWhere spawnbot TeleportWhere spawnbot_left TeleportWhere spawnbot_right Attributes TeleportToHint } } Mission { Objective DestroySentries Where spawnbot_right BeginAtWave 1 RunForThisManyWaves 7 InitialCooldown 25 CooldownTime 50 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster_OilRig } } // Wave 1 : $500, $700 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave1a TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 6 Squad { TFBot { Template T_TFBot_Heavy_Grapple } TFBot { Template T_TFBot_Demoman_Knight } } } WaveSpawn { Name wave1a TotalCurrency 100 TotalCount 24 MaxActive 12 SpawnCount 2 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 5 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 200 TotalCount 36 MaxActive 12 SpawnCount 3 Where spawnbot WaitBeforeStarting 2 WaitBetweenSpawns 3 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn { TotalCurrency 50 TotalCount 25 MaxActive 2 SpawnCount 1 Where spawnbot WaitBeforeStarting 15 WaitBetweenSpawns 9 Support 1 TFBot { Template T_TFBot_Scout_Sandman_Marker } } WaveSpawn { WaitForAllSpawned wave1a TotalCurrency 50 TotalCount 25 MaxActive 4 SpawnCount 1 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 4 Support 1 TFBot { Template T_TFBot_Scout_Sandman } } } // Wave 2 : $600, $1200 + $100 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave2a Where spawnbot_left TotalCurrency 50 TotalCount 10 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 10 RandomChoice { TFBot { Skill Easy Class Pyro } TFBot { Template T_TFBot_Scout_SlowFire } } } WaveSpawn { Name wave2a Where spawnbot_right TotalCurrency 50 TotalCount 10 MaxActive 10 SpawnCount 5 WaitBeforeStarting 1 WaitBetweenSpawns 10 RandomChoice { TFBot { Skill Easy Class Pyro } TFBot { Template T_TFBot_Scout_SlowFire } } } WaveSpawn { Name wave2a Where spawnbot_right TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } } WaveSpawn { Name wave2b WaitForAllDead wave2a Where spawnbot TotalCurrency 100 TotalCount 36 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn { Name wave2b WaitForAllDead wave2a Where spawnbot TotalCurrency 100 TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 4 TFBot { Class Pyro } } WaveSpawn { Name wave2c WaitForAllSpawned wave2b Where spawnbot_left TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Giant_Heavy_SteelFist Tag nav_prefer_main_left } } WaveSpawn { Name wave2c WaitForAllSpawned wave2b Where spawnbot_right TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Giant_Heavy_SteelFist Tag nav_prefer_main_right } } } // Wave 3 : $600, $1800 + $200 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave3a TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 12 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 150 TotalCount 1 MaxActive 5 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 10 Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode tank_path_a_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 150 TotalCount 36 MaxActive 15 SpawnCount 3 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Soldier_Equalizer } } WaveSpawn { Name wave3c WaitForAllSpawned wave3b TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 4 Where spawnbot_right WaitBeforeStarting 12 WaitBetweenSpawns 10 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name wave3c WaitForAllSpawned wave3b TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 4 Where spawnbot_left WaitBeforeStarting 32 WaitBetweenSpawns 10 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { WaitForAllSpawned wave3b TotalCurrency 0 TotalCount 8 MaxActive 8 SpawnCount 2 Where spawnbot WaitBeforeStarting 2 WaitBetweenSpawns 4 Support 1 TFBot { Template T_TFBot_Pyro_Dragon_Easy } } } // Wave 4 : $700, $2400 + $300 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave4a TotalCurrency 200 TotalCount 8 MaxActive 8 SpawnCount 4 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit } TFBot { Class Pyro Skill Hard } TFBot { Class Pyro Skill Hard } TFBot { Class Pyro Skill Hard } } } WaveSpawn { Name wave4b TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 10 Tank { Health 27000 Name Tank Speed 75 StartingPathTrackNode tank_path_b_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave4c WaitForAllSpawned wave4a TotalCurrency 100 TotalCount 30 MaxActive 12 SpawnCount 3 Where spawnbot WaitBeforeStarting 15 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Heavy_Shotgun } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 150 TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit } TFBot { Class Pyro Skill Expert } TFBot { Class Pyro Skill Expert } TFBot { Class Pyro Skill Expert } TFBot { Class Pyro Skill Expert } TFBot { Template T_TFBot_Medic_Uber_Easy } } } WaveSpawn { Name wave4d WaitForAllSpawned wave4c TotalCurrency 50 TotalCount 18 MaxActive 9 SpawnCount 3 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 3 TFBot { Class Pyro Skill Hard } } WaveSpawn { Name wave4d WaitForAllSpawned wave4c TotalCurrency 100 TotalCount 6 MaxActive 6 SpawnCount 3 Where spawnbot WaitBeforeStarting 18 WaitBetweenSpawns 12 Squad { TFBot { Template T_TFBot_Giant_Sniper_Bowman } TFBot { Template T_TFBot_Pyro_AlwaysFire } TFBot { Template T_TFBot_Pyro_AlwaysFire } } } } // Wave 5 : $600, $3100 + $400 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave5a Where spawnbot_right TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 10 Squad { FormationSize 50 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Tag nav_prefer_main_right } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn { Name wave5a Where spawnbot_left TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 Squad { FormationSize 50 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Tag nav_prefer_main_left } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn { Name wave5b WaitForAllDead wave5a Where spawnbot TotalCurrency 75 TotalCount 16 MaxActive 5 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 13 Squad { FormationSize 50 TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn { Name wave5b WaitForAllDead wave5a Where spawnbot TotalCurrency 125 TotalCount 32 MaxActive 8 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 6 TFBot { Class Demoman } } WaveSpawn { Name wave5c WaitForAllSpawned wave5b Where spawnbot_right TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 18 TFBot { Template T_TFBot_Giant_Pyro_Flare Tag nav_prefer_main_left } } WaveSpawn { Name wave5c WaitForAllSpawned wave5b Where spawnbot_left TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 18 TFBot { Template T_TFBot_Giant_Pyro_Flare Tag nav_prefer_main_right } } WaveSpawn { Where spawnbot TotalCurrency 100 TotalCount 50 MaxActive 7 SpawnCount 2 WaitBeforeStarting 7 WaitBetweenSpawns 6 WaitForAllDead wave5a Support 1 TFBot { Skill Easy Class Soldier } } } // Wave 6 : $800, $3700 + $500 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave6a TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 4 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 0 Squad { TFBot { Template T_TFBot_Giant_Demo_Spammer } TFBot { Template T_TFBot_Medic_Crit } TFBot { Template T_TFBot_Medic_Crit } TFBot { Template T_TFBot_Medic_Crit } } } WaveSpawn { Name wave6a TotalCurrency 100 TotalCount 36 MaxActive 9 SpawnCount 3 Where spawnbot WaitBeforeStarting 12 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name wave6a TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 2 Where spawnbot WaitBeforeStarting 15 WaitBetweenSpawns 4 TFBot { Class Scout Skill Hard } } WaveSpawn { Name wave6b WaitForAllSpawned wave6a TotalCurrency 25 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 5 WaitBetweenSpawns 10 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish } } WaveSpawn { Name wave6b WaitForAllSpawned wave6a TotalCurrency 25 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_left WaitBeforeStarting 5 WaitBetweenSpawns 10 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish } } WaveSpawn { Name wave6b WaitForAllSpawned wave6a TotalCurrency 50 TotalCount 18 MaxActive 18 SpawnCount 1 Where spawnbot WaitBeforeStarting 12 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Scout_Bonk } } WaveSpawn { Name wave6c WaitForAllSpawned wave6b TotalCurrency 200 TotalCount 8 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Demo_Spammer } TFBot { Template T_TFBot_Medic_Crit } } } WaveSpawn { Name wave6c WaitForAllSpawned wave6b TotalCurrency 120 TotalCount 12 MaxActive 7 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 6 TFBot { Template T_TFBot_Heavy_HeavyShotgun } } WaveSpawn { WaitForAllSpawned wave6b TotalCurrency 80 TotalCount 40 MaxActive 8 SpawnCount 2 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 6 Support 1 TFBot { Template T_TFBot_Pyro_Dragon_Easy } } } // Wave 7 : $700, $4500 + $600 Current Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave7a TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 10 Tank { Health 30000 Name Tank Speed 75 StartingPathTrackNode tank_path_a_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave7a TotalCurrency 100 TotalCount 8 MaxActive 8 SpawnCount 4 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Heavy_Grapple } TFBot { Template T_TFBot_Heavy_Grapple } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name wave7b WaitForAllSpawned wave7a TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 2 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Soldier_Extended_Concheror } } WaveSpawn { Name wave7b WaitForAllSpawned wave7a TotalCurrency 100 TotalCount 6 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Pyro } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name wave7c WaitForAllSpawned wave7b TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 0 Tank { Health 35000 Name Tank Speed 75 Skin 1 StartingPathTrackNode tank_path_b_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave7c WaitForAllSpawned wave7b TotalCurrency 100 TotalCount 32 MaxActive 15 SpawnCount 3 Where spawnbot WaitBeforeStarting 15 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Scout_FAN } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 0 TotalCount 15 MaxActive 10 SpawnCount 5 Where spawnbot_right WaitBeforeStarting 10 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysCrit ClassIcon pyro } TFBot { Template T_TFBot_Heavy_Grapple } TFBot { Template T_TFBot_Heavy_Grapple } TFBot { Template T_TFBot_Heavy_Grapple } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { WaitForAllSpawned wave7a TotalCurrency 100 TotalCount 50 MaxActive 6 SpawnCount 2 Where spawnbot WaitBeforeStarting 25 WaitBetweenSpawns 9 Support 1 TFBot { Template T_TFBot_Demoman_Cannon } } WaveSpawn { WaitForAllSpawned wave7c TotalCurrency 0 TotalCount 6 MaxActive 6 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 4 Support 1 TFBot { Template T_TFBot_Pyro_Flaregun } } } }