#base robot_giant.pop #base robot_standard.pop population { StartingCurrency 600 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom no Advanced 1 AddSentryBusterWhenDamageDealtExceeds 2500 AddSentryBusterWhenKillCountExceeds 17 Templates { } Mission { Objective DestroySentries InitialCooldown 20 Where spawnbot_mission_sentrybuster BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 25 RandomChoice { TFBot { Template T_TFBot_SentryBuster } TFBot { Template T_TFBot_SentryBuster } TFBot { Template T_TFBot_SentryBuster } TFBot { Template T_TFBot_SentryBuster } TFBot { Template T_TFBot_SentryBuster } TFBot { Class Spy Name "Sneaky Buster" Skill Expert Scale 1 Health 500 ClassIcon sentry_buster Attributes SuppressFire Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 } } TFBot { Class Demoman Name "Speedy Buster" Skill Expert Health 2500 Item "The Ullapool Caber" ClassIcon sentry_buster Attributes MiniBoss Attributes DisableDodge WeaponRestrictions MeleeOnly Item "The Frontier Djustice" Item "The Concheror" Attributes SpawnWithFullCharge CharacterAttributes { "move speed bonus" 2 "head scale" 2 "torso scale" 0.3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 "increase buff duration" 9 } } TFBot { Class Scout Name "Ping Pong Buster" Skill Expert Health 2500 WeaponRestrictions MeleeOnly ClassIcon sentry_buster Item "The Sandman" Item "Batter's Helmet" ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.2 "damage causes airblast" 1 "max health additive penalty" -0 } Attributes MiniBoss Attributes DisableDodge CharacterAttributes { "move speed bonus" 2 "head scale" 2 "torso scale" 0.3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } } TFBot { Class Demoman Name "Mine Buster" Skill Expert Health 2500 WeaponRestrictions PrimaryOnly Item "The Iron Bomber" Item "Head Banger" ItemAttributes { ItemName "The Iron Bomber" "faster reload rate" 0.1 "fire rate bonus" 0.3 "Projectile speed increased" 0.01 } ClassIcon sentry_buster Attributes MiniBoss Attributes DisableDodge Attributes AlwaysFireWeapon CharacterAttributes { "move speed bonus" 2 "head scale" 2 "torso scale" 0.3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } } TFBot { Class Demoman Name "Charging Buster" Skill Expert Health 2500 ClassIcon sentry_buster Item "EOTL_winter_pants" Item "The Tide Turner" Attributes DisableDodge Attributes Miniboss CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } ItemAttributes { ItemName "The Tide Turner" "charge time increased" 7 "charge recharge rate increased" 7 "Attack not cancel charge" 1 } } Squad { TFBot { Class Demoman Name "Mama Buster" Skill Expert Health 2500 Item "The Ullapool Caber" WeaponRestrictions MeleeOnly ClassIcon sentry_buster Attributes MiniBoss Attributes DisableDodge CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } } TFBot { Class Demoman Name "Dave" Skill Easy Health 500 Item "Pyro's Beanie" WeaponRestrictions PrimaryOnly ClassIcon sentry_buster Attributes DisableDodge Attributes Suppressfire CharacterAttributes { "move speed bonus" 2 "head scale" 2 "torso scale" 0.3 "voice pitch scale" 2.1 "bombinomicon effect on death" 1 } } TFBot { Class Demoman Name "Bob" Skill Easy Health 500 Item "Pyro's Beanie" WeaponRestrictions PrimaryOnly ClassIcon sentry_buster Attributes DisableDodge Attributes Suppressfire CharacterAttributes { "move speed bonus" 2 "voice pitch scale" 2.2 "head scale" 2 "torso scale" 0.3 "bombinomicon effect on death" 1 } } } } } Mission { Objective Engineer Where spawnbot DesiredCount 1 BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 10 CooldownTime 45 TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn } } Mission { Objective Sniper Where spawnbot_mission_sniper DesiredCount 1 BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 10 CooldownTime 30 TFBot { Class Sniper Name "Yoink Sniper" ClassIcon sniper_blast Skill Expert Scale 1.3 Health 650 Item "Thousand-Yard Stare" ItemAttributes { ItemName "Thousand-Yard Stare" "item style override" 1 } Item "The Cammy Jammies" Item "Crosshair Cardigan" ItemAttributes { ItemName "TF_WEAPON_SNIPERRIFLE" "damage bonus" 0.5 "apply z velocity on damage" 300 "apply look velocity on damage" -1500 } ItemAttributes { ItemName "TF_WEAPON_CLUB" "damage bonus" 0.5 "fire rate bonus" 0.5 } CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.85 "damage force reduction" 0.1 "health regen" 1 } } } Mission { Objective Spy Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 35 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_mission_sniper DesiredCount 1 BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 10 CooldownTime 30 TFBot { Class Sniper Name "Yoink Sniper" ClassIcon sniper_blast Skill Expert Scale 1.3 Health 650 Item "Thousand-Yard Stare" ItemAttributes { ItemName "Thousand-Yard Stare" "item style override" 1 } Item "The Cammy Jammies" Item "Crosshair Cardigan" ItemAttributes { ItemName "TF_WEAPON_SNIPERRIFLE" "damage bonus" 0.5 "apply z velocity on damage" 300 "apply look velocity on damage" -1500 } ItemAttributes { ItemName "TF_WEAPON_CLUB" "damage bonus" 0.5 "fire rate bonus" 0.5 } } } Wave { WaitWhenDone 60 Checkpoint Yes StartWaveOutput { Target wave_start_relay_noreset_1b Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Cyberplant (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "a1" TotalCurrency 400 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 17000 Name Tank Speed 75 StartingPathTrackNode tank_path_a_10 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "a2" TotalCurrency 100 TotalCount 45 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name "a3" TotalCurrency 50 TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 8 Where flankers TFBot { Class Soldier Skill Easy } } WaveSpawn { Name "a4" WaitForAllSpawned "a3" TotalCurrency 200 TotalCount 18 MaxActive 12 SpawnCount 6 WaitBeforeStarting 1 WaitBetweenSpawns 20 Where spawnbot_mission_sniper Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Class Medic Name "Short Uber Medic" ClassIcon medic_uber Skill Normal Attributes SpawnWithFullCharge Item "dec2014 Surgeon's Shako" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "uber duration bonus" -3 } } TFBot { Class Soldier Skill Easy } TFBot { Class Soldier Skill Easy } TFBot { Class Soldier Skill Easy } TFBot { Class Soldier Skill Easy } } } WaveSpawn { Name "asupport" WaitForAllSpawned "a3" TotalCurrency 50 TotalCount 50 MaxActive 6 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 4 Where spawnbot Support 1 TFBot { Class Heavyweapons Name "Heavy Mittens" Skill Expert ClassIcon heavy_mittens WeaponRestrictions MeleeOnly Health 300 Attributes AlwaysCrit Item "The Holiday Punch" ItemAttributes { ItemName "The Holiday Punch" "damage bonus" 0.2 } } } } Wave { WaitWhenDone 60 Checkpoint Yes StartWaveOutput { Target wave_start_relay_noreset_1b Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Cyberplant (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "b1" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 18 Where spawnbot_chief TFBot { Template T_TFBot_Giant_Soldier } } WaveSpawn { Name "b1" TotalCurrency 100 TotalCount 30 MaxActive 14 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot Where flankers RandomChoice { TFBot { Template T_TFBot_Scout_Bonk } TFBot { Template T_TFBot_Demoman_Knight } TFBot { Template T_TFBot_Heavyweapons_Shotgun MaxVisionRange 1000 } TFBot { Template T_TFBot_Pyro_Flaregun } TFBot { Class Soldier Name "Uncharged Soldier" ClassIcon soldier_crit Item "The Original" ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } } } } WaveSpawn { Name "b2" WaitForAllSpawned "b1" TotalCurrency 100 TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 12 WaitBetweenSpawns 15 Where spawnbot_mission_sniper Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "b2" WaitForAllSpawned "b1" TotalCurrency 100 TotalCount 24 MaxActive 12 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Soldier_RocketShotgun } } WaveSpawn { Name "b3" WaitForAllSpawned "b2" TotalCurrency 200 TotalCount 8 MaxActive 5 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 16 Where spawnbot_mission_sniper Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer } TFBot { Name "Kritzkrieg Medic" Class Medic ClassIcon medic_kritz2 Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "The Virus Doctor" Item "The Overdose" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 92 } CharacterAttributes { "bot medic uber health threshold" 225 } } TFBot { Name "Kritzkrieg Medic" Class Medic ClassIcon medic_kritz2 Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "The Virus Doctor" Item "The Overdose" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 92 } CharacterAttributes { "bot medic uber health threshold" 225 } } TFBot { Name "Kritzkrieg Medic" Class Medic ClassIcon medic_kritz2 Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "The Virus Doctor" Item "The Overdose" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 92 } CharacterAttributes { "bot medic uber health threshold" 225 } } } } WaveSpawn { Name "b3" WaitForAllSpawned "b2" TotalCurrency 50 TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 5 Where flankers TFBot { Class Heavy Skill Normal } } WaveSpawn { Name "b3" WaitForAllSpawned "b2" TotalCurrency 50 TotalCount 24 MaxActive 9 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Pyro Skill Easy } } WaveSpawn { Name "b4" WaitForAllSpawned "b3" TotalCurrency 50 TotalCount 6 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 11 Where spawnbot_chief Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } TFBot { Class Medic Name "Shield Medic" ClassIcon medic_shield_lite Skill Expert WeaponRestrictions SecondaryOnly Attributes SpawnWithFullCharge Attributes ProjectileShield Attributes IgnoreEnemies ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "generate rage on heal" 2 "ubercharge rate bonus" 0.1 } CharacterAttributes { "bot medic uber deploy delay duration" 900 "increase buff duration" 900 } } } } WaveSpawn { Name "b4" WaitForAllSpawned "b3" TotalCurrency 50 TotalCount 50 MaxActive 9 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 4 Support 1 Where flankers RandomChoice { TFBot { Class Scout Skill Easy } TFBot { Class Scout Skill Hard WeaponRestrictions MeleeOnly } } } } Wave { WaitWhenDone 60 Checkpoint Yes StartWaveOutput { Target wave_start_relay_noreset_1b Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Cyberplant (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "c1" TotalCurrency 100 TotalCount 4 MaxActive 3 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 20 Where spawnbot_chief Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "c1" TotalCurrency 100 TotalCount 28 MaxActive 12 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 6 Where spawnbot TFBot { Template T_TFBot_Pyro_Flaregun } } WaveSpawn { Name "c2" WaitForAllSpawned "c1" TotalCurrency 100 TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawns 14 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Baseball } } WaveSpawn { Name "c2" WaitForAllSpawned "c1" TotalCurrency 100 TotalCount 36 MaxActive 9 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 3 Where spawnbot Where flankers TFBot { Class Soldier Item "The Liberty Launcher" ItemAttributes { ItemName "The Liberty Launcher" "Projectile speed increased" 1 } Skill Normal } } WaveSpawn { Name "c2" WaitForAllSpawned "c1" TotalCurrency 100 TotalCount 16 MaxActive 8 SpawnCount 4 WaitBeforeStarting 18 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner CharacterAttributes { "single wep deploy time increased" 0.5 } } TFBot { Class Demoman Skill Normal Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "Projectile speed increased" 1 } } TFBot { Class Demoman Skill Normal Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "Projectile speed increased" 1 } } TFBot { Class Demoman Skill Normal Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "Projectile speed increased" 1 } } } } WaveSpawn { Name "c3" WaitForAllSpawned "c2" TotalCurrency 200 TotalCount 9 MaxActive 6 SpawnCount 3 WaitBeforeStarting 7 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner CharacterAttributes { "single wep deploy time increased" 0.5 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner CharacterAttributes { "single wep deploy time increased" 0.5 } } } } WaveSpawn { Name "c3" WaitForAllSpawned "c2" TotalCurrency 100 TotalCount 24 MaxActive 9 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 5 Where flankers TFBot { Class Demoman Skill Normal Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "Projectile speed increased" 1 } } } } Wave { WaitWhenDone 60 Checkpoint Yes StartWaveOutput { Target wave_start_relay_noreset_1b Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Cyberplant (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "d1" TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_chief TFBot { Template T_TFBot_Giant_Scout_Fast Name "Killer Fish" } } WaveSpawn { Name "d1" TotalCurrency 100 TotalCount 20 MaxActive 12 SpawnCount 4 WaitBeforeStarting 3 WaitBetweenSpawns 4 Where spawnbot_chief TFBot { Class Soldier Name "Shock Trooper Soldier" ClassIcon heavy_shotgun_atmoic_v2 Skill Hard WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "auto fires full clip" 1 "auto fires when full" 1 "dmg bonus vs buildings" 3 "damage bonus" 5.0 "override projectile type" 13 "clip size bonus" 0.66 "faster reload rate" 0.6 "fire rate bonus" 0.3 "projectile speed increased" 1.5 } } } WaveSpawn { Name "d1" TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } TFBot { Template T_TFBot_Scout_Sandman_FastCharge } TFBot { Template T_TFBot_Scout_Sandman_FastCharge } } } WaveSpawn { Name "d2" WaitForAllSpawned "d1" TotalCurrency 100 TotalCount 6 MaxActive 3 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 20 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Giant_Scout_Fast } TFBot { Template T_TFBot_Giant_Scout_Fast } } } WaveSpawn { Name "d2" WaitForAllSpawned "d1" TotalCurrency 100 TotalCount 30 MaxActive 6 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 6 Where flankers TFBot { Class Scout Skill Easy } } WaveSpawn { Name "d2" WaitForAllSpawned "d1" TotalCurrency 100 TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 9 Where spawnbot TFBot { Class Pyro Skill Normal Attributes AlwaysFireWeapon } } WaveSpawn { Name "d3" WaitForAllSpawned "d2" TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 12 WaitBetweenSpawns 6 Where spawnbot TFBot { Class Soldier Name "Shock Trooper Soldier" ClassIcon heavy_shotgun_atmoic_v2 Skill Hard WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "auto fires full clip" 1 "auto fires when full" 1 "dmg bonus vs buildings" 3 "damage bonus" 5.0 "override projectile type" 13 "clip size bonus" 0.66 "faster reload rate" 0.6 "fire rate bonus" 0.3 "projectile speed increased" 1.5 } } } WaveSpawn { Name "d3" WaitForAllSpawned "d2" TotalCurrency 50 TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 8 Where flankers TFBot { Class Pyro Skill Normal Attributes AlwaysFireWeapon } } WaveSpawn { Name "d3" WaitForAllSpawned "d2" TotalCurrency 50 TotalCount 8 MaxActive 4 SpawnCount 4 WaitBeforeStarting 12 WaitBetweenSpawns 20 Where spawnbot Squad { TFBot { Template T_TFBot_Heavyweapons_Heater } TFBot { Class Soldier Skill Normal } TFBot { Template T_TFBot_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Pyro_Flaregun } } } WaveSpawn { Name "d4" WaitForAllSpawned "d3" TotalCurrency 25 TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 12 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } TFBot { Name "Kritzkrieg Medic" Class Medic ClassIcon medic_kritz2 Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "The Virus Doctor" Item "The Overdose" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 92 } CharacterAttributes { "bot medic uber health threshold" 225 } } TFBot { Name "Kritzkrieg Medic" Class Medic ClassIcon medic_kritz2 Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "The Virus Doctor" Item "The Overdose" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 92 } CharacterAttributes { "bot medic uber health threshold" 225 } } } } WaveSpawn { Name "d5" WaitForAllSpawned "d4" TotalCurrency 25 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_giant } TFBot { Class Medic Name "Shield Medic" ClassIcon medic_shield_lite Skill Expert WeaponRestrictions SecondaryOnly Attributes SpawnWithFullCharge Attributes ProjectileShield Attributes IgnoreEnemies ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "generate rage on heal" 2 "ubercharge rate bonus" 0.1 } CharacterAttributes { "bot medic uber deploy delay duration" 900 "increase buff duration" 900 } } } } WaveSpawn { Name "dsupport" WaitForAllSpawned "d3" TotalCurrency 50 TotalCount 50 MaxActive 8 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 1 Support 1 Where flankers TFBot { Template T_TFBot_Scout_Fish Name "Smaller Killer Fish" Attributes AlwaysCrit Skill Expert ClassIcon scout_fish_nys } } } Wave { WaitWhenDone 60 Checkpoint Yes StartWaveOutput { Target wave_start_relay_noreset_1b Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Cyberplant (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "e1" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 19000 Name Tank Speed 75 StartingPathTrackNode tank_path_a_10 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "e2" TotalCurrency 100 TotalCount 36 MaxActive 8 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 4 Where spawnbot TFBot { Class Heavy ClassIcon heavy_deflector Name "Deflector Heavy" Skill Easy Item "The U-clank-a" Item "Deflector" MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } } WaveSpawn { Name "e2" TotalCurrency 100 TotalCount 24 MaxActive 6 SpawnCount 3 WaitBeforeStarting 1 WaitBetweenSpawns 6 Where flankers TFBot { Class Soldier Name "Charged Soldier" ClassIcon soldier_crit Item "The Original" Attributes AlwaysCrit ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } } } WaveSpawn { Name "e2" TotalCurrency 100 TotalCount 10 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6 Where spawnbot TFBot { Template T_TFBot_Scout_Shortstop } } WaveSpawn { Name "e3" WaitForAllSpawned "e2" TotalCurrency 50 TotalCount 9 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 20 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun } TFBot { Class Heavy ClassIcon heavy_deflector Name "Deflector Heavy" Skill Hard Item "The U-clank-a" Item "Deflector" MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } TFBot { Class Heavy ClassIcon heavy_deflector Name "Deflector Heavy" Skill Hard Item "The U-clank-a" Item "Deflector" MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } } } WaveSpawn { Name "e3" WaitForAllSpawned "e2" TotalCurrency 50 TotalCount 4 MaxActive 3 SpawnCount 2 WaitBeforeStarting 35 WaitBetweenSpawns 20 Where flankers TFBot { Template T_TFBot_Giant_Scout_Jumping_Sandman Attributes AlwaysCrit } } WaveSpawn { Name "e3" WaitForAllSpawned "e2" TotalCurrency 25 TotalCount 20 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 4 Where flankers Where spawnbot TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "e3" WaitForAllSpawned "e2" TotalCurrency 25 TotalCount 20 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 4 Where flankers Where spawnbot TFBot { Class Scout Skill Easy } } WaveSpawn { Name "e4" WaitForAllSpawned "e3" TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 28000 Name Tank Speed 75 StartingPathTrackNode tank_path_a_10 Skin 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "e4" WaitForAllSpawned "e3" TotalCurrency 50 TotalCount 9 MaxActive 6 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 20 Where spawnbot TFBot { Template T_TFBot_Giant_Demo_Burst Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "faster reload rate" 0.65 //35% faster reload "fire rate bonus" 0.1 "clip size upgrade atomic" 7.0 "projectile spread angle penalty" 5 "Projectile speed increased" 1 } } } WaveSpawn { Name "e4" WaitForAllSpawned "e3" TotalCurrency 50 TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 10 Where spawnbot TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "e4" WaitForAllSpawned "e3" TotalCurrency 100 TotalCount 100 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 8 Support 1 Where flankers TFBot { Template T_TFBot_Soldier_RocketPush } } } Wave { WaitWhenDone 60 Checkpoint Yes StartWaveOutput { Target wave_start_relay_noreset_1b Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Cyberplant (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "f1" TotalCurrency 100 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_chief TFBot { Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { Name "f2" WaitForAllDead "f1" TotalCurrency 100 TotalCount 4 MaxActive 3 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 17 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "f2" WaitForAllDead "f1" TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 7 WaitBetweenSpawns 5 Where flankers Squad { TFBot { Class Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Medic_BigHeal Name "Bigheal Medic" Item "The Surgeon's Stahlhelm" } } } WaveSpawn { Name "f3" WaitForAllDead "f2" TotalCurrency 82 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot_chief TFBot { Class Soldier Name "Cyberplant" ClassIcon soldier_rocketshotgun_lite Skill Expert Health 35000 Item "Spine-Chilling Skull" Item "Bread Biter" WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload ItemAttributes { ItemName "Spine-Chilling Skull" "set item tint rgb" 8421376 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size bonus" 0.75 "fire rate bonus" 0.75 "faster reload rate" 0.6 "damage bonus" 2 } CharacterAttributes { "health regen" 50 "move speed bonus" 0.35 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } } WaveSpawn { Name "f4" WaitForAllDead "f2" TotalCurrency 6 TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where flankers TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name "f4" WaitForAllDead "f2" TotalCurrency 6 TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where flankers TFBot { Template T_TFBot_Soldier_Extended_Concheror } } WaveSpawn { Name "f4" WaitForAllDead "f2" TotalCurrency 6 TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where flankers TFBot { Template T_TFBot_Soldier_Extended_Battalion } } WaveSpawn { Name "f5" WaitForAllDead "f4" TotalCurrency 100 TotalCount 100 MaxActive 8 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 6 Support 1 Where spawnbot TFBot { Class Soldier Name "Shock Trooper Soldier" ClassIcon heavy_shotgun_atmoic_v2 Skill Hard WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "auto fires full clip" 1 "auto fires when full" 1 "dmg bonus vs buildings" 3 "damage bonus" 5.0 "override projectile type" 13 "clip size bonus" 0.66 "faster reload rate" 0.6 "fire rate bonus" 0.3 "projectile speed increased" 1.5 } } } WaveSpawn { Name "f5" WaitForAllDead "f4" TotalCurrency 100 TotalCount 100 MaxActive 6 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 6 Support 1 Where flankers TFBot { Class Heavyweapons Name "Heavy Mittens" Skill Expert ClassIcon heavy_mittens WeaponRestrictions MeleeOnly Health 300 Attributes AlwaysCrit Item "The Holiday Punch" ItemAttributes { ItemName "The Holiday Punch" "damage bonus" 0.2 } } } } }