#base robot_standard.pop #base robot_giant.pop // #base wooper_weapons.pop // spawns: // spawnbot - main spawn // spawnbot_right - cloudpiercer side // spawnbot_left - forest side // spawnbot_mission_sniper - both sides // spawnbot_tunnel_flank - self-explanatory // spawnbot_parachute - cool stuff happens // // for parachute bots // Tag parachute // Tag common // TEST 1 FEEDBACK // - add annotations for parachute bots // - replace some sunsticks on w3 with demos // - rework helicopter heavy // - w5 gmachinas didnt do much, replace gchargeds with something stronger // - check if reserve shooters are good enough, maybe add ubers? // - make w6 pyros spawn near giants // - cosmetic stretch on boss // - give angle spread to boss mangler // - stronger boss supports maybe // TEST 2 FEEDBACK // - add parachute icon to medics // - do more stuff with bird boss? maybe spawns baby heavies // - wave 6 whips dont work? // - unmobber both bosses WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 3 Advanced 1 NoRomevisionCosmetics 1 // AddSentryBusterWhenDamageDealtExceeds 1 // for testing Templates { T_TFBot_Parachute { Tag parachute Tag common Item "The B.A.S.E. Jumper" CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Demoman_Knight_Fire { Class Demoman Name "Blazing Demoknight" ClassIcon demoknight_fire Skill Hard Item "The Chargin' Targe" Item "The Eyelander" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 "set damagetype ignite" 1 "attach particle effect" 13 } } T_TFBot_Pyro_Volcano { Class Pyro ClassIcon vex_pyro_volaxe Name "Volcano Fragment Pyro" Skill Expert WeaponRestrictions MeleeOnly Item "Sharpened Volcano Fragment" } T_TFBot_Giant_Sniper_Huntsman { Class Sniper ClassIcon sniper_bow_giant Name "Giant Bowman" Health 3000 Skill Expert Attributes MiniBoss Tag bot_giant Item "The Huntsman" Item "Larrikin Robin" CharacterAttributes { "airblast vulnerability multiplier" 0.50 "override footstep sound set" 7.0 "damage force reduction" 0.50 "move speed bonus" 0.50 } } T_TFBot_Giant_Pyro_DF // ===== Pyros ===== { Class Pyro ClassIcon pyro_dragon_fury_swordstone Name "Giant Fury Pyro" Health 3300 Skill Hard Attributes MiniBoss Tag bot_giant MaxVisionRange 1000 Item "The Dragon's Fury" Item "Pyro Helm" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6 } } T_TFBot_Medic_Vac_Bullet { Class Medic ClassIcon medic_bullet Name "Bullet Vaccinator Medic" Skill Expert Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "uber duration bonus" 900 "ubercharge rate bonus" 900 "effect cond override" 67 } CharacterAttributes { "heal rate bonus" 2 "addcond immunity" 67 "bot medic uber health threshold" 226 } } T_TFBot_Medic_Vac_Blast { Class Medic ClassIcon medic_blast Name "Blast Vaccinator Medic" Skill Expert Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "uber duration bonus" 900 "ubercharge rate bonus" 900 "effect cond override" 68 } CharacterAttributes { "heal rate bonus" 2 "addcond immunity" 68 "bot medic uber health threshold" 226 } } T_TFBot_Medic_Vac_Fire { Class Medic ClassIcon medic_fire Name "Fire Vaccinator Medic" Skill Expert Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "uber duration bonus" 900 "ubercharge rate bonus" 900 "effect cond override" 69 } CharacterAttributes { "heal rate bonus" 2 "addcond immunity" 69 "bot medic uber health threshold" 226 } } T_TFBot_Sniper_Shiv { Class Sniper ClassIcon sniper_jug_trivalshiv Name "Shiv Sniper" Skill Expert WeaponRestrictions MeleeOnly Item "The Tribalman's Shiv" } T_TFBot_Soldier_Bison_Armored { Class Soldier ClassIcon soldier_bison_a_armored Name "Armored Bison Soldier" Skill Expert Health 650 Scale 1.3 WeaponRestrictions SecondaryOnly Item "The Righteous Bison" } T_TFBot_Giant_Demoman_Charged { Class Demoman Name "Giant Charged Demoman" ClassIcon demo_charged Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 2 "clip size upgrade atomic" -3 "mult projectile scale" 2 "dmg bonus vs buildings" 3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "hand scale" 1.7 } } T_TFBot_Demoman_Charged { Class Demoman Name "Charged Demoman" ClassIcon demo_charged Skill Normal WeaponRestrictions PrimaryOnly Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 2 "clip size upgrade atomic" -3 "mult projectile scale" 2 "dmg bonus vs buildings" 3 } CharacterAttributes { "hand scale" 1.7 } } T_TFBot_Giant_Pyro_Flare_Rain { Class Pyro ClassIcon pyro_flare_rain_nys Name "Giant Flare Rain Pyro" Health 3000 Skill Expert Attributes MiniBoss Tag bot_giant WeaponRestrictions SecondaryOnly Item "The Flare Gun" ItemAttributes { ItemName "The Flare Gun" "projectile spread angle penalty" 6.0 "Projectile speed decreased" 0.5 "clip size upgrade atomic" 50.0 "fire rate bonus" 0.08 } CharacterAttributes { "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6.0 "damage force reduction" 0.60 "move speed bonus" 0.50 } } T_TFBot_Scout_Sunny { Class Scout ClassIcon scout_sunstick_swordstone Name "Sun Scout" Skill Expert WeaponRestrictions MeleeOnly Item "Sun-on-a-Stick" } T_TFBot_Heavyweapons_Heater_Mini { Class Heavy ClassIcon heavy_heater Name "Heater Heavy" Skill Normal Item "The Huo Long Heatmaker" Item "The Bunsen Brave" } T_TFBot_Soldier_Blast_Single { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Item "The Liberty Launcher" Name "Blast Soldier" ClassIcon soldier_blast_single ItemAttributes { ItemName "The Liberty Launcher" "damage causes airblast" 1 "damage bonus" .45 "Blast radius decreased" 1.2 } } T_TFBot_Giant_Heavy_Flying { Class Heavyweapons Skill Expert Health 20000 Name "Beautiful Bird" ClassIcon heavy_chicken_kiev Item "The Chicken Kiev" Item "Wings of Purity" WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar EventChangeAttributes { Default { Attributes AlwaysCrit Attributes AlwaysFireWeapon Item "TF_WEAPON_ROCKETLAUNCHER" Item "The Killing Gloves of Boxing" ItemAttributes { ItemName "The Killing Gloves of Boxing" // "fire rate bonus" 0.6 "damage bonus" 0.01 "apply z velocity on damage" 500 "apply look velocity on damage" 200 "hit self on miss" 1 "cancel falling damage" 1 "is_passive_weapon" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "is invisible" 1 "fire rate bonus" 0.8 "faster reload rate" 0.01 "override projectile type extra" "stunball" } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 "no self blast dmg" 1 "override footstep sound set" 2 } ChangeAttributes { Name "HalfHealth" IfHealthBelow 10000 } } HalfHealth { Item "The Killing Gloves of Boxing" Item "The Huo Long Heatmaker" CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 "no self blast dmg" 1 "override footstep sound set" 2 } ItemAttributes { ItemName "The Killing Gloves of Boxing" "hit self on miss" 0 "cancel falling damage" 1 "is_passive_weapon" 0 } } } } T_TFBot_Soldier_Spammer_BattsNoCharge { Class Soldier ClassIcon soldier_backup Name "Backup Soldier" Skill Normal Item "The Battalion's Backup" } T_TFBot_Scout_Fast { Class Scout ClassIcon scout_giant_fast Name "Super Scout Junior" Skill Easy WeaponRestrictions MeleeOnly Item "The Holy Mackerel" Item "Bonk Boy" CharacterAttributes { "move speed bonus" 2 } } T_TFBot_Scout_Cola { Class Scout ClassIcon scout_cola Name "Cola Scout" Skill Normal Item "Crit-a-Cola" } T_TFBot_Soldier_DirectHit { Class Soldier ClassIcon soldier_directhit_lite Name "Direct Hit Soldier" Skill Hard Item "The Direct Hit" } T_TFBot_Pyro_DF { Class Pyro ClassIcon pyro_dragon_fury_swordstone Name "Dragon's Fury Pyro" Skill Normal Item "The Dragon's Fury" MaxVisionRange 1000 } T_TFBot_Medic_Crossbow { Class Medic ClassIcon medic_crossbow Name "Crossbow Medic" Skill Hard Item "The Crusader's Crossbow" Action FetchFlag } T_TFBot_Giant_Soldier_Reserve { Class Soldier ClassIcon shotgun_reserve_spammer Name "Giant Rapid Reserve Soldier" Health 3800 Skill Expert Attributes MiniBoss Tag bot_giant Item "The Reserve Shooter" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Reserve Shooter" "faster reload rate" 0.0 "fire rate bonus" 0.60 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.4 "damage force reduction" 0.4 "override footstep sound set" 3 } } T_TFBot_Spy_Charging { Class Spy ClassIcon spy Name "Persian Spy" Skill Expert Item "The Tide Turner" Item "Fleet Commander" WeaponRestrictions MeleeOnly Action Mobber MoveBehindEnemy 1 StripItem "TF_WEAPON_INVIS" CharacterAttributes { "cannot disguise" 1 "mult cloak meter consume rate" 99 "charge impact damage decreased" 1 } ItemAttributes { ItemName "The Tide Turner" "is invisible" 1 } FireWeapon { Type "Secondary" Delay 0 Cooldown 1 IfSeeTarget 1 } } T_TFBot_Demoman_Stickybomb_RapidFire { Class Demoman ClassIcon demo_sticky_daan Name "Rapid Fire Sticky Demoman" Skill Hard WeaponRestrictions SecondaryOnly ItemAttributes // Makes them not spin around, since they use the Grenade Launcher's animations { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27.0 "faster reload rate" 0.0 "fire rate bonus" 0.60 } ItemAttributes // Makes them not spin around, since they use the Grenade Launcher's animations { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "faster reload rate" 0.0 "fire rate bonus" 0.60 "stickybomb charge rate" 0 } } T_TFBot_Giant_Medic_Shield { Class Medic ClassIcon medic_shield_lite_giant Name "Giant Shield Medic" Health 4500 Skill Expert Attributes MiniBoss Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Physician's Protector" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 "heal rate bonus" 201 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "health from healers increased" 0.005 "airblast vulnerability multiplier" 0.60 } } T_TFBot_Pyro_BackBurner { Class Pyro ClassIcon pyro_backburner_nys Name "Backburner Pyro" Skill Normal Item "The Backburner" } T_TFBot_Medic_Shield_Kritz { Class Medic ClassIcon medic_kritz_shield Name "Kritz Shield Medic" Skill Expert Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Item "Power Spike" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "uber duration bonus" 900 "ubercharge rate bonus" 900 "generate rage on heal" 1 "effect cond override" 11 } CharacterAttributes { "heal rate bonus" 2 "bot medic uber health threshold" 226 } } T_TFBot_Giant_Sniper_Machina { Class Sniper ClassIcon sniper_machina_nys Name "Giant Machina Sniper" Health 3000 Skill Expert Attributes MiniBoss Tag bot_giant Item "The Machina" CharacterAttributes { "airblast vulnerability multiplier" 0.50 "override footstep sound set" 7.0 "damage force reduction" 0.50 "move speed bonus" 0.50 } } T_TFBot_Scout_Back_Scatter { Class Scout ClassIcon scout_backscatter_lite Name "Back Scatter Scout" Skill Normal Item "The Back Scatter" } T_TFBot_Sniper_Classic { Class Sniper Skill Expert ClassIcon sniper_classic_sif Name "Classic Sniper" Item "The Classic" Attributes SuppressFire Action FetchFlag Tag bot_giant AimAt Head FireWeapon { IfSeeTarget 1 Duration 3 Type "Primary" Delay 0 Cooldown 3.1 } Health 1200 Scale 1.5 CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.85 "cannot taunt" 1 } } T_TFBot_Soldier_Mangler { Class Soldier ClassIcon soldier_mangler Name "Cow Mangler Soldier" Skill Hard Item "The Cow Mangler 5000" } T_TFBot_Soldier_Shovel { Class Soldier ClassIcon soldier_shovel Name "Shovel Soldier" Skill Expert WeaponRestrictions MeleeOnly } T_TFBot_Soldier_Samurai { Class Soldier ClassIcon demoknight_samurai Name "Samurai Soldier" Skill Expert WeaponRestrictions MeleeOnly Item "The Half-Zatoichi" } T_TFBot_Soldier_Bazooka { Class Soldier ClassIcon soldier_bazooka Name "Bazooka Soldier" Skill Hard Item "The Beggar's Bazooka" Item "Bucket Hat" ItemAttributes { ItemName "The Beggar's Bazooka" "auto fires full clip" 0.0 "auto fires when full" 0.0 "can overload" 0.0 } } T_TFBot_Soldier_RocketPush_Single { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly Item "The Liberty Launcher" Name "Blast Soldier" ClassIcon soldier_libertylauncher ItemAttributes { ItemName "The Liberty Launcher" "damage causes airblast" 1 "damage bonus" .45 "Blast radius decreased" 1.2 } } T_TFBot_Soldier_Bison { Class Soldier ClassIcon soldier_bison Name "Bison Soldier" Skill Expert WeaponRestrictions SecondaryOnly Item "The Righteous Bison" } T_TFBot_Soldier_Equalizer { Class Soldier ClassIcon soldier_equalizer Name "Equalizer Soldier" Skill Expert WeaponRestrictions MeleeOnly Item "The Equalizer" } T_TFBot_Soldier_Shotgun { Class Soldier ClassIcon shotgun_lite Name "Shotgun Soldier" Skill Normal WeaponRestrictions SecondaryOnly } T_TFBot_Soldier_Reserve_Shooter { Class Soldier ClassIcon shotgun_reserve_lite Name "Reserve Shooter Soldier" Skill Normal WeaponRestrictions SecondaryOnly Item "The Reserve Shooter" } T_TFBot_Soldier_Crit_Banner { Class Soldier Name "Crit Banner Soldier" Skill Normal ClassIcon soldier_crit_banner_sif Attributes SpawnWithFullCharge Item "The Buff Banner" ItemAttributes { ItemName "The Buff Banner" "effect cond override" 56 "increase buff duration" 9.0 } } T_TFBot_Soldier_Whip { Class Soldier ClassIcon soldier_disciplinary Name "Whip Soldier" Skill Expert WeaponRestrictions MeleeOnly Item "The Disciplinary Action" Attributes AlwaysFireWeapon } T_TFBot_Soldier_AirStrike { Name "Air Strike Soldier" Class Soldier Skill Normal ClassIcon soldier_airstrike_lite Item "The Air Strike" Attributes SuppressFire FireWeapon { Delay 5 Cooldown 5 Duration 0.5 Type Jump } FireWeapon { Delay 6 Cooldown 5 Duration 1.4 Type Primary } ItemAttributes { ItemName "The Air Strike" "faster reload rate" 0.8 "fire rate bonus" 0.35 } CharacterAttributes { "cancel falling damage" 1 "increased jump height" 2.3 } } T_TFBot_Soldier_Trolldier { ClassIcon soldier_gib_jumper_lite Class Soldier Name "Trolldier" Skill Expert Action Mobber WeaponSwitch { Type "Melee" MaxTargetRange 300 MinTargetRange 1 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 9999 MinTargetRange 301 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } ItemAttributes { ItemName "Rocket Jumper" "override projectile type" 3 "fuse bonus" 0.25 "faster reload rate" 0.01 "damage bonus" 0.01 "fire rate bonus" 1.2 "clip size bonus" 5 "apply look velocity on damage" 1300 "apply z velocity on damage" 250 "Projectile speed increased HIDDEN" 2 "projectile no deflect" 1 } ItemAttributes { Itemname "the market gardener" "deploy time decreased" 0.01 } ItemAttributes { Itemname "The Mantreads" "increased air control" 4 } CharacterAttributes { "blast dmg to self increased" 0.2 "cancel falling damage" 1 "increased jump height" 0.9 "melee range multiplier" 2.5 } Item "Rocket Jumper" Item "the market gardener" Item "The Mantreads" } T_TFBot_Demoman_FireFlower { Class Demoman Name "Fireball Demoman" Skill Normal Item "The Iron Bomber" Item "The Candyman's Cap" ClassIcon demo_fire ItemAttributes { ItemName "The Iron Bomber" "projectile trail particle" "burninggibs" "Set DamageType Ignite" 1 } } T_TFBot_Spy_Diamondback { Class Spy Class spy_diamond Name "Diamondback Spy" Skill Expert Item "The Diamondback" EventChangeAttributes { Default { WeaponRestrictions MeleeOnly ItemAttributes { ItemName "TF_WEAPON_KNIFE" "fire input on kill" "!activator^$ChangeAttributes^Shoot" "fire input on kill name restrict" "player" "critboost on kill" 5 } } Shoot { Item "The Diamondback" WeaponRestrictions SecondaryOnly ActionOverride Mobber CharacterAttributes { "cannot disguise" 1 } FireInput { Target !activator Action $ChangeAttributes Param Default Delay 5 } } } } } Mission // sentry buster { Objective DestroySentries InitialCooldown 15 Where spawnbot BeginAtWave 1 RunForThisManyWaves 9 CooldownTime 40 TFBot { Template T_TFBot_SentryBuster } } Wave // WAVE 01 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "1-1a" Where spawnbot_right SpawnCount 3 MaxActive 6 TotalCount 18 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Volcano } } WaveSpawn { Name "1-1a" Where spawnbot SpawnCount 3 MaxActive 6 TotalCount 24 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Flaregun } } WaveSpawn { Name "1-2a" WaitForAllSpawned "1-1a" Where spawnbot_right SpawnCount 1 MaxActive 4 TotalCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 12 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Sniper_Huntsman } } WaveSpawn { Name "1-2a" WaitForAllSpawned "1-1a" Where spawnbot SpawnCount 4 MaxActive 8 TotalCount 24 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Class Pyro Attributes AlwaysFireWeapon Skill Easy } } WaveSpawn { Name "1-2b" // WaitForAllSpawned "1-1a" Where spawnbot_parachute SpawnCount 3 MaxActive 5 TotalCount 15 TotalCurrency 50 WaitBeforeStarting 10 WaitBetweenSpawns 5 FirstSpawnWarningSound vo\mvm\norm\soldier_mvm_specialcompleted04.mp3 TFBot { Class Soldier Skill Normal ClassIcon soldier Tag parachute Tag common Item "The B.A.S.E. Jumper" Item "The Liberty Launcher" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name "1-3" WaitForAllSpawned "1-2a" Where spawnbot SpawnCount 4 MaxActive 8 TotalCount 20 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast } } } WaveSpawn { Name "1-4" WaitForAllSpawned "1-2a" Where spawnbot SpawnCount 1 MaxActive 2 TotalCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 15 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Pyro_DF } } WaveSpawn { Name "1-sup" WaitForAllSpawned "1-2a" Where spawnbot_left SpawnCount 3 MaxActive 4 TotalCount 12 Support 1 WaitBeforeStarting 7 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Heavyweapons_Shotgun } } } Wave // WAVE 02 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "2-1a" Where spawnbot SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Boxing_Heavy } TFBot { Class Medic ClassIcon medic_shield_ala Name "Shield Medic" Skill Expert Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Item "The Physician's Protector" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 } } } } WaveSpawn { Name "2-1b" Where spawnbot WaitForAllSpawned "2-1a" WaitBeforeStarting 16 SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Boxing_Heavy } TFBot { Class Medic ClassIcon medic_shield_ala Name "Shield Medic" Skill Expert Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Item "The Physician's Protector" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 } } } } WaveSpawn { Name "2-1c" Where spawnbot WaitForAllSpawned "2-1b" WaitBeforeStarting 16 SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Boxing_Heavy } TFBot { Class Medic ClassIcon medic_shield_ala Name "Shield Medic" Skill Expert Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Item "The Physician's Protector" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 } } } } WaveSpawn { Name "2-1d" Where spawnbot_right SpawnCount 1 MaxActive 6 TotalCount 20 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Class Demoman Skill Normal } } WaveSpawn { Name "2-1e" Where spawnbot_tunnel_flank WaitForAllSpawned "2-1d" SpawnCount 4 MaxActive 6 TotalCount 16 WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "2-2" Where spawnbot_left SpawnCount 1 MaxActive 2 TotalCount 2 WaitForAllDead "2-1c" WaitBeforeStarting 15 WaitBetweenSpawns 15 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored } } WaveSpawn { Name "2-3" Where spawnbot SpawnCount 3 MaxActive 9 TotalCount 9 WaitForAllSpawned "2-2" WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Demoman_Charged } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "2-sup" Where spawnbot_left SpawnCount 2 MaxActive 8 TotalCount 16 Support 1 WaitForAllDead "2-1e" WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name "2-sup" Where spawnbot_parachute WaitForAllSpawned "2-1d" SpawnCount 4 MaxActive 4 TotalCount 12 Support 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Wrap_Assassin ClassIcon scout_wrap_lite ItemAttributes { ItemName "The Wrap Assassin" "effect bar recharge rate increased" 0.25 } } } } Wave // WAVE 03 { InitWaveOutput { Target bignet Action RunScriptCode Param "IncludeScript(`tankextensions_main`, getroottable()) IncludeScript(`tankextensions/combattank`, getroottable()) IncludeScript(`tankextensions/combattank_weapons/rocketpod`, getroottable()) TankExt.AddTankIcon(1, `tank_combat_rocket`, `combattank_bomb|rocketpod|rocketpod`)" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "3-1a" Where spawnbot_parachute SpawnCount 1 MaxActive 5 TotalCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 16 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Flare_Rain ClassIcon pyro_flare_rain_nys Tag parachute Tag common Item "The B.A.S.E. Jumper" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name "3-1b" Where spawnbot_tunnel_flank SpawnCount 1 MaxActive 8 TotalCount 22 WaitBetweenSpawns 1.5 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Sunny } } WaveSpawn { Name "3-1b" Where spawnbot SpawnCount 1 MaxActive 5 TotalCount 25 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_FireFlower } } WaveSpawn { Name "3-1c" WaitForAllSpawned "3-1b" Where spawnbot_right SpawnCount 4 MaxActive 8 TotalCount 16 WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Heavyweapons_Heater_Mini Skill Normal } } WaveSpawn // 20k tank { Name "3-2" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 150 WaitForAllDead "3-1a" WaitForAllSpawned "3-1b" Tank { Name "combattank_bomb|rocketpod" Health 20000 Speed 75 StartingPathTrackNode "tank_path_left_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "3-sup" Where spawnbot SpawnCount 1 MaxActive 4 TotalCount 20 Support 1 WaitForAllDead "3-1a" WaitForAllSpawned "3-1b" WaitBetweenSpawns 1 TotalCurrency 50 TFBot { Class Scout Skill Normal } } WaveSpawn { Name "3-sup" Where spawnbot_left SpawnCount 2 MaxActive 4 TotalCount 10 Support 1 WaitForAllDead "3-1a" WaitForAllSpawned "3-1b" WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Soldier_RocketShotgun } } } Wave // WAVE 04 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "4-1a" Where spawnbot_parachute SpawnCount 12 MaxActive 15 TotalCount 36 TotalCurrency 70 TFBot { Template T_TFBot_Medic_Crossbow Tag parachute Tag common Item "The B.A.S.E. Jumper" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name "4-1b" Where spawnbot SpawnCount 1 MaxActive 4 TotalCount 4 TotalCurrency 80 WaitBetweenSpawns 9 TFBot { Template T_TFBot_Giant_Scout } } WaveSpawn { Name "4-2" WaitForAllSpawned "4-1a" Where spawnbot SpawnCount 2 MaxActive 10 TotalCount 20 WaitBetweenSpawns 2 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "4-2" WaitForAllSpawned "4-1a" Where spawnbot SpawnCount 1 MaxActive 3 TotalCount 3 WaitBetweenSpawns 18 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier Attributes AlwaysCrit } } WaveSpawn { Name "4-boss" WaitBeforeStarting 5 Where spawnbot SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Heavy_Flying Action Mobber } } WaveSpawn { Name "4-sup" Where spawnbot_left WaitForAllSpawned "4-2" SpawnCount 1 MaxActive 4 TotalCount 12 Support 1 WaitBetweenSpawns 5 TotalCurrency 150 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { Name "4-sup" Where spawnbot_right WaitForAllSpawned "4-1b" SpawnCount 1 MaxActive 5 TotalCount 12 Support 1 WaitBetweenSpawns 6 TotalCurrency 150 TFBot { Template T_TFBot_Scout_Fast } } } Wave // WAVE 05 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "5-1a" Where spawnbot_right SpawnCount 1 MaxActive 7 TotalCount 28 TotalCurrency 100 WaitBetweenSpawns 0.6 TFBot { Template T_TFBot_Soldier_DirectHit } } WaveSpawn { Name "5-1b" Where spawnbot SpawnCount 2 MaxActive 8 TotalCount 8 TotalCurrency 150 WaitBetweenSpawns 12 TFBot { Template T_TFBot_Giant_Soldier_Reserve } } WaveSpawn { Name "5-2a" WaitForAllSpawned "5-1a" Where spawnbot_right SpawnCount 4 MaxActive 9 TotalCount 40 TotalCurrency 100 WaitBeforeStarting 9 WaitBetweenSpawns 3 TFBot { Class Demoman ClassIcon demo_sticky_daan Name "Stickybomb Demoman" Skill Hard WeaponRestrictions SecondaryOnly ItemAttributes // Makes them not spin around, since they use the Grenade Launcher's animations { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27.0 } } } WaveSpawn { Name "5-2b" WaitForAllSpawned "5-1b" Where spawnbot_left SpawnCount 1 MaxActive 4 TotalCount 12 TotalCurrency 100 WaitBeforeStarting 15 WaitBetweenSpawns 2 TFBot { Class Heavy Skill Normal Item "Tomislav" ClassIcon heavy_accurate } } WaveSpawn { Name "5-sup" WaitForAllSpawned "5-2b" Where spawnbot_tunnel_flank SpawnCount 5 MaxActive 7 TotalCount 10 Support 1 TotalCurrency 50 WaitBeforeStarting 10 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Scout_Back_Scatter } } WaveSpawn { Name "5-sup" Where spawnbot_parachute SpawnCount 2 MaxActive 2 TotalCount 5 Support 1 WaitBeforeStarting 20 WaitBetweenSpawns 25 TFBot { Template T_TFBot_Giant_Sniper_Machina Action Sniper Tag parachute Tag common Item "The B.A.S.E. Jumper" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name "5-3b" WaitForAllSpawned "5-2b" Where spawnbot SpawnCount 2 MaxActive 6 TotalCount 6 TotalCurrency 100 WaitBetweenSpawns 22 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Giant_Soldier_Spammer } } } } Wave // WAVE 06 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "6-1" Where spawnbot SpawnCount 4 MaxActive 8 TotalCount 8 TotalCurrency 150 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Crit_Banner Item "The Team Captain" } } } WaveSpawn { Name "6-2a" WaitForAllSpawned "6-1" Where spawnbot_right SpawnCount 4 MaxActive 8 TotalCount 32 TotalCurrency 100 WaitBeforeStarting 12 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Pyro_DF } } WaveSpawn { Name "6-2b" WaitForAllSpawned "6-1" Where spawnbot SpawnCount 2 MaxActive 4 TotalCount 8 TotalCurrency 100 WaitBeforeStarting 16 WaitBetweenSpawns 14 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "6-2c" WaitForAllSpawned "6-1" Where spawnbot SpawnCount 1 MaxActive 5 TotalCount 10 TotalCurrency 75 WaitBeforeStarting 25 WaitBetweenSpawns 8 TFBot { Template T_TFBot_Soldier_Crit_Banner } } WaveSpawn { Name "6-sup" Where spawnbot_right SpawnCount 3 MaxActive 6 TotalCount 12 Support 1 TotalCurrency 75 WaitBeforeStarting 10 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast } } } Wave // WAVE 07 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "7-scouts" Where spawnbot_left SpawnCount 1 MaxActive 3 TotalCount 3 TotalCurrency 100 WaitBetweenSpawns 6 TFBot { Template T_TFBot_Giant_Scout_Baseball } } WaveSpawn // 25k tank { Name "tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 TotalCurrency 150 Tank { Name "tankboss" Health 25000 Speed 75 StartingPathTrackNode "tank_path_left_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "7-1" Where spawnbot SpawnCount 1 MaxActive 7 TotalCount 44 TotalCurrency 100 WaitBeforeStarting 1 WaitBetweenSpawns 1 RandomChoice { Shuffle 1 TFBot { Class Spy Skill Expert Item "The Dead Ringer" ClassIcon spy_ringer Name "Dead Ringer Spy" } TFBot { Template T_TFBot_Spy_Diamondback } } } WaveSpawn { Name "7-2" Where spawnbot_right SpawnCount 1 MaxActive 6 TotalCount 24 TotalCurrency 100 WaitBeforeStarting 45 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Demoman_Charged } } WaveSpawn { Name "7-2" Where spawnbot_parachute SpawnCount 1 MaxActive 6 TotalCount 24 TotalCurrency 100 WaitBeforeStarting 55 WaitBetweenSpawns 1 TFBot { Class Soldier Skill Normal ClassIcon soldier Tag parachute Tag common Item "The B.A.S.E. Jumper" Attributes AlwaysCrit CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name "boss" Where spawnbot WaitForAllSpawned "7-2" SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 3 TotalCurrency 300 TFBot { Class Heavy ClassIcon heavy_electric Name "Brother Tesla" Health 33000 Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Item "Lo-Fi Longwave" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6 "rage giving scale" 0.4 } EventChangeAttributes { Default { Item "TF_WEAPON_GRENADELAUNCHER" WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "override projectile type extra" "spelllightningorb" "projectile gravity" -600 "mod max primary clip override" -1 "fire rate penalty" 5 "projectile lifetime" 1.5 } ChangeAttributes { IfHealthBelow 16000 Name "HalfLife" Delay 0 Repeats 1 } } HalfLife { Item "Iron Curtain" WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "Iron Curtain" "minigun spinup time increased" 3 "override projectile type" 12 "projectile acceleration" 600 // "projectile acceleration start time" 1 "Projectile speed decreased" 0.1 "projectile spread angle penalty" 3 "ignores other projectiles" 1 } } } } } WaveSpawn { Name "boss-sup" Where spawnbot_mission_sniper SpawnCount 1 MaxActive 10 TotalCount 20 Support 1 TotalCurrency 200 WaitForAllSpawned "7-2" WaitBeforeStarting 5 WaitBetweenSpawns 1 RandomChoice { TFBot { Template T_TFBot_Demoman_FireFlower } TFBot { Class Scout ClassIcon scout_bonk_scatter_nys Name "Bonk Scout" Skill Normal Item "Bonk! Atomic Punch" Item "Bonk Helm" } TFBot { Class Soldier Skill Hard } } } } }