// mvm_mannworks // advanced skill // ironman - increased spawn time // - longer waves // - bomb can reset mid wave via timeout (controled via trigger_relay in map) // Mannworks Iron now has shorter between section delays, other missions have between section delays other missions are 2 waves combined for each wave. #base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 1800 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 8 FixedRespawnWaveTime Yes // normal respawn time scaling is supressed for ironman Advanced 1 AllowBotExtraSlots 1 ExtraBotSlotsNoDeathcam 1 MaxRedPlayers 11 RobotLimit 66 ItemAttributes //EH blanket nerf { ClassName "tf_weapon_sniperrifle" "dmg penalty vs players" 0.6 "damage bonus hidden" 1.7 } ItemAttributes { ClassName "tf_weapon_sniperrifle_decap" "dmg penalty vs players" 0.6 "damage bonus hidden" 1.7 } Templates { T_TFBot_Heavyweapons_Deflector { Class Heavyweapons Name "Deflector Heavy" ClassIcon heavy_deflector_giant Skill Hard Item "The U-clank-a" Item "Deflector" WeaponRestrictions PrimaryOnly MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } T_TFBot_Sniper_Jarate { Class Sniper Name "Jarate Thrower" Skill Easy ClassIcon sniper_jarate Item "Jarate" Item "Desert Marauder" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.1 } } } // MISSION: Sentry Buster Mission { Objective DestroySentries Where spawnbot CooldownTime 30 DesiredCount 3 TFBot { Template T_TFBot_SentryBuster } } // MISSION: Sniper 02 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 6 TFBot { Template T_TFBot_Sniper } } // MISSION: Sniper 03 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 15 DesiredCount 9 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Spy 01 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 60 DesiredCount 9 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 03 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 60 DesiredCount 9 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 6 TFBot { Class Sniper Skill Hard MaxVisionRange 2500 } } // MISSION: Sniper 04-05 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 2 CooldownTime 60 InitialCooldown 20 DesiredCount 6 TFBot { Class Sniper Skill Hard MaxVisionRange 2500 } } // MISSION: Sniper 06 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 15 DesiredCount 6 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 08 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 15 DesiredCount 6 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Spy 03-04 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 2 CooldownTime 90 InitialCooldown 30 DesiredCount 6 TFBot { Class Spy Skill Expert } } // MISSION: Spy 06 Mission { Objective Spy Where spawnbot_mission_spy // location for spawning when no space available BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 60 DesiredCount 6 TFBot { Class Spy Skill Expert } } // MISSION: Spy 07 Mission { Objective Spy Where spawnbot_mission_spy // location for spawning when no space available BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 90 InitialCooldown 30 DesiredCount 12 TFBot { Class Spy Skill Expert } } // MISSION: Sniper 01 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 6 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } // MISSION: Sniper 02 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 6 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 03 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 6 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 05 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 6 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } // MISSION: Spy 01 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 45 InitialCooldown 45 DesiredCount 9 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 02 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 90 InitialCooldown 30 DesiredCount 6 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 04 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 5 DesiredCount 9 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 05 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 6 TFBot { Template T_TFBot_Spy } } // WAVE 01 1200 Wave { WaitWhenDone 60 Sound "Announcer.IncomingMob" Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay_ironman Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } // BEGIN STAGE 1 WaveSpawn // Soldier { TotalCurrency 100 Name "iron1" Where spawnbot TotalCount 54 SpawnCount 9 MaxActive 27 WaitBetweenSpawns 30 WaitBeforeStarting 0 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly //Item "The Direct Hit" } } WaveSpawn // Pyro { TotalCurrency 50 Name "iron1" Where spawnbot TotalCount 36 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 20 WaitBeforeStarting 30 RandomSpawn 1 //randomize distribution TFBot { Class Pyro Skill Expert WeaponRestrictions PrimaryOnly } } WaveSpawn // Heavyweapons Fists { TotalCurrency 50 Name "iron1" Where spawnbot TotalCount 36 SpawnCount 9 MaxActive 24 WaitBetweenSpawns 30 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn // Giant Heavyweapons { TotalCurrency 50 Name "iron1b" WaitForAllSpawned "iron1" Where spawnbot TotalCount 6 SpawnCount 1 MaxActive 6 WaitBetweenSpawns 10 WaitBeforeStarting 30 TFBot { Template T_TFBot_Giant_Heavyweapons } } WaveSpawn // Pyro { TotalCurrency 50 Name "iron1b" WaitForAllSpawned "iron1" Where spawnbot TotalCount 36 SpawnCount 12 //MaxActive 8 WaitBetweenSpawns 15 WaitBeforeStarting 30 RandomSpawn 1 //randomize distribution TFBot { Class Pyro Skill Expert WeaponRestrictions PrimaryOnly } } // BEGIN STAGE 2 WaveSpawn { TotalCurrency 50 Name "iron2" WaitForAllSpawned "iron1b" Where spawnbot TotalCount 72 SpawnCount 24 MaxActive 66 WaitBetweenSpawns 30 WaitBeforeStarting 30 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 100 TotalCount 3 WaitBeforeStarting 60 WaitBetweenSpawns 8 Name "iron2" WaitForAllSpawned "iron1b" Tank { Health 9000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 TotalCount 3 WaitBeforeStarting 60 WaitBetweenSpawns 8 Name "iron2" WaitForAllSpawned "iron1b" Tank { Health 9000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } //Adv1-1 WaveSpawn // Soldier { TotalCurrency 50 Name "AdvW1S1" Where spawnbot TotalCount 90 SpawnCount 12 MaxActive 48 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } } WaveSpawn // Pyro { TotalCurrency 50 Name "AdvW1S2" Where spawnbot_carrier TotalCount 54 SpawnCount 9 MaxActive 9 WaitBetweenSpawns 10 WaitBeforeStarting 30 TFBot { Class Pyro Skill Easy WeaponRestrictions PrimaryOnly } } WaveSpawn // Soldier { TotalCurrency 150 WaitForAllSpawned "AdvW1S1" Name "AdvW1S2" Where spawnbot TotalCount 75 SpawnCount 5 MaxActive 45 WaitBetweenSpawns 5 WaitBeforeStarting 0 Squad { TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Template T_TFBot_Soldier_Buff_Banner Skill Easy } } } //Adv1-2 WaveSpawn // Soldier + Heavy { TotalCurrency 100 Name "AdvW2S1" WaitForAllDead "AdvW1S2" Where spawnbot TotalCount 90 SpawnCount 18 MaxActive 48 WaitBetweenSpawns 15 WaitBeforeStarting 20 Squad { TFBot { Class Heavyweapons Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } } } // BEGIN STAGE 2 WaveSpawn // Heavy 1 of 3 concurrent { TotalCurrency 50 WaitForAllSpawned "AdvW2S1" Where spawnbot_left TotalCount 24 SpawnCount 2 //MaxActive 10 WaitBetweenSpawns 3.3 WaitBeforeStarting 30 Squad { TFBot { Class Heavyweapons Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Template T_TFBot_Medic } } } WaveSpawn // Heavy 2 of 3 concurrent { TotalCurrency 50 WaitForAllSpawned "AdvW2S1" Where spawnbot_right TotalCount 24 SpawnCount 2 //MaxActive 10 WaitBetweenSpawns 3.3 WaitBeforeStarting 60 Squad { TFBot { Class Heavyweapons Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Template T_TFBot_Medic } } } WaveSpawn // Heavy 3 of 3 concurrent { TotalCurrency 50 WaitForAllSpawned "AdvW2S1" Where spawnbot_left TotalCount 24 SpawnCount 2 //MaxActive 10 WaitBetweenSpawns 3.3 WaitBeforeStarting 90 Squad { TFBot { Class Heavyweapons Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Template T_TFBot_Medic } } } WaveSpawn // Pyro { TotalCurrency 50 WaitForAllSpawned "AdvW2S1" Where spawnbot_carrier TotalCount 54 SpawnCount 9 MaxActive 18 WaitBetweenSpawns 10 WaitBeforeStarting 60 TFBot { Class Pyro Skill Easy WeaponRestrictions PrimaryOnly } } //Exp1-1 WaveSpawn { TotalCurrency 100 Name "ExpW1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 36 SpawnCount 6 MaxActive 30 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { TotalCurrency 350 Name "ExpW1" Where spawnbot RandomSpawn 1 TotalCount 105 SpawnCount 5 MaxActive 45 WaitBetweenSpawns 6 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } } } //Exp1-1 WaveSpawn // Crit Scout Invasion { TotalCurrency 100 Name "ExpW2S1" Where spawnbot RandomSpawn 1 TotalCount 144 SpawnCount 36 MaxActive 48 WaitBetweenSpawns 10 WaitBeforeStarting 20 WaitForAllDead "ExpW1" TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit ClassIcon scout_bat_nys } } WaveSpawn // Crit Scout Invasion Center { TotalCurrency 100 Name "ExpW2S1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 72 SpawnCount 18 MaxActive 24 WaitBetweenSpawns 10 WaitBeforeStarting 20 WaitForAllDead "ExpW1" TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit ClassIcon scout_bat_nys } } WaveSpawn // Crit Scout Invasion Escalation { TotalCurrency 100 Name "ExpW2S2" WaitForAllSpawned "ExpW2S1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 96 SpawnCount 48 MaxActive 48 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit ClassIcon scout_bat_nys } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn // Crit Scout Invasion Center Escalation { TotalCurrency 100 Name "ExpW2S2" WaitForAllSpawned "ExpW2S1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 72 SpawnCount 18 MaxActive 24 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit ClassIcon scout_bat_nys } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn { TotalCurrency 50 Name "ExpW2S2" WaitForAllSpawned "ExpW2S1" Where spawnbot RandomSpawn 1 TotalCount 24 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 10 TFBot { Template T_TFBot_Giant_Soldier_Crit } } } // WAVE 02 1600 Wave { WaitWhenDone 60 Sound "Announcer.IncomingMob" Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay_ironman Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn // Rapid Fire Demoman (Left) { TotalCurrency 150 Name "iron1" Where spawnbot_left TotalCount 15 SpawnCount 1 MaxActive 6 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn // Rapid Fire Demoman (Right) { TotalCurrency 150 Name "iron1" Where spawnbot_right TotalCount 15 SpawnCount 1 MaxActive 6 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn // Pyro { TotalCurrency 50 Name "iron1" Where spawnbot TotalCount 120 SpawnCount 12 MaxActive 24 WaitBetweenSpawns 15 WaitBeforeStarting 5 RandomSpawn 1 //randomize distribution TFBot { Class Pyro Skill Easy WeaponRestrictions PrimaryOnly } } WaveSpawn // Baseball Scout { TotalCurrency 100 Name "iron1" Where spawnbot TotalCount 36 SpawnCount 9 MaxActive 18 WaitBetweenSpawns 20 WaitBeforeStarting 60 TFBot { Template T_TFBot_Scout_Sandman } } // BEGIN STAGE 2 WaveSpawn // Sniper Huntsman { TotalCurrency 50 Name "iron2" WaitForAllSpawned "iron1" Where spawnbot TotalCount 120 SpawnCount 24 MaxActive 54 WaitBetweenSpawns 20 WaitBeforeStarting 30 TFBot { Template T_TFBot_Sniper_Huntsman } } // WaveSpawn // { // TotalCurrency 100 // Name "iron2" // WaitForAllSpawned "iron1" // Where spawnbot // TotalCount 12 // SpawnCount 4 // MaxActive 12 // WaitBetweenSpawns 10 // WaitBeforeStarting 60 // TFBot // { // Template T_TFBot_Heavyweapons_Fist // } // } WaveSpawn // Pyro { TotalCurrency 50 Name "iron2" WaitForAllSpawned "iron1" Where spawnbot TotalCount 18 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 20 WaitBeforeStarting 30 RandomSpawn 1 //randomize distribution TFBot { Class Pyro Skill Expert WeaponRestrictions PrimaryOnly } } WaveSpawn // Giant Pyro { TotalCurrency 100 Name "iron2" WaitForAllSpawned "iron1" Where spawnbot TotalCount 9 SpawnCount 1 //MaxActive 15 WaitBetweenSpawns 5 WaitBeforeStarting 60 TFBot { Template T_TFBot_Giant_Pyro } } // BEGIN STAGE 3 WaveSpawn // Sniper Huntsman { TotalCurrency 50 Name "iron3" WaitForAllSpawned "iron2" Where spawnbot TotalCount 45 SpawnCount 45 //MaxActive 15 WaitBetweenSpawns 0 WaitBeforeStarting 30 TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn // Giant Pyro { TotalCurrency 100 Name "iron3" WaitForAllSpawned "iron2" Where spawnbot TotalCount 36 SpawnCount 4 //MaxActive 15 WaitBetweenSpawns 5 WaitBeforeStarting 30 Squad { TFBot { Template T_TFBot_Giant_Pyro } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // Adv1-3 WaveSpawn // Scout { TotalCurrency 50 Name "AdvW3S1" Where spawnbot TotalCount 60 SpawnCount 60 MaxActive 60 WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Scout_Bonk } } WaveSpawn // Pyro { TotalCurrency 25 Name "AdvW3S1" Where spawnbot_carrier TotalCount 60 SpawnCount 15 MaxActive 36 WaitBetweenSpawns 20 WaitBeforeStarting 15 TFBot { Class Pyro Skill Easy WeaponRestrictions PrimaryOnly } } WaveSpawn // Giant GoalKeeper Heavyweapons { TotalCurrency 100 Name "AdvW3S1" Where spawnbot TotalCount 6 SpawnCount 1 MaxActive 6 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } } // BEGIN STAGE 2 WaveSpawn // Scout Bonk { TotalCurrency 50 Name "AdvW3S2" WaitForAllSpawned "AdvW3S1" Where spawnbot TotalCount 72 SpawnCount 18 MaxActive 54 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Scout_Bonk } } // Adv1-4 WaveSpawn { TotalCurrency 100 TotalCount 3 WaitForAllDead "AdvW3S2" WaitBeforeStarting 20 WaitBetweenSpawns 8 Tank { Health 9000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 TotalCount 3 WaitForAllDead "AdvW3S2" WaitBeforeStarting 40 WaitBetweenSpawns 8 Tank { Health 9000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 Where spawnbot TotalCount 48 SpawnCount 12 MaxActive 36 WaitBetweenSpawns 30 WaitBeforeStarting 40 WaitForAllDead "AdvW3S2" TFBot { Class Demoman Skill Easy } } WaveSpawn { TotalCurrency 50 Where spawnbot_carrier TotalCount 24 SpawnCount 12 MaxActive 24 WaitBetweenSpawns 15 WaitBeforeStarting 80 WaitForAllDead "AdvW3S2" TFBot { Class Pyro Skill Easy } } //Exp1-3 WaveSpawn { TotalCurrency 50 Name "ExpW3S1" Where spawnbot RandomSpawn 1 TotalCount 18 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { TotalCurrency 100 TotalCount 3 WaitBetweenSpawns 8 WaitForAllSpawned "ExpW3S1" Tank { Health 6000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 TotalCount 3 WaitBetweenSpawns 8 WaitForAllSpawned "ExpW3S1" Tank { Health 6000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 Name "ExpW3S2" WaitForAllSpawned "ExpW3S1" Where spawnbot TotalCount 60 SpawnCount 12 MaxActive 48 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn // Pyro { TotalCurrency 50 Name "ExpW3S2" WaitForAllSpawned "ExpW3S1" Where spawnbot TotalCount 60 SpawnCount 12 MaxActive 12 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Class Pyro Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn { TotalCurrency 50 Name "ExpW3S2" WaitForAllSpawned "ExpW3S1" Where spawnbot RandomSpawn 1 TotalCount 18 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 20 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { //TotalCurrency 50 WaitForAllSpawned "ExpW3S2" Support Limited // fix the timing issue so these don't just end mid way Where spawnbot TotalCount 288 SpawnCount 18 MaxActive 30 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys } } WaveSpawn { TotalCurrency 50 Name "ExpW3S3" WaitForAllSpawned "ExpW3S2" Where spawnbot RandomSpawn 1 TotalCount 96 SpawnCount 24 MaxActive 24 WaitBetweenSpawns 20 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } //Exp1-4 WaveSpawn { TotalCurrency 100 Name "ExpW4S1" Where spawnbot_left TotalCount 24 SpawnCount 24 MaxActive 24 WaitBetweenSpawns 0 WaitBeforeStarting 20 WaitForAllDead "ExpW3S3" TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { TotalCurrency 25 Name "ExpW4S1" Where spawnbot_right TotalCount 24 SpawnCount 24 MaxActive 24 WaitBetweenSpawns 0 WaitBeforeStarting 20 WaitForAllDead "ExpW3S3" TFBot { Template T_TFBot_Demoman Skill Hard } } WaveSpawn { TotalCurrency 37 Name "ExpW4S1" Where spawnbot RandomSpawn 1 TotalCount 12 SpawnCount 6 MaxActive 6 WaitBetweenSpawns 20 WaitBeforeStarting 25 WaitForAllDead "ExpW3S3" TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } WaveSpawn { TotalCurrency 25 Name "ExpW4S2" WaitForAllSpawned "ExpW4S1" Where spawnbot_left TotalCount 72 SpawnCount 24 MaxActive 24 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Template T_TFBot_Demoman } } WaveSpawn { TotalCurrency 100 Name "ExpW4S2" WaitForAllSpawned "ExpW4S1" Where spawnbot_right TotalCount 90 SpawnCount 30 MaxActive 36 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { TotalCurrency 12 Name "ExpW4S3" WaitForAllSpawned "ExpW4S2" Where spawnbot TotalCount 72 SpawnCount 24 MaxActive 66 WaitBetweenSpawns 20 WaitBeforeStarting 30 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 50 Name "ExpW4S3" WaitForAllSpawned "ExpW4S2" Where spawnbot TotalCount 18 SpawnCount 1 MaxActive 9 WaitBetweenSpawns 3.3 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn { TotalCurrency 50 Name "ExpW4S3" WaitForAllSpawned "ExpW4S2" Where spawnbot TotalCount 6 SpawnCount 6 MaxActive 6 //WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } // Final Push WaveSpawn { TotalCurrency 50 Name "ExpW4S4" WaitForAllSpawned "ExpW4S3" Where spawnbot TotalCount 54 SpawnCount 12 MaxActive 24 WaitBetweenSpawns 5 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { TotalCurrency 14 Name "ExpW4S4" WaitForAllSpawned "ExpW4S3" Where spawnbot TotalCount 36 SpawnCount 9 MaxActive 18 WaitBetweenSpawns 15 WaitBeforeStarting 10 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { TotalCurrency 12 Name "ExpW4S4" WaitForAllSpawned "ExpW4S3" Where spawnbot TotalCount 90 SpawnCount 30 MaxActive 54 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } } } // WAVE 03 1600 Wave { WaitWhenDone 60 Sound "Announcer.IncomingMob" Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay_ironman Action Trigger } // DoneOutput // { // Target bombpath_wavefinished // Action Trigger // } // BEGIN STAGE 1 WaveSpawn // Pyro or Pyro Axtinguisher { TotalCurrency 50 Name "iron1" Where spawnbot TotalCount 108 SpawnCount 36 MaxActive 48 WaitBetweenSpawns 30 WaitBeforeStarting 0 TFBot { Class Pyro Skill Easy WeaponRestrictions PrimaryOnly } } WaveSpawn // Giant Soldier { TotalCurrency 150 Name "iron1" Where spawnbot TotalCount 27 SpawnCount 3 //MaxActive 3 WaitBetweenSpawns 10 WaitBeforeStarting 0 RandomSpawn 1 //randomize distribution Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // BEGIN STAGE 2 WaveSpawn // Heavyweapons { TotalCurrency 100 Name "iron2" WaitForAllSpawned "iron1" Where spawnbot TotalCount 60 SpawnCount 15 MaxActive 30 WaitBetweenSpawns 30 WaitBeforeStarting 20 TFBot { Class Heavyweapons Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn // Pyro { TotalCurrency 50 Name "iron2" WaitForAllSpawned "iron1" Where spawnbot TotalCount 24 SpawnCount 9 MaxActive 18 WaitBetweenSpawns 30 WaitBeforeStarting 50 RandomSpawn 1 //randomize distribution TFBot { Class Pyro Skill Expert WeaponRestrictions PrimaryOnly } } // STAGE 3 BEGIN WaveSpawn // Scout { TotalCurrency 50 Name "iron3" WaitForAllSpawned "iron2" Where spawnbot_carrier TotalCount 90 SpawnCount 45 MaxActive 66 WaitBetweenSpawns 30 WaitBeforeStarting 20 TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys } } // STAGE 4 BEGIN WaveSpawn { TotalCurrency 50 Name "Iron4" WaitForAllSpawned "iron3" TotalCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 8 Tank { Health 10000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 Name "Iron4" WaitForAllSpawned "iron3" TotalCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 8 Tank { Health 10000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // STAGE 5 BEGIN WaveSpawn // Scout { TotalCurrency 100 WaitForAllSpawned "Iron4" Where spawnbot TotalCount 90 SpawnCount 18 MaxActive 36 WaitBetweenSpawns 30 WaitBeforeStarting 60 Support 1 // Push bomb while Heavyweapons are active TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn // Giant Heavyweapons { TotalCurrency 0 Name "Iron5" WaitForAllSpawned "Iron4" Where spawnbot_left TotalCount 24 SpawnCount 4 //MaxActive 2 WaitBetweenSpawns 11.6 WaitBeforeStarting 30 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn // Giant Heavyweapons { TotalCurrency 0 Name "Iron5" WaitForAllSpawned "Iron4" Where spawnbot_right TotalCount 24 SpawnCount 4 //MaxActive 2 WaitBetweenSpawns 11.6 WaitBeforeStarting 30 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } //Adv1-5 WaveSpawn // Soldier { TotalCurrency 50 Name "AdvW5S1" Where spawnbot TotalCount 105 SpawnCount 5 MaxActive 45 WaitBetweenSpawns 3.3 WaitBeforeStarting 0 Squad { TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } } } WaveSpawn // Pyro { TotalCurrency 50 Name "AdvW5S3" Where spawnbot_carrier TotalCount 72 SpawnCount 12 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 30 TFBot { Class Pyro Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn // Scouts { TotalCurrency 100 Name "AdvW5S2" WaitForAllSpawned "AdvW5S1" Where spawnbot_carrier TotalCount 135 SpawnCount 45 MaxActive 66 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Class Scout Skill Easy WeaponRestrictions PrimaryOnly ClassIcon scout_bat_nys } } WaveSpawn { TotalCurrency 100 Name "AdvW5S3" WaitForAllSpawned "AdvW5S2" Where spawnbot TotalCount 45 SpawnCount 15 MaxActive 45 WaitBetweenSpawns 20 WaitBeforeStarting 15 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } } WaveSpawn { TotalCurrency 50 Name "AdvW5S3" WaitForAllSpawned "AdvW5S2" Where spawnbot TotalCount 60 SpawnCount 5 MaxActive 45 WaitBetweenSpawns 5 WaitBeforeStarting 20 Squad { TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Class Soldier Skill Easy WeaponRestrictions PrimaryOnly } TFBot { Template T_TFBot_Soldier_Buff_Banner } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } } } //Adv1-6 WaveSpawn // Giant Soldier Rapid Fire { TotalCurrency 100 Name "AdvW6S1" Where spawnbot TotalCount 24 // multiple of squad size SpawnCount 4 // must at minimum equal squad size, number must be multiple of squad size MaxActive 24 // multiple of squad size WaitBetweenSpawns 10 WaitForAllDead "AdvW5S3" WaitBeforeStarting 15 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn // Giant Soldier Rapid Fire { TotalCurrency 100 Name "AdvW6S2" WaitForAllSpawned "AdvW6S1" Where spawnbot TotalCount 12 // multiple of squad size SpawnCount 12 // must at minimum equal squad size, number must be multiple of squad size MaxActive 12 // multiple of squad size WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { TotalCurrency 25 Where spawnbot_carrier TotalCount 108 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 20 WaitForAllDead "AdvW5S3" WaitBeforeStarting 35 Support Limited TFBot { Class Pyro Skill Easy } } //Adv1-7 WaveSpawn // Tank 1 { TotalCurrency 75 TotalCount 3 WaitBeforeStarting 0 Name "AdvW7S1" WaitForAllDead "AdvW6S2" WaitBeforeStarting 15 WaitBetweenSpawns 8 Tank { Health 9000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Tank 2 { TotalCurrency 75 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 8 Name "AdvW7S1" WaitForAllDead "AdvW6S2" WaitBeforeStarting 15 Tank { Health 9000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 25 Name "AdvW7S1" WaitForAllDead "AdvW6S2" Where spawnbot TotalCount 60 SpawnCount 12 MaxActive 36 WaitBetweenSpawns 18 WaitBeforeStarting 30 TFBot { Class Demoman Skill Normal } } WaveSpawn // Pyro { TotalCurrency 50 WaitForAllDead "AdvW6S2" Where spawnbot_carrier TotalCount 54 SpawnCount 9 MaxActive 27 WaitBetweenSpawns 10 WaitBeforeStarting 45 TFBot { Class Pyro Skill Hard WeaponRestrictions PrimaryOnly } } // BEGIN STAGE 2 WaveSpawn { TotalCurrency 25 Name "AdvW7S2" WaitForAllSpawned "AdvW7S1" Where spawnbot TotalCount 30 SpawnCount 5 MaxActive 30 WaitBetweenSpawns 3.3 WaitBeforeStarting 30 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // BEGIN STAGE 2b WaveSpawn { TotalCurrency 25 Name "AdvW7S3" WaitForAllSpawned "AdvW7S2" Where spawnbot_left TotalCount 15 SpawnCount 15 MaxActive 15 //WaitBetweenSpawns 10 WaitBeforeStarting 60 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { TotalCurrency 25 Name "AdvW7S3" WaitForAllSpawned "AdvW7S2" Where spawnbot_right TotalCount 15 SpawnCount 15 MaxActive 15 //WaitBetweenSpawns 10 WaitBeforeStarting 60 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // BEGIN STAGE 3 WaveSpawn { TotalCurrency 50 TotalCount 3 WaitBeforeStarting 25 WaitBetweenSpawns 8 WaitForAllSpawned "AdvW7S3" Tank { Health 10000 Speed 75 Name "tankboss_left" Skin 1 StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 TotalCount 3 WaitBeforeStarting 25 WaitBetweenSpawns 8 WaitForAllSpawned "AdvW7S3" Tank { Health 10000 Speed 75 Name "tankboss_right" Skin 1 StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 Name "stage1" Where spawnbot_left TotalCount 24 SpawnCount 2 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 100 Name "stage1" Where spawnbot_right TotalCount 24 SpawnCount 2 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 50 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 90 SpawnCount 5 MaxActive 30 WaitBetweenSpawns 6.6 WaitBeforeStarting 3 Squad { TFBot { Template T_TFBot_Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } } } WaveSpawn { TotalCurrency 25 TotalCount 3 WaitBetweenSpawns 8 WaitForAllSpawned "stage1" Tank { Health 10000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 TotalCount 3 WaitBetweenSpawns 8 WaitForAllSpawned "stage1" Tank { Health 10000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_left TotalCount 75 SpawnCount 15 MaxActive 54 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Deflector } } // Final Push WaveSpawn { TotalCurrency 25 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 90 SpawnCount 12 MaxActive 30 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Expert } } WaveSpawn { //TotalCurrency 0 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 24 SpawnCount 1 MaxActive 18 WaitBetweenSpawns 5 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn { //TotalCurrency 0 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 60 SpawnCount 12 MaxActive 36 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { TotalCurrency 12 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 135 SpawnCount 45 MaxActive 54 //WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 26 TotalCount 3 WaitBetweenSpawns 8 WaitForAllSpawned "stage3" Tank { Health 10000 Speed 75 Name "tankboss_left" Skin 1 StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 25 TotalCount 3 WaitBetweenSpawns 8 WaitForAllSpawned "stage3" Tank { Health 10000 Speed 75 Name "tankboss_right" Skin 1 StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }