#base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 800 RespawnWaveTime 6 FixedRespawnWaveTime Yes CanBotsAttackWhileInSpawnRoom No Advanced 1 // Wave 1-5 Sentry Busters Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 5 InitialCooldown 15 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Templates { T_TFBot_Heavyweapons_Fist_Mini { Class Heavyweapons Name "Mini Steel Gauntlet" Skill Hard ClassIcon heavy_copperfist // CUSTOM ICON WeaponRestrictions MeleeOnly Item "Fists of Steel" } T_TFBot_FireDemo { Class Demoman Name "Fire Bomber Demoman" Item "The Allbrero" Skill Hard ClassIcon demo_fire WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "set damagetype ignite" 10 "attach particle effect" 13 "dmg penalty vs players" 0.8 "blast dmg to self increased" 0 } } T_TFBot_FireSoldier { Class Soldier Name "Fire Blaster Soldier" Item "The Infernal Impaler" Skill Normal ClassIcon soldier_fire WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "set damagetype ignite" 10 "attach particle effect" 13 "dmg penalty vs players" 0.8 "blast dmg to self increased" 0 } } T_TFBot_Pyro_Axtinguisher_Armored { Class Pyro Scale 1.25 Name "Armored Axtinguisher Pyro" ClassIcon pyro_axtinguisher_armored // CUSTOM ICON Skill Hard Health 350 Item "The Axtinguisher" Item "Firewall Helmet" WeaponRestrictions MeleeOnly } T_TFBot_Medic_Kritz { Class Medic Name "Kritzkrieg Medic" ClassIcon medic_kritz2 // CUSTOM ICON Skill Expert Attributes SpawnWithFullCharge Attributes IgnoreEnemies Item "The Kritzkrieg" Item "The Virus Doctor" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 900 "ubercharge rate bonus" 900 "heal rate bonus" 200 } CharacterAttributes { "bot medic uber health threshold" 200 } } T_TFBot_Medic_QuickFix_ArmoredNoUber { ClassIcon medic_armored Class Medic Health 300 Scale 1.25 Item "Berliner's Bucket Helm" Item "The Quick-Fix" Skill Expert Attributes IgnoreEnemies ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } ItemAttributes { ItemName "The Quick-Fix" "ubercharge rate bonus" 0.01 } CharacterAttributes { "heal rate bonus" 10 } } T_TFBot_Medic_Armored { Class Medic Name "Armored Uber Medic" ClassIcon medic_uber_armored Skill Normal Health 300 Scale 1.25 Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 2 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "heal rate bonus" 5 } } T_TFBot_Soldier_RocketShotgun_Armored { Class Soldier ClassIcon soldier_blackbox_armored_seel Item "The Black Box" Name "Black Box Soldier" Skill Normal Health 400 Scale 1.25 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Black Box" "damage bonus" 0.33 "fire rate bonus" 0.001 "clip size upgrade atomic" 0 "faster reload rate" 0.9 "blast radius increased" 1.25 "projectile spread angle penalty" 2 "heal on hit for rapidfire" 60 } } T_TFBot_Demo_Loch { Class Demoman Name "Loch-n-Load Demo" ClassIcon demo_loch_nys // CUSTOM ICON Skill Expert WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Item "The Loch-n-Load" } T_TFBot_Medic_QuickUber_SlowRecharge { Class Medic Name "Uber Medic" ClassIcon medic_uber Skill Normal Attributes SpawnWithFullCharge Attributes IgnoreEnemies ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "uber duration bonus" -3 "ubercharge rate bonus" 0.25 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } } T_TFBot_Giant_Medic_PopEarly { Class Medic Name "Giant Medic" ClassIcon medic_pop Skill Expert Health 4500 Attributes SpawnWithFullCharge Item "The Quick-Fix" WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 "bot medic uber health threshold" 3500 "ubercharge rate bonus" 0.01 } } T_TFBot_Giant_Pyro_Flare_RapidFire { Class Pyro Name "Giant Rapid-Fire Flare Pyro" ClassIcon pyro_flare_spammer_giant // CUSTOM ICON Skill Expert Attributes MiniBoss WeaponRestrictions SecondaryOnly Health 3000 Item "The Flare Gun" Item "Old Guadalajara" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Soldier_BuffBanner_Spammer { Class Soldier Name "Giant Rapid Fire Buff Soldier" ClassIcon soldier_spammer_buff Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Buff Banner" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 } } T_TFBot_Giant_Demo_ClusterBomb { Class Demoman Name "Giant Clusterbomber Demo" ClassIcon demo_clusterbomb_delay_giant_v3 // CUSTOM ICON Skill Expert Attributes MiniBoss Attributes HoldFireUntilFullReload WeaponRestrictions PrimaryOnly Tag starting_clip_fix Health 3000 Item "The Iron Bomber" Item "Scotch Bonnet" ItemAttributes { ItemName "The Iron Bomber" "clip size upgrade atomic" 26 "fire rate bonus" 0.05 "faster reload rate" 0.25 "projectile spread angle penalty" 15 "fuse bonus" 1.5 "blast dmg to self increased" 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } T_TFBot_Giant_Demo_Katana { Class Demoman Name "Giant Samurai Demoknight" ClassIcon demoknight_samurai_giant // CUSTOM ICON Skill Expert Attributes MiniBoss WeaponRestrictions MeleeOnly Health 3300 Item "The Half-Zatoichi" Item "The Splendid Screen" Item "Ali Baba's Wee Booties" Item "Demo Kabuto" ItemAttributes { ItemName "The Half-Zatoichi" "honorbound" 0 } ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 "charge time increased" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Giant_Scout_Baseball_Spammer // Baseball Giant { Class Scout Name "Major League Spammer" ClassIcon scout_stun_giant_spammer Skill Expert Health 1600 Item "Batter's Helmet" Item "MNC Mascot Outfit" Item "The Sandman" WeaponRestrictions MeleeOnly Attributes MiniBoss ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.0001 } CharacterAttributes { "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFBot_Scout_FanOWar { Class Scout Name "Fan O'War Scout" ClassIcon scout_fanowar Skill Expert Item "The Fan O'War" Item "The Fed-Fightin' Fedora" WeaponRestrictions MeleeOnly } T_TFBot_Scout_Baseball_DeathMark { Class Scout Name "Death League Scout" ClassIcon scout_stun_markdeath Skill Hard Item "The Sandman" Item "Death Racer's Helmet" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Sandman" "mark for death" 1 "effect bar recharge rate increased" 0.25 } } T_TFBot_Heavyweapons_Deflector { Class Heavyweapons Name "Deflector Heavy" ClassIcon heavy_deflector Skill Hard Item "The U-clank-a" Item "Deflector" WeaponRestrictions PrimaryOnly MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } } // Spy Mission (Wave 2) Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 65 InitialCooldown 50 DesiredCount 4 TFBot { Class Spy Skill Expert } } // Spy Mission (Wave 4) Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 90 InitialCooldown 130 DesiredCount 4 TFBot { Class Spy Skill Expert } } // Sniper Mission (Wave 4-5) Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 4 RunForThisManyWaves 2 CooldownTime 60 InitialCooldown 30 DesiredCount 2 TFBot { Class Sniper Skill Expert MaxVisionRange 2500 } } //////////////////////////////// // Wave 1 - 800 Currency //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////// Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " EntFire(`bombpath_choose_relay` `CancelPending`) EntFire(`bombpath_choose_relay` `Disable`) EntFire(`bombpath_right_relay` `Trigger`) " } //////////////////////////////////////// // Wave1A: 200 Currency // // - Scattergun Scout (20x) // - Demoman (16x) //////////////////////////////////////// // SUPPORT 1: Fists of Steel Heavy WaveSpawn { Support 1 Where spawnbot_left Where spawnbot_right MaxActive 4 SpawnCount 2 TotalCount 16 WaitBetweenSpawns 8 WaitBeforeStarting 4 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Fist_Mini } } // SQUAD: Scattergun Scout + Demoman WaveSpawn { Name "wave1a_scout" Where spawnbot_left TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Class Scout Skill Normal } } // Demoman WaveSpawn { Name "wave1b_demo" Where spawnbot_right TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Class Demoman Skill Normal } } //////////////////////////////////////// // Wave1B: 300 Currency // // - Pyro (20x) // - Giant Shotgun Heavy (2x) // - Uber Medic (4x - 2 per giant heavy) //////////////////////////////////////// // Pyro WaveSpawn { Name "wave2a_pyro" Where spawnbot_left TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 15 WaitForAllSpawned "wave1a_scout" TotalCurrency 100 TFBot { Class Pyro Skill Normal ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } // SQUAD: Giant Shotgun Heavy + Uber Medics WaveSpawn { Name "wave1b_giantheavy_medic" Where spawnbot_right TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 30 WaitForAllSpawned "wave1a_scout" TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies } } } //////////////////////////////////////// // Wave1C: 300 Currency // // - Conch Soldier (8x) // - Minigun Heavies (8x) // - Scout (16x) // - Super Scout (3x) //////////////////////////////////////// // SQUAD: Conch Soldier + Heavy WaveSpawn { Name "wave1c_squad" Where spawnbot_left TotalCount 16 MaxActive 8 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 8 WaitForAllDead "wave1b_giantheavy_medic" TotalCurrency 75 Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Class Heavy MaxVisionRange 1200 Skill Normal } TFBot { Class Heavy MaxVisionRange 1200 Skill Normal } } } // Scout WaveSpawn { Name "wave1c_scout" Where spawnbot_right TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 5 WaitForAllDead "wave1b_giantheavy_medic" TotalCurrency 75 TFBot { Class Scout Skill Normal } } // Super Scout WaveSpawn { Name "wave1c_superscout" Where spawnbot_right TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 22 WaitBetweenSpawns 18 WaitForAllDead "wave1b_giantheavy_medic" TotalCurrency 150 TFBot { Template T_TFBot_Giant_Scout_Fast } } } ///////////////////////////////////////////////////////////////////////////////////////////// // Wave 2 - 1000 Currency ///////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } // Add or replace existing InitWaveOutput with code below InitWaveOutput { Target gamerules Action RunScriptCode Param " EntFire(`bombpath_choose_relay` `CancelPending`) EntFire(`bombpath_choose_relay` `Disable`) EntFire(`bombpath_right_relay` `Trigger`) " } //////////////////////////////////////// // Wave2A: 300 Currency // // - Armored Axtinguisher Pyro (16x) // - Fire Blaster Soldier (24x) // - Giant Rapid-Fire Flare Pyro (2x) // - Uber Medic (6x) //////////////////////////////////////// // Armored Axtinguisher Pyro WaveSpawn { Name "wave2a_axepyro" Where spawnbot_left Where spawnbot_right TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Axtinguisher_Armored } } // Fire Blaster Soldier WaveSpawn { Name "wave2a_firesoldier" Where spawnbot_left Where spawnbot_right TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 80 TFBot { Template T_TFBot_FireSoldier } } // Giant Rapid-Fire Flare Pyro WaveSpawn { Name "wave2a_giantflarepyro" Where spawnbot_right TotalCount 8 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 20 TotalCurrency 120 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_RapidFire } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies } } } //////////////////////////////////////// // Wave2B: 300 Currency // // - Demoman (21x) // - Heavy (4x) // - Kritzkrieg Medic (4x - healing the heavies) // - Backup Soldier (4x) //////////////////////////////////////// // Demoman WaveSpawn { Name "wave2b_demo" Where spawnbot_left TotalCount 21 MaxActive 6 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 6 TotalCurrency 100 WaitForAllDead "wave2a_giantflarepyro" TFBot { Class Demoman Skill Normal } } // SQUAD: Deflector Heavy + Kritzkrieg Medic + Backup Soldiers WaveSpawn { Name "wave2b_huoheavymed" Where spawnbot_right TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 18 TotalCurrency 100 WaitForAllDead "wave2a_giantflarepyro" Squad { TFBot { Class Heavy MaxVisionRange 1200 Skill Hard } TFBot { Template T_TFBot_Medic_Kritz } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } WaveSpawn { Name "wave2b_huoheavymed" Where spawnbot_right TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 18 TotalCurrency 100 WaitForAllDead "wave2a_giantflarepyro" Squad { TFBot { Class Heavy MaxVisionRange 1200 Skill Easy } TFBot { Template T_TFBot_Medic_Kritz } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } //////////////////////////////////////// // Wave2C: 400 Currency // // - Armored Axtinguisher Pyro (Support 1) // - Fire Bomber Demoman (Support 1) // - Giant Huo Long Heater Heavy (2x) // - Uber Medic (6x) // - Giant Force-a-Nature Scout (2x) //////////////////////////////////////// // SUPPORT 1: Fire Demo WaveSpawn { Support 1 Where spawnbot_right TotalCount 24 MaxActive 4 SpawnCount 2 WaitBeforeStarting 9 WaitBetweenSpawns 9 TotalCurrency 50 WaitForAllDead "wave2b_huoheavymed" TFBot { Template T_TFBot_FireDemo } } // SUPPORT 1: Armored Axtinguisher Pyro WaveSpawn { Support 1 Where spawnbot_left Where spawnbot_right TotalCount 24 MaxActive 4 SpawnCount 2 WaitBeforeStarting 9 WaitBetweenSpawns 9 TotalCurrency 50 WaitForAllDead "wave2b_huoheavymed" TFBot { Template T_TFBot_Pyro_Axtinguisher_Armored } } // SQUAD: Giant heavy + uber meds WaveSpawn { Name "wave2c_giantheavy" Where spawnbot_left TotalCount 8 MaxActive 4 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 26 TotalCurrency 200 WaitForAllDead "wave2b_huoheavymed" Squad { TFBot { Template T_TFBot_Heavyweapons_Heater ClassIcon heavy_heater_giant Tag flank_left } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies Tag flank_left } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies Tag flank_left } TFBot { Template T_TFBot_Medic Attributes IgnoreEnemies Tag flank_left } } } // Giant Force-a-Nature Scout WaveSpawn { Name "wave2c_giantscout" Where spawnbot_right TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 28 WaitBetweenSpawns 22 TotalCurrency 100 WaitForAllDead "wave2b_huoheavymed" TFBot { Template T_TFBot_Giant_Scout_FAN } } } //////////////////////////////////////////////////////////////////////////////// // Wave 3 - 1000 Currency //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Wave { InitWaveOutput { Target gamerules Action RunScriptCode Param " EntFire(`bombpath_choose_relay` `CancelPending`) EntFire(`bombpath_choose_relay` `Disable`) EntFire(`bombpath_left_relay` `Trigger`) " } StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //////////////////////////////////////// // Wave3A: 400 Currency // // - Steel Gauntlet Pusher (12x - LEFT) // - Soldier (27x - RIGHT) // - Fan O War Scout (36x - LEFT) // - Giant Deflector Heavy (2x - LEFT) // - Conch Soldier (8x - LEFT) //////////////////////////////////////// // Steel Gauntlet WaveSpawn { Name "wave3a_steelgauntlet" Where spawnbot_left TotalCount 12 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 18 TotalCurrency 20 TFBot { Template T_TFBot_Heavy_IronFist_Airblast ClassIcon heavy_steelfist_pusher } } // Soldier WaveSpawn { Name "wave3a_soldier" Where spawnbot_right TotalCount 27 MaxActive 6 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 30 TFBot { Class Soldier Skill Normal } } // FOW Scouts WaveSpawn { Name "wave3a_fowscout" Where spawnbot_left TotalCount 36 MaxActive 8 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 50 TFBot { Template T_TFBot_Scout_FanOWar } } // Giant Deflector Heavy + conch soldiers WaveSpawn { Name "wave3a_giantheavy" Where spawnbot_left TotalCount 10 MaxActive 5 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 24 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } } } //////////////////////////////////////// // Wave3B: 600 Currency // // - Demoman (Support 1 - RANDOM L/R) // - Scout (24x - RANDOM L/R) // - Tank (20000 HEALTH - LEFT) // - Crit-Boosted Demoknight (30x - LEFT) // - Crit-Boosted Giant Samurai Demoknight (4x - RIGHT) // - Uber Medic (3x - RIGHT) // - Conch Soldier (6x - RIGHT) //////////////////////////////////////// // Scout WaveSpawn { Name "wave3b_scout" Where spawnbot_left Where spawnbot_right TotalCount 20 MaxActive 4 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 5 WaitForAllDead "wave3a_giantheavy" TotalCurrency 50 TFBot { Class Scout Skill Normal } } // Tank WaveSpawn { Name "wave3b_tank" TotalCurrency 150 TotalCount 1 WaitBeforeStarting 8 WaitForAllDead "wave3a_giantheavy" Tank { Health 20000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Crit-boosted Demoknights WaveSpawn { Name "wave3b_critdemoknight" Where spawnbot_left WaitForAllDead "wave3a_giantheavy" TotalCount 10 MaxActive 5 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 14 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } WaveSpawn { Name "wave3b_critdemoknight" Where spawnbot_left WaitForAllDead "wave3a_giantheavy" TotalCount 15 MaxActive 5 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 14 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } // Giant Crit-boosted Demoknights WaveSpawn { Name "wave3b_giantcritdemoknight" Where spawnbot_right WaitForAllDead "wave3a_giantheavy" TotalCount 12 MaxActive 8 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 10 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demo_Katana Tag flank_right Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_QuickUber_SlowRecharge Tag flank_right CharacterAttributes { "move speed bonus" 1.3 } } TFBot { Template T_TFBot_Soldier_Extended_Concheror Tag flank_right } TFBot { Template T_TFBot_Soldier_Extended_Concheror Tag flank_right } } } //////////////////////////////////////// // Wave3C: 400 Currency // // - Giant Rapid Fire Soldier (2x - RIGHT) // - Steel Gauntlet Pusher (4x - RIGHT) // - Battalion's Backup Soldier (4x - RIGHT) // - Armored Medic (4x - RIGHT) // - Loch-n-Load Demoman (SUPPORT 1 - RIGHT) // - Heavy (SUPPORT 1 - LEFT) //////////////////////////////////////// // Loch-n-Load Demoman (SUPPORT 1) WaveSpawn { Support 1 Where spawnbot_right TotalCount 15 MaxActive 6 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 4 WaitForAllDead "wave3b_giantcritdemoknight" TotalCurrency 50 TFBot { Template T_TFBot_Demo_Loch } } // Heavy (SUPPORT 1) WaveSpawn { Support 1 Where spawnbot_left TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 6 WaitForAllDead "wave3b_giantcritdemoknight" TotalCurrency 50 TFBot { Class Heavy MaxVisionRange 1200 Skill Normal } } // SQUAD: Giant Rapid Fire Soldier + Backup Soldiers + Armored QF Meds WaveSpawn { Name "wave3c_giantsoldierpusher" Where spawnbot_left TotalCount 14 MaxActive 6 SpawnCount 1 WaitBeforeStarting 18 WaitBetweenSpawns 26 WaitForAllDead "wave3b_giantcritdemoknight" TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickFix_ArmoredNoUber } TFBot { Template T_TFBot_Medic_QuickFix_ArmoredNoUber } TFBot { Template T_TFBot_Medic_QuickFix_ArmoredNoUber } TFBot { Template T_TFBot_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } } //////////////////////////////////////////////////////////////////////////////// // Wave 4 - 1200 Currency //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Wave { InitWaveOutput { Target gamerules Action RunScriptCode Param " EntFire(`bombpath_choose_relay` `CancelPending`) EntFire(`bombpath_choose_relay` `Disable`) EntFire(`bombpath_left_relay` `Trigger`) " } StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //////////////////////////////////////// // Wave4A: 600 Currency // // - Giant FaN Scout (1x - LEFT) // - Bonk Scout (24x - LEFT) // - Super Scout (4x - LEFT) // - Soldier (32x - RIGHT) // - Crit Boosted Giant Black Box Soldier (2x - RIGHT) //////////////////////////////////////// WaveSpawn { Name "wave4a_giantfanscout" Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 TotalCurrency 60 TFBot { Template T_TFBot_Giant_Scout_FAN } } WaveSpawn { Name "wave4a_bonkscout" Where spawnbot_left TotalCount 28 MaxActive 8 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 80 TFBot { Template T_TFBot_Scout_Bonk } } WaveSpawn { Name "wave4a_superscout" Where spawnbot_left TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 23 WaitBetweenSpawns 15 TotalCurrency 160 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "wave4a_soldier" Where spawnbot_right TotalCount 36 MaxActive 8 SpawnCount 4 WaitBeforeStarting 13 WaitBetweenSpawns 7 TotalCurrency 80 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "wave4a_giantsoldier" Where spawnbot_right TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 24 TotalCurrency 220 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Attributes AlwaysCrit } } //////////////////////////////////////// // Wave4B: 600 Currency // // - Tank (2x15000 - LEFT+RIGHT) // - Scout (24x - CAVE) // - Crit-Boosted Fish Scout (32x - CAVE) // - Crit-Boosted Giant Burst Fire Soldier (2x - RIGHT) // - Giant Quick-Fix Medic (2x - RIGHT) //////////////////////////////////////// // Left Tank WaveSpawn { Name "wave4b_tankleft" TotalCurrency 150 TotalCount 1 WaitBeforeStarting 10 WaitForAllDead "wave4a_giantsoldier" WaitForAllSpawned "wave4a_superscout" Tank { Health 15000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // Right Tank WaveSpawn { Name "wave4b_tankright" TotalCurrency 150 TotalCount 1 WaitBeforeStarting 22 WaitForAllDead "wave4a_giantsoldier" WaitForAllSpawned "wave4a_superscout" Tank { Health 15000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave4b_scout" Where spawnbot_lower TotalCount 24 MaxActive 6 SpawnCount 3 WaitForAllDead "wave4a_giantsoldier" WaitForAllSpawned "wave4a_superscout" WaitBeforeStarting 16 WaitBetweenSpawns 6 TotalCurrency 50 TFBot { Class Scout Skill Hard } } WaveSpawn { Name "wave4b_scout_bat" Where spawnbot_lower TotalCount 32 MaxActive 8 SpawnCount 4 WaitForAllDead "wave4a_giantsoldier" WaitForAllSpawned "wave4a_superscout" WaitBeforeStarting 16 WaitBetweenSpawns 6 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Fish ClassIcon scout_fish_nys // CUSTOM ICON Skill Hard Attributes AlwaysCrit } } WaveSpawn { Name "wave4b_giantsoldier" Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 1 WaitForAllDead "wave4a_giantsoldier" WaitForAllSpawned "wave4a_superscout" WaitBeforeStarting 35 WaitBetweenSpawns 35 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Medic_Regen ClassIcon medic_regen_giant } } } } //////////////////////////////////////////////////////////////////////////////// // Wave 5 FINAL - 1000 Currency //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Wave { InitWaveOutput { Target gamerules Action RunScriptCode Param " EntFire(`bombpath_choose_relay` `CancelPending`) EntFire(`bombpath_choose_relay` `Disable`) EntFire(`bombpath_right_relay` `Trigger`) IncludeScript(`popextensions_main.nut`) PopExt.AddRobotTag(`starting_clip_fix`, { OnSpawn = function(bot, params) { local weapon = bot.GetActiveWeapon() if (weapon == null) return weapon.SetClip1(weapon.GetMaxClip1()); }, }) " } StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } //////////////////////////////////////// // Wave5A: 400 Currency // // - Armored Black Box Soldier (10x - RIGHT) // - Armored Quick-Fix Medic (10x - RIGHT) // - Loch n Load Demoman (30x - LEFT) // - Deflector Heavy (4x - LEFT) // - Giant Rapid-Fire Buff Banner Soldier (2x - LEFT) // - Giant Medic (2x - LEFT) //////////////////////////////////////// // Loch Demos WaveSpawn { Name "wave5a_lochdemo" Where spawnbot_left TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 9 WaitBetweenSpawns 3 TotalCurrency 70 TFBot { Template T_TFBot_Demo_Loch } } // Giant Buff Banner Soldier + Giant Medic + Deflector Heavies WaveSpawn { Name "wave5a_giantsoldier" Where spawnbot_left TotalCount 8 MaxActive 8 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Soldier_BuffBanner_Spammer } TFBot { Template T_TFBot_Giant_Medic_PopEarly } TFBot { Template T_TFBot_Heavyweapons_Deflector Skill Expert } TFBot { Template T_TFBot_Heavyweapons_Deflector Skill Expert } } } // Armored Black Box Soldier + Armored Quick Fix Medic WaveSpawn { Name "wave5a_blackboxmed" TotalCount 12 Where spawnbot_right MaxActive 4 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 80 Squad { TFBot { Template T_TFBot_Soldier_RocketShotgun_Armored } TFBot { Template T_TFBot_Medic_Armored } } } //////////////////////////////////////// // Wave5B: 600 Currency // // - Tank (1x30000 - RIGHT) // - Pyro (Support LIMITED - RIGHT) // - Fan O War Scout (Support LIMITED - RIGHT) // - Reflecting Crit Pyros (9x LEFT) // - Crit-Boosted Giant Clusterbomber Demoman (3x LEFT) // - Giant Medic (3x LEFT) // - Major League Spammer (3x - RIGHT) //////////////////////////////////////// // Tank WaveSpawn { Name "wave5b_tank" TotalCurrency 100 TotalCount 1 WaitBeforeStarting 5 WaitForAllDead "wave5a_giantsoldier" Tank { Health 30000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Support Limited Where spawnbot_right TotalCurrency 100 TotalCount 40 MaxActive 8 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 2 WaitForAllSpawned "wave5b_tank" Squad { TFBot { Template T_TFBot_Scout_Baseball_DeathMark Attributes Aggressive } TFBot { Class Pyro Skill Easy Attributes Aggressive Attributes AlwaysFireWeapon } } } // Giant Demo + Giant Med + Pyros WaveSpawn { Name "wave5b_giantdemo" Where spawnbot_left TotalCurrency 200 TotalCount 15 MaxActive 10 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 32 WaitForAllDead "wave5a_giantsoldier" Squad { TFBot { Template T_TFBot_Giant_Demo_ClusterBomb Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Medic_Regen ClassIcon medic_regen_giant } TFBot { Template T_TFBot_Pyro Skill Hard Attributes AlwaysCrit ClassIcon pyro_reflect } TFBot { Template T_TFBot_Pyro Skill Hard Attributes AlwaysCrit ClassIcon pyro_reflect } TFBot { Template T_TFBot_Pyro Skill Hard Attributes AlwaysCrit ClassIcon pyro_reflect } } } // Giant Sandman Spammers WaveSpawn { Name "wave5b_giantsandmanspammer" Where spawnbot_right TotalCurrency 200 TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 22 WaitBetweenSpawns 32 WaitForAllDead "wave5a_giantsoldier" Squad { TFBot { Template T_TFBot_Giant_Scout_Baseball_Spammer ClassIcon scout_stun_spammer_giant Attributes AlwaysCrit Tag flank_right } } } } }