// MvM Powerkeep // System Shutdown (30/08/22) // Map and mission by TjgL https://steamcommunity.com/id/tjglss/ // Intermediate // tf_mvm_popfile mvm_powerkeep_rc4_dev_int_system_shutdown #base robot_standard.pop #base robot_giant.pop #base robot_powerkeep.pop // STARTING CURRENCY 850$ WaveSchedule { StartingCurrency 750 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 4 // Sentry Buster Mission { Objective DestroySentries InitialCooldown 30 Where spawnbot CooldownTime 60 BeginAtWave 1 RunForThisManyWaves 6 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster Tag bot_sentrybuster } } Mission // Enginner (wave 3-4) { Objective Engineer Where spawnbot_invasion BeginAtWave 3 RunForThisManyWaves 2 InitialCooldown 35 CooldownTime 50 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TeleportWhere spawnbot_invasion TeleportWhere spawnbot_left TeleportWhere spawnbot_right TeleportWhere spawnbot TeleportWhere spawnbot_opposite Tag bot_flank } } ///////////////////////////////////////////////////////////// /////////////////////// Wave 1 (750$) /////////////////////// ///////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Bat Scout 75 { // ~25s | Start at 0 Name "W_01a" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 75 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn // Scout 75 { // ~25s | Start at 35s WaitForAllSpawned "W_01a" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 7 TotalCurrency 75 TFBot { Class Scout Skill Normal } } WaveSpawn //Soldier 150 { // ~37.5s | Start at 5 = 42.5s Name "W_01b" Where spawnbot TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 150 TFBot { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size penalty" 0.5 "Reload time decreased" 0.5 // 50% faster reload rate } } } WaveSpawn // Giant Demo 250 { // ~50s | Start at 20 = 1min10 Name "W_01c" Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 25 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Demoman_Normal Tag bot_giant } } WaveSpawn //support neon Pyro 50 { // Start at +1min10 WaitForAllDead "W_01c" Where spawnbot_opposite TotalCount 20 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 12.5 TotalCurrency 50 Support 1 TFBot { Class Pyro Name "Electric Pyro" Skill Expert ClassIcon pyro_neon Item "The Neon Annihilator" Item "The Rusty Reaper" WeaponRestrictions MeleeOnly Tag bot_flank BehaviorModifiers Mobber } } WaveSpawn // Giant Soldier Spammer 200 { // Start at +1min10 Name "W_01e" WaitForAllSpawned "W_01c" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 1 TotalCurrency 250 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Tag bot_giant } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant } } } } ///////////////////////////////////////////////////////////// /////////////////////// Wave 2 (850$) /////////////////////// ///////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Demoknight (100$) { // ~1min2.5s | Start at 0 Name "W_02a" Where spawnbot TotalCount 30 // ~1m2.5 MaxActive 12 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 12.5 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight Tag bot_flank } } WaveSpawn // Random Conq/Soldier (200$) { // ~1min30s | Start at 0 Name "W_02b" Where spawnbot_opposite TotalCount 40 // ~1min30 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 200 RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Atomic } } } WaveSpawn // Giant Barrage Soldier (250$) { // Start at +1min17.5 Name "W_02c" Where spawnbot_opposite WaitForAllSpawned "W_02a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 1 TotalCurrency 250 TFBot { Template T_TFBot_Giant_Soldier Tag bot_giant } } WaveSpawn // Support Blutsauger Medic (50$) { // Start at +1min27.5 Where spawnbot WaitForAllDead "W_02a" TotalCount 30 MaxActive 8 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 10 TotalCurrency 50 Support Limited TFBot { Class Medic Skill Normal Name "Blutsauger Medic" Item "The Blutsauger" ClassIcon medic_syringe WeaponRestrictions PrimaryOnly Attributes AlwaysFireWeapon Tag bot_flank } } WaveSpawn // Support Scout (50$) { // Start at +1min27.5 Where spawnbot_opposite WaitForAllSpawned "W_02c" TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_Melee Tag bot_flank } } WaveSpawn // Giant Soldier (100$) { // End at 1min50s | Start at 20s Name "W_02e" Where spawnbot TotalCount 3 // 1mins10s MaxActive 2 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 30 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier Tag bot_giant } } WaveSpawn // Giant Deflector Heavy (100$) { Name "W_02f" Where spawnbot WaitForAllDead "W_02c" TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawnsAfterDeath 1 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Tag bot_giant } } } ///////////////////////////////////////////////////////////// /////////////////////// Wave 3 (900$) /////////////////////// ///////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Flare Gun Pyro 100 { Name "W_03a" Where spawnbot TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 7.5 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Flaregun Skill Normal } } WaveSpawn // Tank 300 { Name "W_03b" TotalCount 1 WaitBeforeStarting 10 TotalCurrency 300 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name tank_boss Health 20000 Speed 70 StartingPathTrackNode "boss_path_s" Skin 0 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // GScout { Where spawnbot_invasion TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 30 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_FAN Tag bot_flank Tag bot_giant } } WaveSpawn // SoS Scout 75 { Name "W_03b" Where spawnbot_invasion TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 7.5 TotalCurrency 100 TFBot { Template T_TFBot_Scout_SunStick Tag bot_flank } } WaveSpawn // Heavy 150 { Name "W_03c" WaitForAllDead "W_03a" Where spawnbot TotalCount 12 MaxActive 12 SpawnCount 6 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 150 TFBot { Class Heavyweapons Name "Steel Gauntlet" ClassIcon heavy_steelfist Health 900 Scale 1.5 WeaponRestrictions MeleeOnly Skill Expert Item "Fists of Steel" Tag bot_giant } } WaveSpawn // Demo 100 { Name "W_03d" WaitForAllSpawned "W_03a" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 7.5 TotalCurrency 100 TFBot { Class Demoman Name "Demoman" Skill Normal } } WaveSpawn // Giant Burst Demoman 150 { Name "W_03e" WaitForAllSpawned "W_03d" Where spawnbot_invasion TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 1 TotalCurrency 150 Squad { FormationSize 150 TFBot { Template T_TFBot_Giant_Demo_Burst CharacterAttributes { "health regen" 15 } Tag bot_giant } TFBot { Template T_TFBot_Medic_Bullet Tag bot_giant } TFBot { Template T_TFBot_Medic_Blast Tag bot_giant } } } } ///////////////////////////////////////////////////////////// /////////////////////// Wave 4 (600$) /////////////////////// ///////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Push Soldier 150 { Name "W_04a" Where spawnbot_opposite TotalCount 24 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 7.5 TotalCurrency 150 TFBot { Class Soldier Skill Normal Item "The Liberty Launcher" ItemAttributes { ItemName "The Liberty Launcher" "fire rate bonus" 0.5 "clip size penalty" 0.4 "damage causes airblast" 1 } } } WaveSpawn // Lucksman Sniper 125 { Name "W_04b" Where spawnbot TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Sniper_Huntsman Health 150 } } WaveSpawn { Name "W_04Scout" Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_FAN Tag bot_flank Tag bot_giant } } WaveSpawn // Phlog Pyro 200 { Name "W_04c" Where spawnbot TotalCount 16 // 72s MaxActive 6 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Class Pyro ClassIcon pyro_phlog Skill Easy Name "Phlog Pyro" Item "The Phlogistinator" WeaponRestrictions PrimaryOnly Attributes AlwaysFireWeapon Tag bot_flank } } WaveSpawn // Support Scout 100 { WaitForAllDead "W_04b" Where spawnbot TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 20 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_FAN Tag bot_flank } } WaveSpawn { Name "W_04d" WaitForAllSpawned "W_04Scout" Where spawnbot_opposite TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Pyro Tag bot_giant } } WaveSpawn // 1 Giant Soldier + 3 vac meds 150 { Name "W_04e" WaitForAllSpawned "W_04d" Where spawnbot_invasion TotalCount 6 MaxActive 3 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Tag bot_giant } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } } ///////////////////////////////////////////////////////////// /////////////////////// Wave 5 (950$) /////////////////////// ///////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_final_relay Action Trigger } WaveSpawn // Giant Demo + Med 200 { Name "W_05a" Where spawnbot_left TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 40 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire Tag bot_giant } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn // Tank 300 { Name "W_05b" TotalCount 1 WaitBeforeStarting 5 TotalCurrency 300 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name tank_boss Health 22000 Speed 70 StartingPathTrackNode "boss_path_s" Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "W_05Engie" Where spawnbot_invasion WaitForAllDead "W_05b" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 40 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle Attributes IgnoreFlag TeleportWhere spawnbot_invasion TeleportWhere spawnbot TeleportWhere spawnbot_opposite TeleportWhere spawnbot_right TeleportWhere spawnbot_left Tag bot_flank } } WaveSpawn // Soldier 100 (GateBot) { Name "W_05c" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Atomic } } WaveSpawn // Scout 50 { Name "W_05d" Where spawnbot TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 25 WaitBetweenSpawns 7.5 TotalCurrency 50 TFBot { Class Scout Skill Normal } } WaveSpawn // Support Pyro 100 { Name "W_05e" WaitForAllDead "W_05c" Where spawnbot_invasion TotalCount 10 MaxActive 9 SpawnCount 3 WaitBeforeStarting 7 WaitBetweenSpawns 10 TotalCurrency 50 Support 1 TFBot { Class Pyro Name "Pyro Pusher" Skill Expert ClassIcon pyro_scorch Item "The Scorch Shot" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Scorch Shot" "fire rate bonus" 0.75 "faster reload rate" 1.25 } } } WaveSpawn // Spammer Soldier 250 { Name "W_05f" WaitForAllSpawned "W_05a" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 250 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag bot_giant } TFBot { Template T_TFBot_Giant_Medic_Kritz Tag bot_giant CharacterAttributes { "uber duration bonus" 240 } } } } } ///////////////////////////////////////////////////////////// /////////////////////// Wave 6 (900$) /////////////////////// ///////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Tank 200 { Name "W_06a" TotalCount 1 WaitBeforeStarting 5 TotalCurrency 200 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name tank_boss Health 22500 Speed 70 StartingPathTrackNode "boss_path_s" Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Support Soldier { Where spawnbot_left TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Soldier_Extended_Concheror Skill Normal CharacterAttributes { "increase buff duration" 1.0 } } } WaveSpawn // Support Soldier { Where spawnbot_left TotalCount 10 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 12.5 TotalCurrency 50 Support 1 TFBot { Class Soldier Skill Normal Tag bot_flank } } WaveSpawn // Support Sandman Scout GateBot { Where spawnbot_right TotalCount 10 MaxActive 8 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 100 Support 1 TFBot { Template T_TFBot_Scout_Sandman_FastCharge } } WaveSpawn // Tank { Name "W_06c" WaitForAllDead "W_06a" TotalCount 1 WaitBeforeStarting 10 TotalCurrency 300 FirstSpawnOutput { Target boss_spawn_alt_relay Action Trigger } Tank { Name tank_boss Health 27500 Speed 70 StartingPathTrackNode "boss_path_s" Skin 1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Sergeant Barrage Soldier { Name "W_06d" WaitForAllSpawned "W_06c" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 200 FirstSpawnOutput { Target boss_bot_spawn_relay Action Trigger } TFBot { Template T_TFBot_Sergeant_Barrage Tag bot_giant } } } }