Official Population Files for MvM April2017

DirectDownload + HowTo

  1. Tumbolisu

    aa Tumbolisu  I ⌄ I 

    Messages:
    951
    Positive Ratings:
    937
    Official Population Files for MvM - DirectDownload + HowTo

    This download includes every Population file that can be currently found in the game. Population files are used to determine the different robots and waves in the Mann versus Machine gamemode.

    If you want to extract the files yourself, first download GCFScape ( http://nemesis.thewavelength.net/?p=26 ). This software will allow you to open VPK files, which are basically like ZIP archives.
    Now, navigate to your installation of TF2. This can easily be done by right clicking the game in Steam and clicking Properties -> Local Files -> Browse Local Files...
    Here, open the tf folder and look for the file tf2_misc_dir.vpk. Open that using GCFScape. A new window will appear, which will allow you to browse the different files inside the VPK. This VPK in particular is mostly storing text-based files.
    Now doubleclick the folder scripts and inside that population and there you have it!

    When making your own Population files, store them directly in tf/scripts/population or tf/custom/[anyfoldername]/scripts/population. All these filepaths are considered identical to the game. The only difference is the order in which they load, causing things to override if neccessary.
     
    • Thanks Thanks x 4
  2. Tumbolisu

    aa Tumbolisu  I ⌄ I 

    Messages:
    951
    Positive Ratings:
    937
    A "preview" of the "first" 3 Population files. I don't want to include more here, as it gets rather heavy for the browser.

    Code:
    // This .pop file defines a Population, and is usually owned and
    // controlled by the tf_populator entity.
    //
    // Populations consist of one or more Populators.  
    // All Populators in a .pop file run simultaneously unless stated otherwise.
    // For example, if you have three PeriodicSpawn populators, all three
    // will be spawning entities according to their parameters.
    //
    // In general, Populators contain one Spawner.  When a Spawner is invoked,
    // it actually spawns one or more entities into the world.
    
    // NOTE: This particular .pop file is for documentation purposes, and
    // tries to show all available features, not necessarily a useful population.
    //
    
    // Available Global Options (specified outside Populators):
    //
    // StartingCurrency   <amount>
    //     Specifies the amount of currency that players should start with
    //
    
    // Templates are specified in a separate block of Templates, and then referenced
    // inside WaveSpawn or TFBot entries.
    
    // Available Populators:
    //
    // RandomPlacement
    //     A RandomPlacement Populator is invoked once at the start
    //     of each round, and spawns entities at random locations
    //     throughout the map. For example, a RandomPlacement might
    //     place random Sentry guns throughout a map.
    //
    // PeriodicSpawn
    //     A PeriodicSpawn Populator invokes its Spawner periodically.
    //     For example, a PeriodicSpawn might spawn a TFBot every 30 seconds.
    //
    // WaveSpawn
    //     A WaveSpawn Populator spawns a "wave" of N entities, and has
    //     the special property that only ONE WaveSpawn at a time in a
    //     .pop file is active - the first one. Once that WaveSpawn is
    //     finished, it shuts off and the next WaveSpawn in the file
    //     becomes active, and so on.
    //
    
    
    // Available Spawners:
    //
    // TFBot
    //     Spawns TFBots of a specified class and skill.
    //
    // SentryGun
    //     Spawns unowned Sentry guns at a specified upgrade level.
    //
    // RandomChoice
    //     Contains a set of spawners and invokes one at random.
    //
    // Squad
    //     Contains a set of spawners, all are invoked and collected into a "squad".
    //
    // Mob
    //     Spawns N instances of the spawner it contains, ie: 15 TFBots.
    //
    
    
    ExamplePopulation
    {
       // Global options
       StartingCurrency         100     // Players start with 100 bucks
       RespawnWaveTime           12     // Override default respawn time as if it was being set with entity i/o
       CanBotsAttackWhileInSpawnRoom   no     // Default if omitted is "yes".  Set to "no" to prevent bots from attacking while invulnerable in their spawn rooms
       AddSentryBusterWhenDamageDealtExceeds 3000 // Default is ommited is 3000 points of damage inflicted by your sentry gun. Set this to override the threshold at which a Sentry Buster will be dispatched.
       AddSentryBusterWhenKillCountExceeds 15   // Default is ommited is 15 kills inflicted by your sentry gun. Set this to override the threshold at which a Sentry Buster will be dispatched.
       Advanced   1               // Flags this experienced as difficult.  Things like achievements look for this.
       
       Templates
       {
         // A template for a TFBot entry that creates a Natascha wielding Heavy.
         T_TFBot_NataschaHeavy
         {
           Class HeavyWeapons
           Skill Easy
           Attributes RemoveOnDeath
           Item "Natascha"
           Item "Football Helmet"
         }
       
         // A template for a WaveSpawn creates 5 Natascha wielding Heavies.
         //   - Note that you can reference other templates inside templates.
         //   - In this example, the wave spawn template overrides the skill of the Heavies to be Normal (which the Template has initialized as Easy)
         T_WaveSpawn_Heavies
         {
           TotalCount 5
           MaxActive 1
           WaveDoneWhen AllDead     
    
           TFBot
           {
             Template T_TFBot_NataschaHeavy
             Skill Normal   
           }
         }
         
         // A template for a WaveSpawn that creates Pyros, and drops lots of money.
         T_WaveSpawn_MoneyPyros
         {
           Template T_WaveSpawn_Heavies
           
           TotalCurrency 2000
           
           // WARNING NOTE: This block overrides the entire TFBot block in T_WaveSpawn_Heavies.
           // i.e. this will NOT result in Pyros wielding natachas & helmets & being restricted to melee only.
           TFBot
           {
             Class Pyro
           }
         }
       }
    
       // A "mission" defines a set of TFBots that the "AI Director" can send in to accomplish certain context-specific goals   
       Mission
       {
         Objective Sniper               // The mission objective. Available missions:
                               //  "Sniper" (add harassing snipers)
                               //  "Spy" (add harassing spies)
                               //  "DestroySentries" (send in bots who focus on killing overly successful sentry guns)
                               //  "Engineer" (add harassing engineers who will build sentry nests on bot_hint_sentrygun entities)
    
         Where spawn_sniper_mission           // Where the mission bots will spawn
    
         TeleportWhere                 // For Engineer missions. When the bot builds a teleporter, that teleporter will become a spawn point for bots with a Where name matching this TeleportWhere name.
    
         BeginAtWave 4                 // The wave number (1 to N) at which this mission becomes active
         RunForThisManyWaves 3             // How many waves this mission is active. This example would have snipers active for waves 4, 5, and 6
         
         CooldownTime 90                 // The minimum time between spawning mission sorties
         DesiredCount 2                 // How many copies of the spawner should be sent in
    
         TFBot                     // The mission payload
         {
           Class Sniper
           Skill Hard
           Name Sniper
         }
       }
    
       
       // this populator places 30 idling, bat-wielding Scouts scattered throughout the map
       RandomPlacement
       {
         Count 30         // the number of times to invoke the given spawner
         
         MinimumSeparation 750   // the minimum distance between entities spawned
         
         TFBot           // a Spawner that spawns a TFBot
         {
           Name "Badass Bot"         // (player) name, which will be displayed in-game.  will default to the class name if not specified.
           Class Scout             // class can be: Scout, Soldier, Demoman, Heavyweapons, Pyro, Medic, Sniper, Spy, Engineer
           Skill Easy             // skill can be: Easy, Normal, Hard, or Expert
           Health <value>           // if specified, overrides the normal starting health of this bot
           Scale <value>           // if specified, sets the model scale of this bot (overrides the default scale for minibosses)
           Item <item definition name>     // if specified, gives the bot the item. Multiple items can be listed. Each item will remove any
                           // existing item in its loadout slot, so if you specify multiple items in the same loadout slot,
                           // only the last one will be left on the bot.
           Attributes RemoveOnDeath     // attributes can be:
                           //     RemoveOnDeath (kick this bot from the game when it dies)
                           //     Aggressive (make this bot "aggressive" - behavior dependant)
                           //     SuppressFire (don't allow this bot to fire its weapon)
                           //     DisableDodge (don't allow this bot to dodge left/right in combat)
                           //     BecomeSpectatorOnDeath (send this bot to the spectator team when it dies)
                           //     RetainBuildings (any buildings built by this bot should not blow up if this bot is removed)
                           //     SpawnWithFullCharge (any weapons that build up a charge over time will spawn fully charged)
                           //     AlwaysCrit (all shots will be critical hits)
                           //     HoldFireUntilFullReload (dont fire until our weapon is fully reloaded after a barrage - for rocket launchers, grenade launchers, shotguns, etc)
                           //     DefensiveBuffHigh (takes 90% less damage, has a particle effect)
                           //     AlwaysFireWeapon (constantly fire our weapon)
                           
           WeaponRestrictions MeleeOnly   // if specified, restricts the weapons this bot is allowed to use. Restrictions can be: MeleeOnly, PrimaryOnly, or SecondaryOnly
           BehaviorModifiers Idler       // if specified, sets this bot's initial behavior. Allowed values:
                           //     Idler (stands around idle until a player gets close or injures them)
                           //     Mobber   (picks a random player and chases them down, regardless of where they run)
           CharacterAttributes         // same attributes as those listed in items_master.txt
           {
             "move speed bonus"       "3"
             "dmg from sentry reduced"   "0.8"
           }                       
           Tag <custom tag>         // if specified, adds the given custom tag (no internal spaces) to the bot's set of tags. Bots will pay attention to func_nav_avoid or func_nav_prefer entities with matching tags.
           MaxVisionRange <range>       // if specified, sets the farthest range at which this bot can see enemies
         }
       }
    
    
       // this populator places 10 level three sentry guns scattered throughout the map, but only on navigation areas marked as SENTRY_SPOT
       RandomPlacement
       {
         Count 10
         
         MinimumSeparation 750
         
         NavAreaFilter SENTRY_SPOT       // when collecting potential nav areas to spawn, only consider areas that have the SENTRY_SPOT flag
         
         SentryGun               // a Spawner that spawns a Sentry gun
         {
           Level 3               // ... a level 3 Sentry gun (can be 1 or 2 as well)
         }
       }
    
       
       // every 60 to 90 seconds, spawn either a melee-only mob of TFBots that chase down the players
       // or spawn a squad of 4 TFBots that move together and attack the players
       PeriodicSpawn
       {
         Where Behind             // find a nearby hidden spot behind the players to spawn
    
         When                 // specify how often our Spawner is invoked. In this case, we pick a random
         {                   // interval between 60 and 90 seconds.  Alternatively, we could also say
           MinInterval 60           // "When 30" to invoke our Spawner every 30 seconds.
           MaxInterval 90
         }
         
         // our Spawner is a RandomChoice, which picks at random from the Spawners it contains
         RandomChoice
         {
           Squad     // choice 1: a Squad Spawner which, in this case, creates a squad of 4 TFBots: Soldier, Pyro, Demoman, and Heavyweapons
           {
             FormationSize 125   // the size of the formation (for a circle formation, this is the radius)
    
             TFBot
             {
               Class Soldier
               Skill Easy
             }
    
             TFBot
             {
               Class Pyro
               Skill Easy
             }
    
             TFBot
             {
               Class Demoman
               Skill Easy
             }
    
             TFBot
             {
               Class HeavyWeapons
               Skill Easy
             }
           }
    
           Mob     // choice 2: a Mob Spawner which will create a mob of 15 bat-wielding Scout mobbers
           {
             Count 15
    
             TFBot
             {
               Class Scout
               WeaponRestrictions MeleeOnly         
               BehaviorModifiers Mobber
             }
           }
           
           Mob     // choice 3: a Mob Spawner which will create a mob of 15 fist-wielding Heavy mobbers
           {
             Count 15
    
             TFBot
             {
               Class HeavyWeapons
               WeaponRestrictions MeleeOnly         
               BehaviorModifiers Mobber
             }
           }
           
           Mob     // choice 4: a Mob Spawner which will create a mob of 15 axe-wielding Pyro mobbers
           {
             Count 15
    
             TFBot
             {
               Class Pyro
               WeaponRestrictions MeleeOnly         
               BehaviorModifiers Mobber
             }
           }
           
           Mob     // choice 5: a Mob Spawner which will create a mob of 15 knife-wielding Spy mobbers
           {
             Count 15
    
             TFBot
             {
               Class Spy
               WeaponRestrictions MeleeOnly
               BehaviorModifiers Mobber
             }
           }
         }
       }
    
    
       // every 30 seconds, throw in a Spy or a Sniper to keep the players on their toes
       PeriodicSpawn
       {
         Where Anywhere             // find a nearby hidden spot spawn
    
         When 30                 // spawn every 30 seconds
    
         RandomChoice
         {     
           TFBot
           {
             Class Sniper
             Skill Normal
             Attributes RemoveOnDeath       
           }
    
           TFBot
           {
             Class Spy
             Skill Normal
             Attributes RemoveOnDeath       
           }
         }
       }
       
       // a single wave can contain multiple WaveSpawns
       Wave
       {
         Description "Lots of bad guys in this wave!"   // the given description text will be displayed in the HUD when the prior Wave is counting down its 'WaitWhenDone' timer, and thereafter.
         Sound "Announcer.IncomingMob"       // the given sound will be played when this Wave starts
         WaitWhenDone 25           // specifies a delay, in seconds, to wait after this wave is "done"
    
         StartWaveOutput           // when this Wave becomes active, fire an output to the given target entity
         {
           Target MyNamedEntity       // the mapper-specified name of an entity
           Action OnTrigger       // the action to send to the entity
         }
    
         DoneOutput           // when this Wave is done, after the WaitWhenDone timer elapses
         {
           Target MyNamedEntity
           Action OnTrigger
         }
    
         WaveSpawn
         {
           Name "FIRST WAVE"           // Name of the wave. Not required, but if another wave is waiting for this wave, this wave needs a name.
           Where wave_spawn_here         // Defines where this wave will spawn into the environment.
                             // In this case, an entity name of "wave_spawn_here" was given.
                             // All entities in the map with that name will be collected
                             // and one picked at random as the location to spawn from.
                             // Alternatively, these special Where locations can be used:
                             // AHEAD   (spawns wave somewhere nearby ahead of the players, just out of sight)
                             // BEHIND   (spawns wave somewhere nearby behind the players, just out of sight)
                             // ANYWHERE (spawns wave somewhere nearby the players, just out of sight)
           
           TotalCount 16             // defines the total number of times the Spawner will be invoked in this wave
           MaxActive 8               // defines the maximum number of entities from this WaveSpawn that can be alive at the same time
           SpawnCount 4             // defines the number of entities to spawn at a time as a group. Default is 1.   
           TotalCurrency 200           // Total amount of currency dropped by this wave. Should be cleanly divisible by TotalCount, so bots all drop the same amount.
       
           WaitBeforeStarting 5         // specifies the duration in seconds to wait once this WaveSpawn becomes active
                             // and the first time its Spawner is invoked
                             
           Support 1               // Marks this WaveSpawn as a Support wave. Support waves will keep running until all
                             // non-Support waves are finished, even after the TotalCount is reached. Support waves
                             // will not drop any more currency after TotalCurrency is reached.
                             
           RandomSpawn 1             // Marks the WaveSpawn as wanting to select a new "Where" spawn location for every bot that spawns.
                             // The default is 0, which spawns the entire SpawnCount group at the same location.
                             // The next group will pick a random "Where" spawn location for the entire group to use.
                             
           WaitBetweenSpawns 0           // specifies a delay, in seconds, between spawning SpawnCount groups of entities
           
           // ***NOTE: Any of the sound and text warnings as well as the outputs below can be omitted. They are all listed here for completeness.
           
           StartWaveWarningSound "Player.YouAreIt"         // when this WaveSpawn becomes active (which might be before it starts spawning), emit this sound to all players
           StartWaveOutput                     // when this WaveSpawn becomes active, fire an output to the given target entity
           {
             Target MyNamedEntity       // the mapper-specified name of an entity
             Action OnTrigger         // the action to send to the entity
           }
           
           FirstSpawnWarningSound "Player.YouAreIt"       // when this WaveSpawn first invokes its Spawner, emit this sound to all players
           FirstSpawnOutput                   // when this WaveSpawn first invokes its Spawner, fire an output to the given target entity
           {
             Target MyNamedEntity
             Action OnTrigger
           }
       
           LastSpawnWarningSound "Player.YouAreIt"         // when this WaveSpawn invokes its Spawner for the last time, emit this sound to all players
           LastSpawnOutput                     // when this WaveSpawn invokes its Spawner for the last time, fire an output to the given target entity
           {
             Target MyNamedEntity
             Action OnTrigger
           }
       
           DoneWarningSound "Player.YouAreIt"           // when this WaveSpawn relinquishes control to the next WaveSpawn, emit this sound to all players
           DoneOutput                       // when this WaveSpawn relinquishes control to the next WaveSpawn, fire an output to the given target entity
           {
             Target MyNamedEntity
             Action OnTrigger
           }
       
           // the Spawner for this WaveSpawn will pick one of three TFBots at random each time it is invoked
           RandomChoice
           {
             TFBot
             {
               Class Medic
               Skill Easy
               Attributes RemoveOnDeath
             }
             TFBot
             {
               Class Soldier
               Skill Easy
               Attributes RemoveOnDeath
             }
             TFBot
             {
               Class Demoman
               Skill Easy
               Attributes RemoveOnDeath
             }
           }
         }
         
         // the next wave spits out 10 Heavies and waits for them to all die
         WaveSpawn
         {
           Name "HEAVY WAVE"
           Where wave_spawn_here
           
           TotalCount 10
           MaxActive 10
           WaitForAllSpawned "FIRST WAVE"                 // waits for the wave spawn named "FIRST WAVE" to say it is done spawning all of its TFBots before starting
       
           TFBot
           {
             Class Heavyweapons
             Skill Easy
             Attributes RemoveOnDeath
           }
         }
         
         // the last wave brings a horde of Pyros that come out in groups of 10
         WaveSpawn
         {
           Where wave_spawn_here
           
           TotalCount 30
           MaxActive 10
       
           TFBot
           {
             Class Pyro
             Skill Normal
             Attributes RemoveOnDeath
           }
         }
    
         WaveSpawn
         {
           TotalCurrency 25     // the total amount of currency dropped by all the Tanks in this wave
           TotalCount 1
    
           Tank
           {
             Health 50000
             Speed 75
             Name "Sherman"
             Skin 0                   // 0 - normal skin, 1 - final wave skin
             StartingPathTrackNode "boss_path_1"     // if this is omitted, the Tank will find the path_track with no previous node and start there
    
             OnKilledOutput               // output sent when the Tank is killed
             {
               Target tank_died_relay
               Action Trigger   
             }
    
             OnBombDroppedOutput             // output sent when the Tank drops its bomb once it reaches the end of its path
             {
               Target bomb_dropped_relay
               Action Trigger   
             }
           }
         }
    
       } // end Wave
    }
    

    Code:
    #base robot_giant.pop
    #base robot_standard.pop
    
    WaveSchedule
    {
    
       StartingCurrency     1200
       RespawnWaveTime      2
       CanBotsAttackWhileInSpawnRoom no
    
       Mission // sentry buster
       {
         Objective DestroySentries
    
         InitialCooldown 20
         Where spawnbot
         BeginAtWave 1
         RunForThisManyWaves 9
    
         CooldownTime 40   
    
      TFBot
           {
             Template T_TFBot_SentryBuster
      }
       }
       Mission // Spy - wave 3
       {
         Objective Spy  
    
         InitialCooldown 30
         Where spawnbot_mission_spy
         BeginAtWave 3
         RunForThisManyWaves 1
         CooldownTime 30
         DesiredCount 4
    
         TFBot
         {
           Class Spy
           Skill Expert
           Name Spy
         }
       }   
       Mission // Spy - wave 5
       {
         Objective Spy  
    
         InitialCooldown 30
         Where spawnbot_mission_spy
         BeginAtWave 5
         RunForThisManyWaves 1
         CooldownTime 30
         DesiredCount 4
    
         TFBot
         {
           Class Spy
           Skill Expert
           Name Spy
         }
       }   
       Mission // Sniper - wave 3
       {
         Objective Sniper
    
         InitialCooldown 40
         Where spawnbot_mission_sniper
         BeginAtWave 3
         RunForThisManyWaves 1
         CooldownTime 20
         DesiredCount 4
    
         TFBot
         {
           Class Sniper
           Skill Hard
           Name Sniper
           MaxVisionRange 3000
         }
       }
       Mission // Sniper - wave 4
       {
         Objective Sniper
    
         InitialCooldown 30
         Where spawnbot_mission_sniper
         BeginAtWave 4
         RunForThisManyWaves 1
         CooldownTime 20
         DesiredCount 2
    
         TFBot
         {
           Class Sniper
           Skill Hard
           Name Sniper
           MaxVisionRange 3000
         }
       }
       Mission // Engineer - wave 2
       {
         Objective Engineer  
    
         InitialCooldown 60
         Where spawnbot
         BeginAtWave 2
         RunForThisManyWaves 1
         CooldownTime 30
         DesiredCount 1
    
         TFBot
         {
           Template T_TFBot_Engineer_Sentry_Teleporter
         }
       }   
       Mission // Engineer - wave 4
       {
         Objective Engineer  
    
         InitialCooldown 60
         Where spawnbot
         BeginAtWave 4
         RunForThisManyWaves 1
         CooldownTime 20
         DesiredCount 1
    
         TFBot
         {
           Template T_TFBot_Engineer_Sentry_Teleporter
         }
       }   
       Mission // Engineer - wave 5
       {
         Objective Engineer  
    
         InitialCooldown 50
         Where spawnbot
         BeginAtWave 5
         RunForThisManyWaves 1
         CooldownTime 30
         DesiredCount 1
    
         TFBot
         {
           Template T_TFBot_Engineer_Sentry_Teleporter
         }
       }   
       
       //WAVE 1 //Currency 700 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         WaveSpawn //WAVE 01a: 27 total, 9 active, Scout (melee only)
         {
           Name "wave01a"
           Where spawnbot
           TotalCount 27
           MaxActive 9
           SpawnCount 9
           WaitBeforeStarting 4
           WaitBetweenSpawns 7
           TotalCurrency 200     
         
           TFBot
           {
             Class Scout
             Skill Easy
             WeaponRestrictions MeleeOnly
           }
         }
         WaveSpawn //WAVE 01b: 20 total, 5 active, Pyro
         {
           Name "wave01b"
           Where spawnbot
           TotalCount 20
           MaxActive 6
           SpawnCount 2
           WaitBeforeStarting 15
           WaitBetweenSpawns 10
           TotalCurrency 200     
         
           TFBot
           {
             Class Pyro
             Skill Easy
           }
         }
         WaveSpawn //WAVE 01c: 50 total, 10 active, Scout (WAITFORALLSPAWNED "WAVE01A")
         {
           Name "wave01c"
           Where spawnbot
           TotalCount 50
           MaxActive 10
           SpawnCount 5
           WaitForAllSpawned "wave01a"
           WaitBeforeStarting 0
           WaitBetweenSpawns 5
           TotalCurrency 200     
         
           TFBot
           {
             Class Scout
             Skill Easy
           }
         }
         WaveSpawn //WAVE 01d: 30 total, 15 active, Heavyweapons (WAITFORALLSPAWNED "WAVE01B")
         {
           Name "wave01d"
           Where spawnbot
           TotalCount 30
           MaxActive 15
           SpawnCount 5
           WaitForAllSpawned "wave01b"
           WaitBeforeStarting 0
           WaitBetweenSpawns 2
           TotalCurrency 100     
         
           TFBot
           {
             Class Heavyweapons
             Skill Easy
           }
         }
       }   
       //WAVE 2 //Currency 800 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         // Engineer mission - 1 active
    
         WaveSpawn //WAVE 02a: 27 total, 3 active, Demoman (Eyelander, Charge'n Targe)
         {
           Name "wave02a"
           Where spawnbot
           TotalCount 27
           MaxActive 3
           SpawnCount 3
           WaitBeforeStarting 0
           WaitBetweenSpawns 10
           TotalCurrency 200   
    
           Support 1
         
           TFBot
           {
             Template T_TFBot_Demoman_Knight
           }
         }
         WaveSpawn //WAVE 02b: 28 total, 4 active, Soldier
         {
           Name "wave02b"
           Where spawnbot
           TotalCount 28
           MaxActive 4
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 10
           TotalCurrency 200   
    
           TFBot
           {
             Class Soldier
             Skill Easy
           }
         }
         WaveSpawn //WAVE 02c: [GIANT] 4 total, 4 active, Soldier (Slow crit)
         {
           Name "wave02c"
           Where spawnbot
           TotalCount 4
           MaxActive 4
           SpawnCount 1
           WaitBeforeStarting 45
           WaitBetweenSpawns 25
           TotalCurrency 150   
    
           TFBot
           {
             Template T_TFBot_Giant_Soldier_Crit
           }
         }
         WaveSpawn //WAVE 02d: 50 total, 10 active, Scout (1/3 melee only, WAITFORALLSPAWNED "WAVE02C")
         {
           Name "wave02d"
           Where spawnbot
           TotalCount 50
           MaxActive 10
           SpawnCount 10
           WaitForAllSpawned "wave02c"
           WaitBeforeStarting 20
           WaitBetweenSpawns 8
           TotalCurrency 250   
           
           RandomChoice
           {
             TFBot
             {
               Class Scout
               Skill Easy
             }
             TFBot
             {
               Class Scout
               Skill Easy
             }
             TFBot
             {
               Class Scout
               Skill Easy
               WeaponRestrictions MeleeOnly
             }
           }
         }
       }
       //WAVE 3 //Currency 800 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         // Spy mission - 4 active   
         // Sniper mission - 4 active   
    
         WaveSpawn //WAVE 03a: [GIANT] 20 total, 5 active, Giant Pyro squad (uber medic and heavyweapons)
         {
           Name "wave03a"
           Where spawnbot
           TotalCount 20
           MaxActive 20
           SpawnCount 5
           WaitBeforeStarting 0
           WaitBetweenSpawns 20
           TotalCurrency 200   
    
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Pyro
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
             }
             TFBot
             {
               Class Heavyweapons
               Skill Easy
             }
             TFBot
             {
               Class Heavyweapons
               Skill Easy
             }
             TFBot
             {
               Class Heavyweapons
               Skill Easy
             }
           }
         }
         WaveSpawn //WAVE 03b: 24 total, 12 active, Soldier (WAITFORALLSPAWNED "WAVE03A")
         {
           Name "wave03b"
           Where spawnbot
           TotalCount 24
           MaxActive 12
           SpawnCount 6
           WaitForAllSpawned "wave03a"
           WaitBeforeStarting 15
           WaitBetweenSpawns 3
           TotalCurrency 200   
    
           TFBot
           {
             Class Soldier
             Skill Easy
           }
         }
         WaveSpawn //WAVE 03c: 30 total, 10 active, Heavyweapons (WAITFORALLDEAD "WAVE03A")
         {
           Name "wave03c"
           Where spawnbot
           TotalCount 30
           MaxActive 10
           SpawnCount 5
           WaitForAllDead "wave03a"
           WaitBeforeStarting 0
           WaitBetweenSpawns 7
           TotalCurrency 200   
    
           TFBot
           {
             Class Heavyweapons
             Skill Easy
           }
         }
         WaveSpawn //WAVE 03d: 10(20) total, 4(8) active, Scout + quickfix medic (WAITFORALLDEAD "WAVE03B")
         {
           Name "wave03d"
           Where spawnbot
           TotalCount 20
           MaxActive 8
           SpawnCount 2
           WaitForAllDead "wave03b"
           WaitBeforeStarting 0
           WaitBetweenSpawns 3
           TotalCurrency 200   
           
           Squad
           {
             TFBot
             {
               Class Scout
               Skill Easy
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickFix
             }
           }
         }
       }
       //WAVE 4 //Currency 600 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
    
         // Sniper mission - 2 active   
         // Engineer mission - 1 active
         
         WaveSpawn //WAVE 04a: [TANK]  
         {
           Name "wave04a"
           TotalCount 2
           WaitBeforeStarting 0
           WaitBetweenSpawns 50
           TotalCurrency 300
           
           FirstSpawnOutput   
           {
              Target boss_spawn_relay   
              Action Trigger   
           }
    
           Tank
           {
             Health 20000
             Speed 75
             Name "tankboss"
             StartingPathTrackNode "boss_path_a1"
    
             OnKilledOutput   
             {
               Target boss_dead_relay
               Action Trigger   
             }
             
             OnBombDroppedOutput   
             {
               Target boss_deploy_relay
               Action Trigger   
             }
           }
         }
         WaveSpawn //WAVE 04b: [GIANT] 5(25) total, 3(15) active, Demoman + soldiers
         {
           Name "wave04b"
           Where spawnbot
           TotalCount 25
           MaxActive 15
           SpawnCount 5
           WaitBeforeStarting 15
           WaitBetweenSpawns 35
           TotalCurrency 200   
           
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Demoman
             }
             TFBot
             {
               Class Soldier
               Skill Easy
             }
             TFBot
             {
               Class Soldier
               Skill Easy
             }
             TFBot
             {
               Class Soldier
               Skill Easy
             }
             TFBot
             {
               Class Soldier
               Skill Easy
             }
           }
         }
         WaveSpawn //WAVE 04c: 35 total, 5 active, Scout (bonk)
         {
           Name "wave04c"
           Where spawnbot
           TotalCount 35
           MaxActive 5
           SpawnCount 5
           WaitBeforeStarting 60
           WaitBetweenSpawns 10
           TotalCurrency 200   
           
           TFBot
           {
             Class Scout
             Skill Easy
           }
         }
       }
       //WAVE 5 //Currency 500 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         // Spy mission - 4 active   
         // Engineer mission - 1 active
    
         WaveSpawn //WAVE 05a: 45 total, 18 active, Heavyweapons (melee only, fast movement)
         {
           Name "wave05a"
           Where spawnbot
           TotalCount 45
           MaxActive 18
           SpawnCount 2
           WaitBeforeStarting 0
           WaitBetweenSpawns 3
           TotalCurrency 200   
           
           Support 1
           
           RandomChoice
           {
             TFBot
             {
               Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
             }
             TFBot
             {
               Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
             }
             TFBot
             {
               Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast
             }
             TFBot
             {
               Class Heavyweapons
               Skill Easy
             }
           }
         }
         WaveSpawn //WAVE 05b: 15 total, 5 active, Heavyweapons (Steel gauntlet)
         {
           Name "wave05b"
           Where spawnbot
           TotalCount 15
           MaxActive 5
           SpawnCount 1
           WaitBeforeStarting 0
           WaitBetweenSpawns 8
           TotalCurrency 200   
    
           TFBot
           {
             Template T_TFBot_Heavyweapons_Fist
           }
         }
         WaveSpawn //WAVE 05c: [GIANT] 2 total, 2 active, Heavyweapons
         {
           Name "wave05c"
           Where spawnbot
           TotalCount 2
           MaxActive 2
           SpawnCount 1
           WaitForAllSpawned "wave05b"
           WaitBeforeStarting 0
           WaitBetweenSpawns 40
           TotalCurrency 100   
    
           TFBot
           {
             Template T_TFBot_Giant_Heavyweapons
           }
         }
       }
       //WAVE 6 //Currency 500 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         WaveSpawn //WAVE 06a: 55 total, 5 active, Soldier
         {
           Name "wave06ab"
           Where spawnbot
           TotalCount 55
           MaxActive 10
           SpawnCount 5
           WaitBeforeStarting 0
           WaitBetweenSpawns 10
           TotalCurrency 400   
           
           TFBot
           {
             Class Soldier
             Skill Easy
           }
         }
         WaveSpawn //WAVE 06b: [GIANT] 8 total, 4 active, Soldier (slow crit)
         {
           Name "wave06ab"
           Where spawnbot
           TotalCount 8
           MaxActive 4
           SpawnCount 1
           WaitBeforeStarting 0
           WaitBetweenSpawns 20
           TotalCurrency 400   
           
           TFBot
           {
             Template T_TFBot_Giant_Soldier_Crit
           }
         }
         WaveSpawn //WAVE 06c: 50 total, 10 active, Sniper (Huntsman WAITFORALLDEAD "WAVE06AB")
         {
           Name "wave06c"
           Where spawnbot
           TotalCount 50
           MaxActive 10
           SpawnCount 5
           WaitForAllDead "wave06ab"
           WaitBeforeStarting 0
           WaitBetweenSpawns 5
           TotalCurrency 400   
           
           Support 1
           
           TFBot
           {
             Template T_TFBot_Sniper_Huntsman
           }
         }
         WaveSpawn //WAVE 06d: [GIANT] 2(8) total, 2(8) active, Heavyweapons (WAITFORALLDEAD "WAVE06AB")
         {
           Name "wave06d"
           Where spawnbot
           TotalCount 8
           MaxActive 8
           SpawnCount 4
           WaitForAllDead "wave06ab"
           WaitBeforeStarting 10
           WaitBetweenSpawns 30
           TotalCurrency 400   
           
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Heavyweapons
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickFix
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickFix
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickFix
             }
           }
         }
         WaveSpawn //WAVE 06e: [FINAL TANK]  (WAITFORALLDEAD "WAVE06AB")
         {
           Name "wave06e"
           TotalCount 1
           WaitForAllDead "wave06ab"
           WaitBeforeStarting 30
           WaitBetweenSpawns 0
           TotalCurrency 0
           
           FirstSpawnOutput   
           {
              Target boss_spawn_relay   
              Action Trigger   
           }
    
           Tank
           {
             Health 30000
             Speed 75
             Name "tankboss"
             Skin 1
             StartingPathTrackNode "boss_path_1"
    
             OnKilledOutput   
             {
               Target boss_dead_relay
               Action Trigger   
             }
             
             OnBombDroppedOutput   
             {
               Target boss_deploy_relay
               Action Trigger   
             }
           }
         }
       }
    }

    Code:
    #base robot_giant.pop
    #base robot_standard.pop
    
    WaveSchedule
    {
    
       StartingCurrency     1500
       RespawnWaveTime      2
       CanBotsAttackWhileInSpawnRoom no
    
       Mission // sentry buster
       {
         Objective DestroySentries
    
         InitialCooldown 20
         Where spawnbot
         BeginAtWave 1
         RunForThisManyWaves 9
    
         CooldownTime 20   
    
      TFBot
           {
             Template T_TFBot_SentryBuster
      }
       }
       Mission // Spy - wave 1
       {
         Objective Spy  
    
         InitialCooldown 90
         Where spawnbot_mission_spy
         BeginAtWave 1
         RunForThisManyWaves 1
         CooldownTime 60
         DesiredCount 4
    
         TFBot
         {
           Class Spy
           Skill Expert
           Name Spy
         }
       }   
       Mission // Spy - wave 7
       {
         Objective Spy  
    
         InitialCooldown 5
         Where spawnbot_mission_spy
         BeginAtWave 7
         RunForThisManyWaves 1
         CooldownTime 35
         DesiredCount 10
    
         TFBot
         {
           Class Spy
           Skill Expert
           Name Spy
         }
       }   
       Mission // Sniper - wave 1
       {
         Objective Sniper
    
         InitialCooldown 120
         Where spawnbot_mission_sniper
         BeginAtWave 1
         RunForThisManyWaves 1
         CooldownTime 60
         DesiredCount 2
    
         TFBot
         {
           Class Sniper
           Skill Hard
           Name Sniper
           MaxVisionRange 3000
         }
       }
       Mission // Sniper - wave 5
       {
         Objective Sniper
    
         InitialCooldown 60
         Where spawnbot_mission_sniper
         BeginAtWave 5
         RunForThisManyWaves 1
         CooldownTime 10
         DesiredCount 4
    
         TFBot
         {
           Template T_TFBot_Sniper_Sydney_Sleeper
           Item "The Razorback"
           Name "Sydney sniper"
           MaxVisionRange 3000
         }
       }
       Mission // Sniper - wave 6
       {
       
         Objective Sniper
    
         InitialCooldown 60
         Where spawnbot_mission_sniper
         BeginAtWave 6
         RunForThisManyWaves 1
         CooldownTime 30
         DesiredCount 2
    
         TFBot
         {
           Class Sniper
           Skill Hard
           Name Sniper
           MaxVisionRange 3000
         }
       }
       Mission // Sniper - wave 7
       {
         Objective Sniper
    
         InitialCooldown 20
         Where spawnbot_mission_sniper
         BeginAtWave 7
         RunForThisManyWaves 1
         CooldownTime 20
         DesiredCount 6
    
         TFBot
         {
           Template T_TFBot_Sniper
         }
       }
       Mission // Engineer - wave 1-4
       {
         Objective Engineer  
    
         InitialCooldown 60
         Where spawnbot
         BeginAtWave 1
         RunForThisManyWaves 4
         CooldownTime 60
         DesiredCount 1
    
         TFBot
         {
           Template T_TFBot_Engineer_Sentry_Teleporter
         }
       }   
       Mission // Engineer - wave 5
       {
         Objective Engineer  
    
         InitialCooldown 60
         Where spawnbot
         BeginAtWave 5
         RunForThisManyWaves 1
         CooldownTime 11
         DesiredCount 1
    
         TFBot
         {
           Template T_TFBot_Engineer_Sentry_Teleporter
         }
       }   
       
       //WAVE 1 //Currency 1300 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         // Spy mission - 4 active   
         // Sniper mission - 2 active   
    
         WaveSpawn //WAVE 01a: 36 total, 18 active, Scout (bonk) + crit soldier
         {
           Name "wave01a"
           Where spawnbot
           TotalCount 36
           MaxActive 18
           SpawnCount 6
           WaitBeforeStarting 4
           WaitBetweenSpawns 5
           TotalCurrency 300     
         
           Squad
           {
             TFBot
             {
               Class Scout
               Skill Easy
             }
             TFBot
             {
               Class Scout
               Skill Easy
             }
             TFBot
             {
               Template T_TFBot_Scout_Bonk
             }
             TFBot
             {
               Template T_TFBot_Scout_Bonk
             }
             TFBot
             {
               Template T_TFBot_Scout_Bonk
             }
             TFBot
             {
               Class Soldier
               Skill Expert
               Attributes AlwaysCrit
               ItemAttributes
               {
                 ItemName "TF_WEAPON_ROCKETLAUNCHER"
                 "faster reload rate" -0.8
                 "fire rate bonus" 0.6   
               }
             }
           }
         }
         WaveSpawn //WAVE 01b: [GIANT] 4 total, 3 active, Soldier (rapid fire)
         {
           Name "wave01b"
           Where spawnbot
           TotalCount 4
           MaxActive 4
           SpawnCount 1
           WaitBeforeStarting 45
           WaitBetweenSpawns 60
           TotalCurrency 300     
         
           TFBot
           {
             Template T_TFBot_Giant_Soldier_Spammer
           }
         }
         WaveSpawn //WAVE 01c: 40 total, 20 active, Heavy (crit) + uber medic + 3 Pyros (WAITFORALLDEAD "WAVE01A")
         {
           Name "wave01c"
           Where spawnbot
           TotalCount 40
           MaxActive 20
           SpawnCount 5
           WaitForAllDead "wave01a"
           WaitBeforeStarting 30
           WaitBetweenSpawns 15
           TotalCurrency 350     
         
           Squad
           {
             TFBot
             {
               Class Heavyweapons
               Skill Easy
               Attributes AlwaysCrit
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
             }
             TFBot
             {
               Class Pyro
               Skill Easy
             }
             TFBot
             {
               Class Pyro
               Skill Easy
             }
             TFBot
             {
               Class Pyro
               Skill Easy
             }
           }
         }
         WaveSpawn //WAVE 01d: 40 total, 22 active, Scout (crit bats) (WAITFORALLSPAWNED "WAVE01C")
         {
           Name "wave01d"
           Where spawnbot
           TotalCount 40
           MaxActive 22
           SpawnCount 8
           WaitForAllSpawned "wave01c"
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 350     
         
           TFBot
           {
             Class Scout
             Skill Easy
             WeaponRestrictions MeleeOnly
             Attributes AlwaysCrit
           }
         }
       }   
       //WAVE 2 //Currency 1500 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
    
         WaveSpawn //WAVE 02a: 48 total, 12 active, Sniper (huntsman)
         {
           Name "wave02a"
           Where spawnbot
           TotalCount 48
           MaxActive 12
           SpawnCount 6
           WaitBeforeStarting 0
           WaitBetweenSpawns 2
           TotalCurrency 250     
         
           TFBot
           {
             Template T_TFBot_Sniper_Huntsman
           }
         }
         WaveSpawn //WAVE 02b: [TANK]  
         {
           Name "wave02b"
           TotalCount 1
           WaitBeforeStarting 25
           TotalCurrency 300
           
           FirstSpawnOutput   
           {
              Target boss_spawn_relay   
              Action Trigger   
           }
    
           Tank
           {
             Health 40000
             Speed 75
             Name "tankboss"
             StartingPathTrackNode "boss_path_a1"
    
             OnKilledOutput   
             {
               Target boss_dead_relay
               Action Trigger   
             }
             
             OnBombDroppedOutput   
             {
               Target boss_deploy_relay
               Action Trigger   
             }
           }
         }
         WaveSpawn //WAVE 02c: [GIANT] 3 total, 3 active, Super Scout
         {
           Name "wave02c"
           Where spawnbot
           TotalCount 3
           MaxActive 3
           SpawnCount 1
           WaitBeforeStarting 45
           WaitBetweenSpawns 30
           TotalCurrency 100   
           
           TFBot
           {
             Template T_TFBot_Giant_Scout_Fast
           }
         }
         WaveSpawn //WAVE 02d: [GIANT] 1(2) total, 1(2) active, Heavyweapons + Giant medic (WAITFORALLSPAWNED "WAVE02A")
         {
           Name "wave02d"
           Where spawnbot
           TotalCount 2
           MaxActive 2
           SpawnCount 2
           WaitForAllSpawned "Wave02a"
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 150     
         
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Heavyweapons_Deflector
             }
             TFBot
             {
               Template T_TFBot_Giant_Medic
             }
           }
         }
         WaveSpawn //WAVE 02e: 40 total, 10 active, Soldier (WAITFORALLDEAD "WAVE02B")
         {
           Name "wave02ef"
           Where spawnbot
           TotalCount 40
           MaxActive 10
           SpawnCount 10
           WaitForAllDead "Wave02b"
           WaitBeforeStarting 3
           WaitBetweenSpawns 5
           TotalCurrency 300     
         
           TFBot
           {
             Class Soldier
             Skill Hard
           }
         }
         WaveSpawn //WAVE 02f: [GIANT] 5(10) total, 5(10) active, Soldier (slow crit + uber medic) (WAITFORALLDEAD "WAVE02B")
         {
           Name "wave02ef"
           Where spawnbot
           TotalCount 10
           MaxActive 10
           SpawnCount 2
           WaitForAllDead "Wave02b"
           WaitBeforeStarting 10
           WaitBetweenSpawns 20
           TotalCurrency 400     
         
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Soldier_Crit
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
             }
           }
         }
         WaveSpawn //WAVE 02g: [GIANT] 3 total, 3 active, Super Scout (WAITFORALLSPAWNED "WAVE02EF")
         {
           Name "wave02c"
           Where spawnbot
           TotalCount 3
           MaxActive 3
           SpawnCount 3
           WaitForAllSpawned "wave02ef"
           WaitBeforeStarting 0
           WaitBetweenSpawns 30
           TotalCurrency 100   
           
           TFBot
           {
             Template T_TFBot_Giant_Scout_Fast
           }
         }
       }   
       //WAVE 3 //Currency 1300 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
    
         WaveSpawn //WAVE 03a: 10(20) total, 10(20) active, Pyro + uber medic squads
         {
           Name "wave03a"
           Where spawnbot
           TotalCount 20
           MaxActive 20
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 2
           TotalCurrency 200     
         
           Squad
           {
             TFBot
             {
               Class Pyro
               Skill Hard
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
             }
           }
         }
         WaveSpawn //WAVE 03a: [GIANT] 1 total, 1 active, Soldier (Burst fire)
         {
           Where spawnbot
           TotalCount 1
           MaxActive 1
           SpawnCount 1
           WaitBeforeStarting 10
           WaitBetweenSpawns 1
           TotalCurrency 50     
         
           TFBot
           {
             Template T_TFBot_Soldier_BurstFire
           }
         }
         WaveSpawn //WAVE 03b: 45 total, 18 active, Sniper (Huntsman crit) (WAITFORALLDEAD "WAVE03A")
         {
           Name "wave03b"
           Where spawnbot
           RandomSpawn 1
           TotalCount 45
           MaxActive 18
           SpawnCount 9
           WaitForAllDead "wave03a"
           WaitBeforeStarting 0
           WaitBetweenSpawns 1
           TotalCurrency 250     
         
           TFBot
           {
             Template T_TFBot_Sniper_Huntsman
             Skill Expert
             Attributes AlwaysCrit
             ItemAttributes
             {
               ItemName "The Huntsman"
               "faster reload rate" 0.2   
             }
           }
         }
         WaveSpawn //WAVE 03c: [GIANT] 12 total, 12 active, Demoman (WAITFORALLDEAD "WAVE03A")
         {
           Name "wave03c"
           Where spawnbot
           TotalCount 12
           MaxActive 12
           SpawnCount 3
           WaitForAllDead "wave03a"
           WaitBeforeStarting 10
           WaitBetweenSpawns 13
           TotalCurrency 200     
         
           TFBot
           {
             Template T_TFBot_Giant_Demo_RapidFire
           }
         }
         WaveSpawn //WAVE 03d: 8(16) total, 5(10) active, Heavyweapons (WAITFORALLDEAD "WAVE03B")
         {
           Name "wave03d"
           Where spawnbot
           TotalCount 16
           MaxActive 10
           SpawnCount 2
           WaitForAllDead "wave03b"
           WaitBeforeStarting 0
           WaitBetweenSpawns 7
           TotalCurrency 200     
         
           Squad
           {
             TFBot
             {
               Class Heavyweapons
               Skill Expert
               Attributes AlwaysCrit
               ItemAttributes
               {
                 ItemName "TF_WEAPON_MINIGUN"
                 "damage bonus"   1.5
               }
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
             }
           }
         }
         WaveSpawn //WAVE 03e: [TANK] WAITFORALLSPAWNED "WAVE03C")
         {
           Name "wave03e"
           TotalCount 1
           WaitForAllSpawned "wave03c"
           WaitBeforeStarting 0
           TotalCurrency 200
           
           FirstSpawnOutput   
           {
              Target boss_spawn_relay   
              Action Trigger   
           }
    
           Tank
           {
             Health 30000
             Speed 75
             Name "tankboss"
             StartingPathTrackNode "boss_path_a1"
    
             OnKilledOutput   
             {
               Target boss_dead_relay
               Action Trigger   
             }
             
             OnBombDroppedOutput   
             {
               Target boss_deploy_relay
               Action Trigger   
             }
           }
         }
         WaveSpawn //WAVE 03f: 66 total, 22 active, Scout (WAITFORALLSPAWNED "WAVE03C")
         {
           Name "wave01a"
           Where spawnbot
           TotalCount 66
           MaxActive 22
           SpawnCount 11
           WaitForAllSpawned "wave03c"
           WaitBeforeStarting 5
           WaitBetweenSpawns 10
           TotalCurrency 200
    
           Support 1
         
           TFBot
           {
             Class Scout
             Skill Easy
           }
         }
       }
       //WAVE 4 //Currency 1000 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
    
         WaveSpawn //WAVE 04a: 100 total, 14 active, Spy
         {
           Name "wave04a"
           Where spawnbot
           TotalCount 100
           MaxActive 14
           SpawnCount 8
           WaitBeforeStarting 0
           WaitBetweenSpawns 2
           TotalCurrency 300     
         
           TFBot
           {
             Class Spy
             Skill Expert
           }
         }
         WaveSpawn //WAVE 04b: 128 total, 8 active, Scout
         {
           Name "wave04b"
           Where spawnbot
           TotalCount 128
           MaxActive 8
           SpawnCount 8
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 400   
    
           Support 1
         
           TFBot
           {
             Class Scout
             Skill Hard
             Attributes AlwaysCrit
           }
         }
         WaveSpawn //WAVE 04c: [GIANT] 4(8) total, 4(8) active, Heavyweapons (Flank main right + regular uber duration medic)
         {
           Name "wave04c"
           Where spawnbot
           TotalCount 8
           MaxActive 8
           SpawnCount 2
           WaitForAllSpawned "wave04a"
           WaitBeforeStarting 0
           WaitBetweenSpawns 20
           TotalCurrency 300     
           
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Heavyweapons
               Tag nav_prefer_flank_right
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
               ItemAttributes
               {
                 ItemName "TF_WEAPON_MEDIGUN"
                 "uber duration bonus" 4
               }
             }
           }
         }
         WaveSpawn //WAVE 04d: [GIANT] 4(8) total, 4(8) active, Heavyweapons (Flank main left + regular uber duration medic)
         {
           Name "wave04c"
           Where spawnbot
           TotalCount 8
           MaxActive 8
           SpawnCount 2
           WaitForAllSpawned "wave04a"
           WaitBeforeStarting 10
           WaitBetweenSpawns 20
           TotalCurrency 300     
           
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Heavyweapons
               Tag nav_prefer_flank_left
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
               ItemAttributes
               {
                 ItemName "TF_WEAPON_MEDIGUN"
                 "uber duration bonus" 4
               }
             }
           }
         }
       }
       //WAVE 5 //Currency 650 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         // Sniper mission - 4 active   
    
         WaveSpawn //WAVE 05a: 64 total, 12 active, Heavyweapons (Steel Gauntlet)
         {
           Name "wave05a"
           Where spawnbot
           TotalCount 64
           MaxActive 12
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 15
           TotalCurrency 300     
         
           TFBot
           {
             Template T_TFBot_Heavyweapons_Fist
           }
         }
         WaveSpawn //WAVE 05b: 64 total, 12 active, Soldier (Supercharged)
         {
           Name "wave05b"
           Where spawnbot
           TotalCount 64
           MaxActive 6
           SpawnCount 3
           WaitBeforeStarting 10
           WaitBetweenSpawns 15
           TotalCurrency 300     
           
           TFBot
           {
             Class Soldier
             Skill Expert
             Name "Crit Soldier"
             Attributes AlwaysCrit
             ItemAttributes
             {
               ItemName "TF_WEAPON_ROCKETLAUNCHER"
               "damage bonus"   2.0
               "faster reload rate" -0.8
               "fire rate bonus" 0.6
             }
           }
         }
         WaveSpawn //WAVE 05c: 22 total, 2 active, Heavyweapons (Steel Gauntlet) + Uber medic
         {
           Name "wave05c"
           Where spawnbot
           TotalCount 22
           MaxActive 2
           SpawnCount 2
           WaitBeforeStarting 30
           WaitBetweenSpawns 12
           TotalCurrency 50     
         
           Squad
           {
             TFBot
             {
               Template T_TFBot_Heavyweapons_Fist
             }
             TFBot
             {
               Template T_TFBot_Medic_QuickUber
             }
           }
         }
       }
       //WAVE 6 //Currency 1300 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay
             Action Trigger
           }
         DoneOutput           
           {
             Target wave_finished_relay
             Action trigger
           }
         
         WaitWhenDone 65
         Checkpoint Yes
         
         // Sniper mission - 2 active   
    
         WaveSpawn //WAVE 06a: 32 total, 4 active, Soldier (supercharged)
         {
           Name "wave06abcde"
           Where spawnbot
           TotalCount 32
           MaxActive 4
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 100     
         
           TFBot
           {
             Class Soldier
             Skill Expert
             Name "Crit Soldier"
             Attributes AlwaysCrit
             ItemAttributes
             {
               ItemName "TF_WEAPON_ROCKETLAUNCHER"
               "damage bonus"   2.0
               "faster reload rate" -0.8
               "fire rate bonus" 0.6
             }
           }
         }
         WaveSpawn //WAVE 06b: 32 total, 4 active, Heavyweapons (supercharged)
         {
           Name "wave06abcde"
           Where spawnbot
           TotalCount 32
           MaxActive 4
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 100     
         
           TFBot
           {
             Class Heavyweapons
             Skill Expert
             Name "Crit Heavy"
             Attributes AlwaysCrit
           }
         }
         WaveSpawn //WAVE 06c: 32 total, 4 active, Pyros (supercharged)
         {
           Name "wave06abcde"
           Where spawnbot
           TotalCount 32
           MaxActive 4
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 150     
         
           TFBot
           {
             Class Pyro
             Skill Expert
             Name "Crit Pyro"
             Attributes AlwaysCrit
             ItemAttributes
             {
               ItemName "TF_WEAPON_FLAMETHROWER"
               "damage bonus"   2.0
             }
             CharacterAttributes
             {
               "move speed bonus"   1.5
             }
           }
         }
         WaveSpawn //WAVE 06d: 32 total, 4 active, Scouts (supercharged)
         {
           Name "wave06abcde"
           Where spawnbot
           TotalCount 24
           MaxActive 4
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 150     
         
           TFBot
           {
             Class Scout
             Skill Expert
             Name "Crit Scout"
             Attributes AlwaysCrit
           }
         }
         WaveSpawn //WAVE 06e: 32 total, 4 active, Demoman (supercharged)
         {
           Name "wave06abcde"
           Where spawnbot
           TotalCount 24
           MaxActive 4
           SpawnCount 4
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 150     
         
           TFBot
           {
             Class Demoman
             Skill Expert
             Name "Crit Demo"
             Attributes AlwaysCrit
             ItemAttributes
             {
               ItemName "TF_WEAPON_GRENADELAUNCHER"
               "Projectile speed increased" 2.0
               "faster reload rate" -0.8
               "damage bonus"   2.0
             }
           }
         }
         WaveSpawn //WAVE 06f: [TANK] WAITFORALLSPAWNED "WAVE06ABCDE")
         {
           Name "wave06f"
           TotalCount 2
           WaitForAllSpawned "wave06abcde"
           WaitBeforeStarting 0
           WaitBetweenSpawns 30
           TotalCurrency 200
           
           FirstSpawnOutput   
           {
              Target boss_spawn_relay   
              Action Trigger   
           }
    
           Tank
           {
             Health 35000
             Speed 75
             Name "tankboss"
             StartingPathTrackNode "boss_path_a1"
    
             OnKilledOutput   
             {
               Target boss_dead_relay
               Action Trigger   
             }
             
             OnBombDroppedOutput   
             {
               Target boss_deploy_relay
               Action Trigger   
             }
           }
         }
         WaveSpawn //WAVE 06g: [GIANT] 8 total, 8 active, Super Scout (WAITFORALLSPAWNED "WAVE06ABCDE")
         {
           Name "wave06g"
           Where spawnbot
           TotalCount 8
           MaxActive 8
           SpawnCount 2
           WaitForAllSpawned "wave06abcde"
           WaitBeforeStarting 45
           WaitBetweenSpawns 20
           TotalCurrency 50   
           
           TFBot
           {
             Template T_TFBot_Giant_Scout_Fast
           }
         }
         WaveSpawn //WAVE 06h: [GIANT] 3(6) total, 3(6) active, Heavyweapons (Crit + Giant medic) (WAITFORALLDEAD "WAVE06ABCDE")
         {
           Name "wave06h"
           Where spawnbot
           TotalCount 6
           MaxActive 6
           SpawnCount 2
           WaitForAllDead "wave06abcde"
           WaitBeforeStarting 0
           WaitBetweenSpawns 40
           TotalCurrency 50     
         
           Squad
           {
             TFBot
             {
               Template T_TFBot_Giant_Heavyweapons_Deflector
               Attributes AlwaysCrit
               Item "Witch Hat"
             }
             TFBot
             {
               Template T_TFBot_Giant_Medic
               Item "The Warsworn Helmet"
             }
           }
         }
         WaveSpawn //WAVE 06i: [GIANT] 10 total, 10 active, Soldier (rapid fire) (WAITFORALLSPAWNED "WAVE06H")
         {
           Name "wave06i"
           Where spawnbot
           TotalCount 10
           MaxActive 10
           SpawnCount 2
           WaitForAllSpawned "wave06h"
           WaitBeforeStarting 5
           WaitBetweenSpawns 10
           TotalCurrency 50     
         
           RandomChoice
           {
             TFBot
             {
               Template T_TFBot_Giant_Soldier_Spammer
               Tag special_main_right
             }
             TFBot
             {
               Template T_TFBot_Giant_Soldier_Spammer
               Tag special_main_left
             }
           }
         }
         WaveSpawn //WAVE 06j: [FINAL TANK]  (WAITFORALLSPAWNED "WAVE06H")
         {
           Name "wave06j"
           TotalCount 1
           WaitForAllSpawned "wave06h"
           WaitBeforeStarting 25
           WaitBetweenSpawns 0
           TotalCurrency 200
           
           FirstSpawnOutput   
           {
              Target boss_spawn_relay   
              Action Trigger   
           }
    
           Tank
           {
             Health 60000
             Speed 75
             Name "tankboss"
             Skin 1
             StartingPathTrackNode "boss_path_1"
    
             OnKilledOutput   
             {
               Target boss_dead_relay
               Action Trigger   
             }
             
             OnBombDroppedOutput   
             {
               Target boss_deploy_relay
               Action Trigger   
             }
           }
         }
       }
       //WAVE 7 //Currency 0 ///////////////////////////////////////////////////////////////////////////////////////////////////////
       Wave
       {
         StartWaveOutput
           {
             Target wave_start_relay_boss
             Action Trigger
           }
         WaitWhenDone 65
         Checkpoint Yes
         
         // Sniper mission - 6 active   
         // Spy mission - 10 active   
    
         WaveSpawn //WAVE 07a: [CHIEF SOLDIER]  
         {
           Name "wave07a"
           Where spawnbot
           TotalCount 1
           MaxActive 1
           SpawnCount 1
           WaitBeforeStarting 0
           WaitBetweenSpawns 0
           TotalCurrency 0
           
           TFBot
           {
             Template T_TFBot_Chief_Soldier
           }
         }
       }
    }
     
    • Thanks Thanks x 2