//kelly //advanced //MASSIVE thanks to royal who went out of his way to make the spell logic for Subject: M.W.A.G // // Starting Currency: 400 // // +----------+----------+----------+ // | Wave | Currency | A+ | // +----------+----------+----------+ // | Wave 1 | 700 | 800 | // | Wave 2 | 800 | 900 | // | Wave 3 | 800 | 900 | // | Wave 4 | 800 | 900 | // | Wave 5 | 800 | 900 | // | Wave 6 | 800 | 900 | // | Wave 7 | 1000 | 1100 | // +----------+----------+----------+ // | Total | 5700 | 6400 | // +----------+----------+----------+ // #base robot_standard.pop #base robot_giant.pop WaveSchedule { StartingCurrency 400 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom no ForceHoliday 2 EventPopfile Halloween ZombiesNoWave666 1 Advanced 1 PrecacheModel "models\bots\merasmus\merasmus.mdl" PrecacheModel "models/weapons/w_models/w_drg_ball.mdl" //LuaScriptFile "scripts/boss_spells.lua" PointTemplates { SpellsGenerator { OnSpawnOutput { Target "popscript" Action "$SpellGenerator" Param "20" // chance for a rare spell roll, common spell roll is 100 minus sent value (i.e if rare is 33%, common is 67%) } } } PlayerSpawnTemplate { Name SpellsGenerator } Templates { T_TFBot_Pyro_Elite { Class Pyro Health 900 Skill Hard WeaponRestrictions PrimaryOnly Item "The Flare Gun" Name "Elite Pyro" ClassIcon pyro_upgraded Scale 1.4 ItemAttributes { ItemName "tf_weapon_flamethrower" "damage bonus" 1.3 } CharacterAttributes { "move speed bonus" 0.85 "health regen" 10 "damage force reduction" 0.7 "airblast vertical vulnerability multiplier" 0.6 "airblast vulnerability multiplier" 0.6 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_Atomic { Class Soldier Name "Giant Atomic Soldier" ClassIcon soldier_atomic_dex Skill Expert Health 3800 Item "The Original" Attributes AlwaysCrit WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 4 "Projectile speed increased" 0.3 "blast radius increased" 2 "use large smoke explosion" 1 "damage bonus" 2 "damage causes airblast" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Giant_Demo_Atomic { Class Demoman Name "Giant Atomic Demoman" ClassIcon demo_atomic_mort Item "Glengarry Bonnet" Health 3000 Skill Expert Item "The Loose Cannon" WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes AlwaysCrit ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "faster reload rate" 4 "fire rate bonus" 3.5 "clip size bonus" 0.25 "Projectile speed increased" 1.2 "projectile spread angle penalty" 5 "damage bonus" 2 "fuse bonus" 1.5 "damage causes airblast" 1 "blast radius increased" 2 "use large smoke explosion" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_Rapid_SlowBarrage { Class Soldier Name "Giant Rapid Barrage Soldier" ClassIcon soldier_barrage Health 4000 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 6 "faster reload rate" 0.2 "fire rate bonus" 0.17 "projectile spread angle penalty" 5 } CharacterAttributes { "health regen" 40 "move speed bonus" 0.5 "damage bonus" 1.2 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "Projectile speed increased" 0.35 "cancel falling damage" 1 } } T_TFBot_Soldier_Boss1 { Class Soldier Health 17000 Name "Infinity Overload" ClassIcon soldier_spammer Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Item "The Team Captain" Item "Fancy Dress Uniform" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.4 "fire rate bonus" 0.8 "fire rate bonus with reduced health" 0.45 "projectile speed increased" 0.65 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_SlowCritBarrage { Class Soldier Name "Major Crits" ClassIcon soldier_barrage Health 4000 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 26.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 } CharacterAttributes { "health regen" 40 "move speed bonus" 0.5 "damage bonus" 1.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "Projectile speed increased" 0.35 "cancel falling damage" 1 } } T_TFBot_Giant_Pyro_FireballDude { Health 3200 Name "Giant Dragon Fury Pyro" Class Pyro Skill Hard item "the dragon's fury" Item "The Triclops" classicon pyro_dragon_fury_giant_swordstone MaxVisionRange 600 Attributes AlwaysFireWeapon Attributes MiniBoss Tag bot_giant CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Heavy_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 } } T_TFBot_Pyro_Boss2 { Class Pyro Health 30000 ClassIcon pyro_flare_rain_nys Name "Flare Maelstrom" Skill Expert WeaponRestrictions SecondaryOnly Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Item "Brigade Helm" Item "The Last Breath" Item "The Steel Sixpack" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "faster reload rate" 0.2 "projectile speed increased" 1.4 "projectile range increased" 1.4 } CharacterAttributes { "move speed bonus" 0.35 "health regen" 50 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0 "cancel falling damage" 1 } } T_TFBot_Sniper_Huntsman_Bleed_Minor { Class Sniper Name "Minor Bleed Bowman" Skill Hard ClassIcon sniper_bow_bleed WeaponRestrictions PrimaryOnly Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "bleeding duration" 2 } } T_TFBot_Sniper_Huntsman_Bleed_Major { Class Sniper Name "Major Bleed Bowman" Skill Hard ClassIcon sniper_bow_bleed2 WeaponRestrictions PrimaryOnly Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "bleeding duration" 6 } } T_TFBot_Demo_Cannon_Burst { Name "Burst Cannon Demo" Class Demoman ClassIcon demo_loosecannon Skill Hard Item "The Loose Cannon" ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" -1 "auto fires full clip" 1 "auto fires when full" 1 "fire rate bonus" 0.1 "faster reload rate" 0.8 "clip size penalty" 0.75 } } T_TFBot_Sniper_Boss3 { Class Sniper Health 40000 Skill Expert ClassIcon boss_merasmus_strapped Name "Subject: M.W.A.G" UseCustomModel "models\bots\merasmus\merasmus.mdl" Action Mobber UseHumanModel 1 UseHumanAnimations 1 Skin 0 //Item "TF_WEAPON_SPELLBOOK" //SpawnTemplate SpellsGenerator Attributes MiniBoss Attributes UseBossHealthBar Attributes AlwaysFireWeapon ChangeAttributes { Delay 0 Cooldown 18 Name "SMG" } ChangeAttributes { Delay 6 Cooldown 18 Name "SniperRifle" } ChangeAttributes { Delay 12 Cooldown 18 Name "Magic" } //FireWeapon // { // Delay 1 // Cooldown 1 // Type "Action" //} ItemAttributes { ItemName "TF_WEAPON_CLUB" "is invisible" 1 } CharacterAttributes { "move speed bonus" 0.3 "hand scale" 2 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0 "cancel falling damage" 1 } EventChangeAttributes { SMG { WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "tf_weapon_smg" "clip size bonus" 10 "fire rate bonus" 0.6 "fire rate bonus with reduced health" 0.25 "faster reload rate" 1.5 "damage bonus" 2 "spread penalty" 1.7 } ItemAttributes { ItemName "tf_weapon_rocketlauncher" "is_passive_weapon" 0 } } SniperRifle { WeaponRestrictions PrimaryOnly Item "The Machina" ItemAttributes { ItemName "The Machina" "sniper only fire zoomed" 0 "faster reload rate" 0.5 } } Magic { WeaponRestrictions MeleeOnly Item "tf_weapon_rocketlauncher" ItemAttributes { ItemName "tf_weapon_rocketlauncher" "projectile trail particle" "spell_fireball_small_red" "custom projectile model" "models/weapons/w_models/w_drg_ball.mdl" "projectile speed increased" 0.4 "projectile spread angle penalty" 20 "mod projectile heat seek power" 35 "mod projectile heat aim error" 90 "mod projectile heat aim time" 4 "Set DamageType Ignite" 1 "mult projectile count" 20 "damage bonus" 0.75 "faster reload rate" -0.4 "fire rate bonus" 6 "is_passive_weapon" 1 "is invisible" 1 } } } } T_TFBot_Medic_Kritz { Class Medic Skill Expert ClassIcon medic_kritz Name "Kritz Medic" Attributes SpawnWithFullCharge Attributes AlwaysCrit Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 200 } CharacterAttributes { "bot medic uber health threshold" 200 } } } Mission { Objective Spy Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective DestroySentries Where spawnbot_any BeginAtWave 1 RunForThisManyWaves 7 InitialCooldown 30 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 6 RunForThisManyWaves 2 InitialCooldown 30 CooldownTime 45 DesiredCount 3 TFBot { Template T_TFBot_Sniper } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 3 RunForThisManyWaves 2 InitialCooldown 45 CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 45 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Spy Name "Saharan Spy" Item "Your Eternal Reward" Item "The Familiar Fez" Item "L'Etranger" } } //600 Wave { StartWaveOutput { Target wave1_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation { Line "{29FF5D}The aliens are invading!" Line "{29FF5D}Their superior technology allows them to clone Gray Mann's robots!" } WaveSpawn { Name wave1a TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 10 WaitBeforeStarting 6 WaitBetweenSpawns 3 Where spawnbot_right TFBot { Class Soldier Skill Normal } } WaveSpawn { Name wave1a TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 6 WaitBeforeStarting 6 WaitBetweenSpawns 3 Where spawnbot_right TFBot { Template T_TFBot_Medic_Quickfix } } WaveSpawn { Name wave1a TotalCurrency 50 SpawnCount 4 MaxActive 4 TotalCount 12 WaitBeforeStarting 6 WaitBetweenSpawns 6 Where spawnbot_left TFBot { Class Scout Skill Normal } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 SpawnCount 2 MaxActive 6 TotalCount 24 WaitBeforeStarting 6 WaitBetweenSpawns 3 Where spawnbot_right TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 SpawnCount 2 MaxActive 6 TotalCount 24 WaitBeforeStarting 2 WaitBetweenSpawns 2 Where spawnbot TFBot { Template T_TFBot_Scout_SunStick Name "Sun on a Stick Scout" ClassIcon scout_sunstick } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Template T_TFBot_Giant_Pyro } } WaveSpawn { Name wave1c WaitForAllDead wave1b TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Medic_SlowRecharge } } } WaveSpawn { Name wave1c WaitForAllDead wave1b TotalCurrency 50 SpawnCount 6 MaxActive 6 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_right TFBot { Class Soldier Skill Easy } } WaveSpawn { Name wave1c WaitForAllDead wave1b TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 6 WaitBeforeStarting 10 WaitBetweenSpawns 2 Where spawnbot_right TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave1c WaitForAllDead wave1b TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot_right TFBot { Template T_TFBot_Scout_SunStick Name "Sun on a Stick Scout" ClassIcon scout_sunstick } } } //800 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation { Line "{29FF5D}In addition to robots, those pesky aliens are also able to clone tanks!" } WaveSpawn { Name wave2tanky SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 8 TotalCurrency 200 StartWaveOutput { Target saucer_tank_relay Action Trigger } Tank { Health 12578 Speed 65 StartingPathTrackNode tank_path_a Name "tankboss" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave2asniper TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 8 WaitBeforeStarting 6 WaitBetweenSpawns 7 Where spawnbot_right Squad { TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name wave2a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 16 WaitBeforeStarting 6 WaitBetweenSpawns 1.5 Where spawnbot_right TFBot { Class Demoman Skill Normal } } WaveSpawn { Name wave2a TotalCurrency 50 SpawnCount 4 MaxActive 6 TotalCount 16 WaitBeforeStarting 6 WaitBetweenSpawns 3 Where spawnbot_left TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name wave2b1 WaitForAllDead wave2a TotalCurrency 100 SpawnCount 4 MaxActive 4 TotalCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Medic_SlowRecharge } TFBot { Template T_TFBot_Medic_SlowRecharge } TFBot { Template T_TFBot_Medic_SlowRecharge } } } WaveSpawn { Name wave2b WaitForAllDead wave2a TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 20 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_aerial StartWaveOutput { Target saucer_airraid_relay Action Trigger } TFBot { Class Demoman CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave2b WaitForAllDead wave2b1 TotalCurrency 50 SpawnCount 8 MaxActive 8 TotalCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_aerial TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave2c WaitForAllDead wave2b TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_left TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave2c WaitForAllDead wave2b TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Soldier_Extended_Concheror } } WaveSpawn { Name wave2c WaitForAllDead wave2b TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Giant_Boxing_Heavy } } WaveSpawn { Name wave2c WaitForAllDead wave2b TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 16 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Sniper_Huntsman } } } //800 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave3a TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_aerial StartWaveOutput { Target saucer_airraid_relay Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3a TotalCurrency 50 SpawnCount 4 MaxActive 6 TotalCount 10 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_aerial TFBot { Template T_TFBot_Demoman_Knight CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave3a TotalCurrency 25 SpawnCount 4 MaxActive 8 TotalCount 20 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_aerial RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "cancel falling damage" 1 } } TFBot { Class Soldier CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 25 SpawnCount 2 MaxActive 4 TotalCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Pyro_FireballDude } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 50 SpawnCount 4 MaxActive 8 TotalCount 24 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_any TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 50 SpawnCount 4 MaxActive 4 TotalCount 12 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_any TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { Name wave3c1 WaitForAllDead wave3b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_right TFBot { Template T_TFBot_Giant_Soldier_Atomic } } WaveSpawn { Name wave3c1 WaitForAllDead wave3b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_left TFBot { Template T_TFBot_Giant_Demo_Atomic } } WaveSpawn { Name wave3c WaitForAllDead wave3c1 TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_left TFBot { Template T_TFBot_Giant_Demo_Atomic } } WaveSpawn { Name wave3c WaitForAllDead wave3c1 TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_right TFBot { Template T_TFBot_Giant_Soldier_Atomic } } WaveSpawn { Name wave3c2 WaitForAllDead wave3b TotalCurrency 50 SpawnCount 6 MaxActive 12 TotalCount 35 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_any RandomChoice { TFBot { Class Soldier } TFBot { Template T_TFBot_Heavyweapons_Shotgun } } } WaveSpawn { Name wave3c WaitForAllDead wave3b TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 20 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_any TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn { Name wave3c WaitForAllDead wave3c2 TotalCurrency 50 SpawnCount 10 MaxActive 10 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_any TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn { Name wave3d WaitForAllDead wave3c TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 0 Where spawnbot_aerial StartWaveOutput { Target saucer_airraid_relay Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3d WaitForAllDead wave3c TotalCurrency 50 SpawnCount 2 MaxActive 10 TotalCount 10 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_aerial Squad { TFBot { Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3d WaitForAllDead wave3c SpawnCount 4 MaxActive 4 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_any Support 1 TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave4tank SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 8 TotalCurrency 100 StartWaveOutput { Target saucer_tank_relay Action Trigger } Tank { Health 25000 Speed 65 StartingPathTrackNode tank_path_a Name "tankboss" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave4sniper TotalCurrency 100 SpawnCount 2 MaxActive 10 TotalCount 28 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot_any Squad { TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } } } WaveSpawn { Name wave4a TotalCurrency 100 SpawnCount 1 MaxActive 7 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_any TFBot { Class Soldier Skill Normal } } WaveSpawn { Name wave4support WaitForAllDead wave4sniper SpawnCount 3 MaxActive 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_any Support 1 TFBot { Class Pyro Skill Normal } } WaveSpawn { Name wave4b WaitForAllDead wave4a TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 1 Where spawnbot_aerial StartWaveOutput { Target saucer_airraid_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave4b WaitForAllDead wave4a TotalCurrency 100 SpawnCount 1 MaxActive 6 TotalCount 10 WaitBeforeStarting 8 WaitBetweenSpawns 4 Where spawnbot_aerial TFBot { Template T_TFBot_Pyro_Elite CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave4b WaitForAllDead wave4a TotalCurrency 100 SpawnCount 1 MaxActive 6 TotalCount 10 WaitBeforeStarting 8 WaitBetweenSpawns 4 Where spawnbot_aerial TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 100 SpawnCount 4 MaxActive 4 TotalCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowCritBarrage } TFBot { Template T_TFBot_Medic_Bigheal } TFBot { Template T_TFBot_Medic_Bigheal } TFBot { Template T_TFBot_Medic_Bigheal } } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 50 SpawnCount 1 MaxActive 2 TotalCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_any TFBot { Template T_TFBot_Pyro_Elite } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 50 SpawnCount 3 MaxActive 9 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_any TFBot { Class Soldier } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave5a TotalCurrency 100 SpawnCount 1 MaxActive 2 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 12 Where spawnbot_right TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } } WaveSpawn { Name wave5a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 26 WaitBeforeStarting 0.5 WaitBetweenSpawns 0.5 Where spawnbot_any TFBot { Class Demoman } } WaveSpawn { Name wave5a TotalCurrency 50 SpawnCount 1 MaxActive 5 TotalCount 26 WaitBeforeStarting 0.5 WaitBetweenSpawns 0.5 Where spawnbot_any TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name wave5support SpawnCount 1 MaxActive 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_any Support 1 TFBot { Class Scout Name "Milkman" Item "Mad Milk" WeaponRestrictions SecondaryOnly ClassIcon scout_milk Attributes AlwaysCrit ItemAttributes { ItemName "Mad Milk" "effect bar recharge rate increased" 0.001 } } } WaveSpawn { Name wave5b WaitForAllDead wave5a TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave5b WaitForAllDead wave5a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 16 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 Where spawnbot_any RandomChoice { TFBot { Template T_TFBot_Heavy_Deflector } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Class Demoman } } } WaveSpawn { Name wave5scout WaitForAllDead wave5a TotalCurrency 50 SpawnCount 1 MaxActive 4 TotalCount 40 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_any TFBot { Template T_TFBot_Scout_Sandman_FastCharge Attributes AlwaysCrit } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_right TFBot { Template T_TFBot_Giant_Pyro_FireballDude Attributes AlwaysCrit } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 50 SpawnCount 3 MaxActive 8 TotalCount 27 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot_any TFBot { Template T_TFBot_Heavy_Deflector } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 16 Where spawnbot_any TFBot { Template T_TFBot_Giant_Scout_Fast Attributes AlwaysCrit } } WaveSpawn { Name wave5support WaitForAllDead wave5b SpawnCount 1 MaxActive 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_any Support 1 TFBot { Class Sniper Name "Pissman" Item "Jarate" WeaponRestrictions SecondaryOnly Attributes AlwaysCrit ClassIcon sniper_jarate ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.001 } } } WaveSpawn { Name wave5d WaitForAllSpawned wave5c TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector ClassIcon heavy_deflector_giant } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave5d WaitForAllSpawned wave5c TotalCurrency 100 SpawnCount 2 MaxActive 6 TotalCount 14 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot_any Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Class Demoman } } } WaveSpawn { Name wave5d WaitForAllSpawned wave5c TotalCurrency 100 SpawnCount 5 MaxActive 5 TotalCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot_any TFBot { Template T_TFBot_Heavy_Deflector } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave6a TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6a TotalCurrency 100 SpawnCount 3 MaxActive 3 TotalCount 3 WaitBeforeStarting 7 WaitBetweenSpawns 0 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6a TotalCurrency 50 SpawnCount 3 MaxActive 5 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot_any TFBot { Class Soldier Item "The Direct Hit" Name "Direct Hit Soldier" ClassIcon soldier_dh_nys } } WaveSpawn { Name wave6a TotalCurrency 50 SpawnCount 3 MaxActive 5 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot_any TFBot { Template T_TFBot_Demo_Cannon_Burst } } WaveSpawn { Name wave6ab WaitForAllDead wave6a SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 8 TotalCurrency 150 StartWaveOutput { Target saucer_tank_relay Action Trigger } Tank { Health 30000 Speed 65 Skin 1 StartingPathTrackNode tank_path_a Name "tankboss" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave6ab-1 WaitForAllDead wave6a TotalCurrency 100 SpawnCount 1 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot_any TFBot { Template T_TFBot_Giant_Scout_FaN Attributes AlwaysCrit } } WaveSpawn { Name wave6ab WaitForAllDead wave6ab-1 TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot_any TFBot { Template T_TFBot_Giant_Scout_FaN Attributes AlwaysCrit } } WaveSpawn { Name wave6ab WaitForAllDead wave6a TotalCurrency 50 SpawnCount 3 MaxActive 12 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot_any Squad { TFBot { Class Soldier Item "The Direct Hit" Name "Direct Hit Soldier" ClassIcon soldier_dh_nys } TFBot { Template T_TFBot_Demo_Cannon_Burst } TFBot { Template T_TFBot_Sniper_Huntsman_Bleed_Minor ClassIcon sniper_bow_bleed2 } } } WaveSpawn { Name wave6b WaitForAllDead wave6ab TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6b WaitForAllDead wave6ab TotalCurrency 50 SpawnCount 3 MaxActive 3 TotalCount 9 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6b WaitForAllDead wave6ab TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 27 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot_any TFBot { Template T_TFBot_Demo_Cannon_Burst } } WaveSpawn { Name wave6b WaitForAllDead wave6ab TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 27 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_any TFBot { Template T_TFBot_Sniper_Huntsman_Bleed_Major } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation { Line "{29FF5D}The clone army is diminishing." Line "{29FF5D}However it appears that aliens have one last trick up their sleeve." Line "{29FF5D}They have managed to clone a certain magician, albeit with a fraction of his magic powers." Line "{29FF5D}So to conpensate, they gave him guns." } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 Where spawnbot_any TFBot { Template T_TFBot_Giant_Scout_FaN } } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 3 MaxActive 3 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 3 MaxActive 3 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Soldier_Atomic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 4 MaxActive 10 TotalCount 20 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_any TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name wave7c WaitForAllDead wave7b TotalCurrency 50 SpawnCount 1 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 20 Where spawnbot_any TFBot { Template T_TFBot_Giant_Scout_FaN } } WaveSpawn { Name wave7c WaitForAllDead wave7b TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" } } } WaveSpawn { Name wave7c WaitForAllDead wave7b TotalCurrency 100 SpawnCount 6 MaxActive 12 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 6 Where spawnbot_any RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Demo_Cannon_Burst } TFBot { Class Heavyweapons Skill Normal } } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot_any TFBot { Template T_TFBot_Giant_Scout_FaN } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 100 SpawnCount 3 MaxActive 3 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 25 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 100 SpawnCount 2 MaxActive 4 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 10 Where spawnbot_any Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 100 SpawnCount 5 MaxActive 10 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_any RandomChoice { TFBot { Template T_TFBot_Demo_Cannon_Burst } TFBot { Class Heavyweapons Skill Normal } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } WaveSpawn { Name wave7boss WaitForAllDead wave7d TotalCurrency 200 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 15 Where spawnbot_aerial StartWaveOutput { Target saucer_airraid_relay Action Trigger } TFBot { Template T_TFBot_Sniper_Boss3 } } WaveSpawn { Name wave7boss WaitForAllDead wave7d SpawnCount 4 MaxActive 8 TotalCount 8 WaitBeforeStarting 8 WaitBetweenSpawns 3 Where spawnbot_any Support 1 RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } } } } }