#base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop #base conga_weapons.pop population { StartingCurrency 950 RespawnWaveTime 6 CanBotsAttackWhileInSpawnRoom no AddSentryBusterWhenDamageDealtExceeds 10000 AddSentryBusterWhenKillCountExceeds 10 ExtendedUpgradesOnly 1 Mission { Objective DestroySentries Where spawnbot_right BeginAtWave 1 RunForThisManyWaves 7 InitialCooldown 30 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Spy Where spawnbot_right BeginAtWave 2 RunForThisManyWaves 2 InitialCooldown 30 CooldownTime 45 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_left BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 25 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Mission { Objective Spy Where spawnbot_right BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 45 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_left BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 25 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } // Mission // { // Objective Engineer // Where spawnbot // BeginAtWave 2 // RunForThisManyWaves 2 // InitialCooldown 30 // CooldownTime 45 // DesiredCount 1 // TFBot // { // Template T_TFBot_Engineer_Sentry_Teleporter // } // } PointTemplates { finalsubPT { logic_relay { "targetname" "FinalSubCheck" "OnTrigger" "finalsubmath,Add,1,0,-1" } math_counter { "targetname" "finalsubmath" "min" "0" "max" "2" "OnHitMax" "tank_boss,RemoveHealth,999999,0,-1" } } NoMannPower { NoFixup 1 logic_timer { "targetname" "mannpower_kill" "RefireTime" "0.01" "spawnflags" "0" "UseRandomTime" "0" "OnTimer" "item_powerup_rune,kill,,0,-1" } } } SpawnTemplate finalsubPT SpawnTemplate NoMannPower ForceItem "tf_weapon_spellbook" ExtendedUpgrades { MaxUpgradesTier // For tiered upgrades: Specify how many upgrades can be bought per tier. (1 by default) { 1 3 // Max 2 upgrades on tier 1 2 3 // Max 1 upgrade on tier 2 3 3 4 3 } MinUpgradesTier // For tiered upgrades: Specify how many upgrades have to be bought to unlock next tier. (1 by default) { 1 0 // Min 2 upgrades on tier 1 to unlock tier 2 2 0 // Min 1 upgrade on tier 2 to unlock tier 3 3 0 } //DAMAGE ITEMS dmg1 { Name "DAMAGE - Oiled Barrels" Attribute "overheal decay penalty" Description "+15% fire rate bonus, -10hp" Cap 1.001 Increment 0.001 Cost 300 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "max health additive penalty" -10 "fire rate bonus" -0.15 } } dmg2 { Name "DAMAGE - Brick" Attribute "spread penalty" Description "+10% damage, +5% health" Cap 1.001 Increment 0.001 Cost 300 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "damage bonus" 0.1 "mult max health" 0.05 } } dmg3 { Name "DAMAGE - Extra Gunpowder" Attribute "heal rate penalty" Description "+65% explosion radius, +15% damage per target hit" Cap 1.001 Increment 0.001 Cost 700 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "blast radius increased" 0.65 "add damage per target" 0.15 } } dmg7 { Name "DAMAGE - Refined Mechanism" Attribute "self dmg push force increased" Description "+65% reload speed, +15% damage bonus" Cap 1.001 Increment 0.001 Cost 700 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "faster reload rate" -0.65 "damage bonus" 0.15 } } dmg4 { Name "DAMAGE - Explosive Rounds" Attribute "dmg penalty vs nonburning" Description "+Bullets explode on hit (same as soldier rocket), +20% explosive resistance" Cap 1.001 Increment 0.001 Cost 1600 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "explosive bullets" 147 "dmg taken from blast reduced" -0.2 } } dmg5 { Name "DAMAGE - Extra Barrel" Attribute "projectile spread angle penalty" Description "+100% Projectiles per shot, +60% bullets per shot, +3 degree spread, -30% damage" Cap 3 Increment 3 Cost 1600 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "mult projectile count" 1 "bullets per shot bonus" 0.6 "damage bonus" -0.3 } } dmg6 { Name "DAMAGE - Bleeding Vial" Attribute "obsolete ammo penalty" Description "+40dps bleed for 3s, +50% health" Cap 3 Increment 3 Cost 1600 PlayerUpgrade 1 Tier 1 SecondaryAttributes { "bleeding duration" 3 "mult bleeding dmg" 4 "mult max health" 0.5 } } //VITALITY ITEMS vit1 { Name "VITALITY - Healthy Nut" Attribute "overheal decay bonus" Description "+25% health, +3 health regen" Cap 1.001 Increment 0.001 Cost 300 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "mult max health" 0.25 "health regen" 3 } } vit2 { Name "VITALITY - Beef" Attribute "mult cloak meter regen rate" Description "+5% damage lifesteal, +10% health" Cap 1.001 Increment 0.001 Cost 300 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "mult max health" 0.1 "damage returns as health" 0.05 } } vit3 { Name "VITALITY - Sturdy Hard Hat" Attribute "move speed penalty" Description "+50% blast damage resistance, +5 health regen" Cap 1.001 Increment 0.001 Cost 700 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "dmg taken from blast reduced" -0.5 "health regen" 5 } } vit6 { Name "VITALITY - MedBurst Module" Attribute "self dmg push force decreased" Description "+On hit: 0.5s Amputator effect to you and allies, +25% fire rate bonus" Cap 1.001 Increment 0.001 Cost 700 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "self add cond on hit" 55 "self add cond on hit duration" 0.5 "fire rate bonus" -0.25 } } vit7 { Name "VITALITY - Nonexistant Apple" Attribute "health from healers reduced" Description "+100% health from healers, +100% heal rate bonus, +20% health" Cap 1.001 Increment 0.001 Cost 700 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "health from healers increased" 1 "heal rate bonus" 1 "mult max health" 0.2 } } vit4 { Name "VITALITY - Cursed Contract" Attribute "dmg penalty vs nonstunned" Description "+350% health, +20% damage lifesteal, +20% fire rate bonus, -10 health regen" Cap 1.001 Increment 0.001 Cost 1600 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "health regen" -10 "mult max health" 3.5 "damage returns as health" 0.20 "fire rate bonus" -0.2 } } vit5 { Name "VITALITY - Crystal Eye" Attribute "weapon burn time increased" Description "+250% health, -7% damage lifesteal, +35% damage, +8 health regen" Cap 1.001 Increment 0.001 Cost 1600 PlayerUpgrade 1 Tier 2 SecondaryAttributes { "health regen" 8 "mult max health" 2.5 "damage returns as health" -0.07 "damage bonus" 0.35 } } //UTILITY ITEMS util1 { Name "UTILITY - Legal Papers" Attribute "ubercharge rate penalty" Description "+25% move speed" Cap 1.001 Increment 0.001 Cost 300 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "move speed bonus" 0.25 } } util2 { Name "UTILITY - Magic Ice" Attribute "mult cloak meter consume rate" Description "-35% health, +90% fire resistance" Cap 1.001 Increment 0.001 Cost 300 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "mult max health" -0.35 "dmg taken from fire reduced" -0.9 } } util3 { Name "UTILITY - Crit-B-Gone" Attribute "dmg taken from crit reduced" Description "+90% critical hit resistance, +10% health" Cap 0.1 Increment -0.9 Cost 700 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "mult max health" 0.1 } } util4 { Name "UTILITY - Utility Belt" Attribute "maxammo primary increased" Description "+200% ammo capacity, +100% metal capacity" Cap 3 Increment 2 Cost 700 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "maxammo secondary increased" 2 "maxammo metal increased" 1 } } util5 { Name "UTILITY - Sturdy Scope" Attribute "sniper charge per sec" Description "+100% sniper charge rate, +50% crit damage" Cap 2 Increment 1 Cost 700 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "mult crit dmg" 0.5 } } util7 { Name "UTILITY - A Good Ol' Shove" Attribute "reload full clip at once" Description "+reload full clip at once, -20% fire rate bonus, +15% move speed" Cap 1 Increment 1 Cost 700 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "faster reload rate" 0.2 "move speed bonus" 0.15 } } util6 { Name "UTILITY - Bullet-Proof Vest" Attribute "dmg taken from bullets reduced" Description "+80% bullet resistance, -20% move speed" Cap 0.2 Increment -0.8 Cost 1600 PlayerUpgrade 1 Tier 3 SecondaryAttributes { "move speed bonus" -0.2 } } //CLASS ITEMS spy1 { Name "SPY - Penetrator" Attribute "armor piercing" Description "+1 armor penetration, -10% health" Cap 25 Increment 25 Cost 300 PlayerUpgrade 1 Tier 4 AllowPlayerClass Spy SecondaryAttributes { "mult max health" -0.1 } } } Templates { GiantHeavyDeflector { Class Heavyweapons Name "Giant Deflector Heavy" ClassIcon heavy_deflector Skill Expert Health 5000 Scale 1.8 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The U-clank-a" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "override footstep sound set" 2 "damage bonus" 1.2 "attack projectiles" 2 } } GiantUberMedic { Class Medic Name "Giant Uber Medic" ClassIcon medic_uber_giant Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "bot medic uber health threshold" 1000 } } GiantKritzMedic { Class Medic Name "Giant Kritz Medic" ClassIcon medic_kritz Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Item "The Kritzkrieg" CharacterAttributes { "uber duration bonus" 999.0 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix } FireWeapon { Delay 1 //Time before the first fire input starts (Default: 10) Cooldown 3 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Secondary" } } GiantShieldMedic { Class Medic Name "Giant Shield Medic" ClassIcon medic_shield_lite Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes ProjectileShield Attributes SpawnWithFullCharge FireWeapon { Delay 1 //Time before the first fire input starts (Default: 10) Cooldown 3 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Special" } CharacterAttributes { "bot medic uber deploy delay duration" 999999 "generate rage on heal" 2 "heal rate bonus" 2 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "increase buff duration" 999.0 } } GiantHomingSoldier { Template T_TFBot_Giant_Demo_RapidFire Health 3800 ClassIcon demo_rapid_giant CharacterAttributes { "reload time decreased" 0.25 } } GiantHomingSoldierRapid { Template T_TFBot_Giant_Soldier_Spammer_Reload } GiantBisonRapid { Class Soldier Skill Expert Health 3800 ClassIcon soldier_bison_spammer Attributes "MiniBoss" Name "Giant Rapidfire Bison Soldier" WeaponRestrictions SecondaryOnly Item "The Righteous Bison" CharacterAttributes { "fire rate bonus" 0.1 "reload time decreased" 0.1 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } GiantPyroFury { Class Pyro Skill Expert Health 3800 ClassIcon Pyro_dragon_fury Attributes "MiniBoss" Name "Giant Dragon's Fury Pyro" WeaponRestrictions PrimaryOnly Item "The Dragon's Fury" CharacterAttributes { "fire rate bonus" 0.8 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } FamilyBusiness { Class Heavyweapons Skill Hard ClassIcon heavy_family_business Name "Family Business Heavy" WeaponRestrictions SecondaryOnly Item "The Family Business" } MonorailTank { Health 30000 Speed 75 Name "Monorail Tank" Gravity 0 DisableTracks 1 DisableChildModels 1 NoCrushDamage 1 StartingPathTrackNode monorail_path_B ClassIcon tank_monorail_cng Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/monorail_tank.mdl" Damage1 "models/monorail_tank_damage1.mdl" Damage2 "models/monorail_tank_damage2.mdl" Damage3 "models/monorail_tank_damage3.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } Wave //WAVE 1 - CASH 900 { WaitWhenDone 65 Checkpoint Yes Explanation { Line "{FFFF00}Welcome to MvM but the upgrades are replaced with MOBA-like items." Line "{FFFF00}You can have a max of three upgrades for each category." Line "{FFFF00}Item prices vary, be smart about how you use your cash!" Line "{FFFF00}Note that all bonuses are additive unless they say '#x'! Good luck!" } InitWaveOutput { Target relay_A Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 100 TotalCount 20 MaxActive 8 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name Main1 TotalCurrency 150 TotalCount 6 MaxActive 4 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 20 RandomSpawn 1 TFBot { Class Demoman Name "Giant Demoman" ClassIcon demo_giant Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } } WaveSpawn { WaitForAllSpawned Main1 TotalCurrency 100 TotalCount 40 MaxActive 15 SpawnCount 5 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 15 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template T_TFBot_Pyro_Flaregun Tag flank } } WaveSpawn { WaitForAllDead Main1 Name Main2 TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 40 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons } } WaveSpawn { WaitForAllSpawned Main2 TotalCurrency 150 TotalCount 21 MaxActive 9 SpawnCount 3 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 0 WaitBetweenSpawns 11 RandomSpawn 1 Support 1 TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Skill Normal Tag flank } } WaveSpawn { WaitForAllDead Main2 TotalCurrency 100 TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn //Consider adding demomen to this subwave? { WaitForAllDead Main2 TotalCurrency 200 TotalCount 24 MaxActive 9 SpawnCount 3 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 2.8 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Sniper_Huntsman Attributes "AlwaysCrit" } } } Wave //WAVE 2 - CASH 1000 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target relay_E Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 25 TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 18 TFBot { Template GiantHomingSoldier } } WaveSpawn { Name Main1b TotalCurrency 25 TotalCount 27 MaxActive 12 SpawnCount 3 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template T_TFBot_Pyro Skill Easy } } WaveSpawn { Name Main1b TotalCurrency 125 TotalCount 22 MaxActive 6 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Class Scout WeaponRestrictions SecondaryOnly Name "Pistol Scout" ClassIcon scout_pistol_nys Skill Easy } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 125 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 50 RandomSpawn 1 Tank { Template MonorailTank StartingPathTrackNode monorail_path_B Health 9500 } FirstSpawnOutput { Target relay_monorail_hologram_B Action Trigger } DoneOutput { Target monorail_holograms_clear_relay Action Trigger } } WaveSpawn { WaitForAllSpawned Main1 Name Main2b TotalCurrency 150 TotalCount 22 MaxActive 6 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template T_TFBot_Demo_Burst Tag flank } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 150 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { WaitForAllDead Main2b Name Main3b TotalCurrency 150 TotalCount 16 MaxActive 6 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 TFBot { Class Heavyweapons Name "Heavy" } } WaveSpawn { WaitForAllSpawned Main2 Name Main3 TotalCurrency 75 TotalCount 5 MaxActive 4 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 5 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner } } WaveSpawn { WaitForAllSpawned Main3 TotalCurrency 175 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 25 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } } WaveSpawn { WaitForAllDead Main3b TotalCurrency 0 TotalCount 6 MaxActive 6 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 0 WaitBetweenSpawns 7 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Demoman Skill Easy Tag flank } } } Wave //WAVE 3 - CASH 800 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target relay_C Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 50 TotalCount 6 MaxActive 4 SpawnCount 3 Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Soldier Item "The Cow Mangler 5000" ClassIcon soldier_mangler Attributes "HoldFireUntilFullReload" Attributes "AlwaysCrit" FireWeapon { Delay 10 //Time before the first fire input starts (Default: 10) Cooldown 2 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 2 //How long should the button be pressed (Default: 0.1) Type "Secondary" } CharacterAttributes { "damage bonus" 1.5 "faster reload rate" 0.1 "clip size bonus" 0.25 } } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name Main1 TotalCurrency 50 TotalCount 26 MaxActive 8 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Soldier_Extended_Battalion } } WaveSpawn { WaitForAllSpawned Main1 TotalCurrency 50 TotalCount 32 MaxActive 8 SpawnCount 4 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 5 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Class Scout Name "Guillotine Scout" Item "The Flying Guillotine" WeaponRestrictions SecondaryOnly Attributes "AlwaysCrit" ClassIcon scout_guillotine CharacterAttributes { "effect bar recharge rate increased" 0.4 } } } WaveSpawn { WaitForAllDead Main1 Name Main2 TotalCurrency 50 TotalCount 6 MaxActive 3 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Pyro } } WaveSpawn { WaitForAllDead Main1 Name Main2 TotalCurrency 100 TotalCount 4 MaxActive 2 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 12 RandomSpawn 1 TFBot { Template GiantHomingSoldierRapid } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 0 RandomSpawn 1 Tank { Template MonorailTank StartingPathTrackNode monorail_path_B Health 13000 } FirstSpawnOutput { Target relay_monorail_hologram_B Action Trigger } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 26 WaitBetweenSpawns 0 RandomSpawn 1 Tank { Template MonorailTank StartingPathTrackNode monorail_path_E Health 11000 } FirstSpawnOutput { Target relay_monorail_hologram_E Action Trigger } DoneOutput { Target monorail_holograms_clear_relay Action Trigger } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 100 TotalCount 5 MaxActive 4 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 7 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Demo_Burst } } WaveSpawn { WaitForAllSpawned Main2 Name Main3 TotalCurrency 100 TotalCount 22 MaxActive 8 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 10 WaitBetweenSpawns 6 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { WaitForAllSpawned Main2 Name Main3 TotalCurrency 100 TotalCount 16 MaxActive 4 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 10 WaitBetweenSpawns 4 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Pyro_Flaregun } } } Wave //WAVE 4 - CASH 900 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target relay_D Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 50 TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 13 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } } WaveSpawn { Name Main1 TotalCurrency 50 TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 13 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } } WaveSpawn { Name Main1b TotalCurrency 50 TotalCount 22 MaxActive 8 SpawnCount 2 Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Skill Normal Tag flank } } WaveSpawn { Name Main1b TotalCurrency 50 TotalCount 21 MaxActive 6 SpawnCount 3 Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 9 RandomSpawn 1 TFBot { Class Soldier Attributes "AlwaysCrit" Skill Normal } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 150 TotalCount 6 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 12 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2b TotalCurrency 125 TotalCount 9 MaxActive 5 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Heavyweapons_Fist Tag bot_giant } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2b TotalCurrency 100 TotalCount 24 MaxActive 9 SpawnCount 3 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Scout_FAN } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2b Name Main3 TotalCurrency 125 TotalCount 4 MaxActive 4 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 10 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Giant_Demoman_PrinceTavish } TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2b Name Main3b TotalCurrency 100 TotalCount 16 MaxActive 4 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 10 WaitBetweenSpawns 3.5 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Pyro_Flaregun Tag flank } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2b Name Main3b TotalCurrency 100 TotalCount 8 MaxActive 4 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 10 WaitBetweenSpawns 6 RandomSpawn 1 Support 1 TFBot { Attributes "AlwaysCrit" Class Heavyweapons Skill Easy } } } Wave //WAVE 5 - CASH 800 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target relay_E Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 10 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons } } WaveSpawn { Name Main1b TotalCurrency 50 TotalCount 24 MaxActive 9 SpawnCount 3 Where spawnbot_right_tank Where spawnbot_left_tank WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { Name Main1b TotalCurrency 100 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template T_TFBot_Demo_Burst Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 30 RandomSpawn 1 Tank { StartingPathTrackNode monorail_path_E Template MonorailTank Health 18500 } FirstSpawnOutput { Target relay_monorail_hologram_E Action Trigger } DoneOutput { Target monorail_holograms_clear_relay Action Trigger } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 100 TotalCount 6 MaxActive 4 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_RocketPush } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2b TotalCurrency 50 TotalCount 18 MaxActive 8 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template T_TFBot_Scout_Bonk Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2b TotalCurrency 50 TotalCount 18 MaxActive 9 SpawnCount 3 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn //Remove a medic if it is too difficult { WaitForAllDead Main2 Name Main3 TotalCurrency 50 TotalCount 4 MaxActive 4 SpawnCount 2 Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 14 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Giant_Demoman ClassIcon demo_rapid_giant Attributes "AlwaysCrit" } TFBot { Template GiantUberMedic } } } WaveSpawn { WaitForAllDead Main2b Name Main3 TotalCurrency 100 TotalCount 20 MaxActive 4 SpawnCount 1 Where spawnbot_right_tank Where spawnbot_left_tank WaitBeforeStarting 0 WaitBetweenSpawns 2 RandomSpawn 1 Support 1 TFBot { Class Scout Attributes "AlwaysCrit" Name "Scout" Tag flank } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 50 TotalCount 11 MaxActive 3 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Soldier_RocketShotgun } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 100 TotalCount 10 MaxActive 3 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 7 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Soldier_Extended_Concheror } } } Wave //WAVE 6 - CASH 1000 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target relay_B Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 50 TotalCount 7 MaxActive 5 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 TFBot { Template GiantBisonRapid } } WaveSpawn { Name Main1 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 12 RandomSpawn 1 Tank { StartingPathTrackNode tank_path_D Health 32000 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutput { Target relay_tank_hologram_D Action Trigger } DoneOutput { Target tank_holograms_clear_relay Action Trigger } } WaveSpawn { Name Main1b TotalCurrency 75 TotalCount 24 MaxActive 12 SpawnCount 4 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template T_TFBot_Demoman_Knight Attributes "AlwaysCrit" } } WaveSpawn { Name Main1b TotalCurrency 25 TotalCount 16 MaxActive 4 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template T_TFBot_Demoman Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 16 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys } } WaveSpawn { WaitForAllDead Main1b Name Main2b TotalCurrency 125 TotalCount 15 MaxActive 9 SpawnCount 3 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 7 RandomSpawn 1 TFBot { Class Scout WeaponRestrictions SecondaryOnly Name "Pistol Scout" ClassIcon scout_pistol_nys Skill Normal Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main1b Name Main2b TotalCurrency 75 TotalCount 12 MaxActive 6 SpawnCount 2 Where spawnbot_right_tank Where spawnbot_left_tank WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Template FamilyBusiness Tag flank } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 10 WaitBetweenSpawns 0 RandomSpawn 1 Tank { Template MonorailTank StartingPathTrackNode monorail_path_B Health 23000 } FirstSpawnOutput { Target relay_monorail_hologram_B Action Trigger } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 40 WaitBetweenSpawns 0 RandomSpawn 1 Tank { Template MonorailTank StartingPathTrackNode monorail_path_D Health 19000 } FirstSpawnOutput { Target relay_monorail_hologram_D Action Trigger } DoneOutput { Target monorail_holograms_clear_relay Action Trigger } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 0 RandomSpawn 1 Tank { StartingPathTrackNode tank_path_B Health 17500 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutput { Target relay_tank_hologram_B Action Trigger } DoneOutput { Target tank_holograms_clear_relay Action Trigger } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 100 TotalCount 6 MaxActive 4 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 31 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Attributes "AlwaysCrit" } TFBot { Template GiantShieldMedic } } } WaveSpawn { WaitForAllDead Main2b Name Main3b TotalCurrency 100 TotalCount 22 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 4.5 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Scout_FAN WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Tag flank } } WaveSpawn { WaitForAllDead Main2b Name Main3b TotalCurrency 75 TotalCount 20 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 10 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { WaitForAllDead Main2b Name Main3b TotalCurrency 75 TotalCount 10 MaxActive 4 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 8 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Heavyweapons_Fist Tag bot_giant } } } Wave //WAVE 7 - CASH 1100 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target relay_B Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{ffff00}///MONORAIL SAFETY PROTOCOL OVERRIDE ENABLED///" Line "{ffff00}///SPEED NO LONGER LIMITED///" Line "{ff0000}///DANGER!!! ROBOT INHIBITORS DISABLED///" } WaveSpawn { TotalCurrency 100 TotalCount 6 MaxActive 2 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 50 RandomSpawn 1 Support 1 RandomChoice { Tank { Template MonorailTank StartingPathTrackNode monorail_path_E Speed 125 Health 10000 } Tank { Template MonorailTank StartingPathTrackNode monorail_path_B Speed 125 Health 12000 } } FirstSpawnOutput { Target relay_monorail_hologram_B Action Trigger } DoneOutput { Target tank_holograms_clear_relay Action Trigger } } WaveSpawn { Name Main1 TotalCurrency 100 TotalCount 16 MaxActive 8 SpawnCount 4 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 9 RandomSpawn 1 Squad { TFBot { Template GiantHomingSoldierRapid Attributes "AlwaysCrit" } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name Main1b TotalCurrency 50 TotalCount 24 MaxActive 9 SpawnCount 3 Where spawnbot_right_tank Where spawnbot_left_tank WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template FamilyBusiness } FirstSpawnOutput { Target relay_monorail_hologram_E Action Trigger } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main3 TotalCurrency 100 TotalCount 8 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 14 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } } WaveSpawn { WaitForAllDead Main1b Name Main2b TotalCurrency 100 TotalCount 32 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 TFBot { Class Scout Name "Scout" Tag flank Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main2b Name Main3b TotalCurrency 100 TotalCount 18 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Class Heavyweapons WeaponRestrictions PrimaryOnly Skill Easy Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main3 Name Main4 TotalCurrency 100 TotalCount 4 MaxActive 2 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 DoneOutput { Target FinalSubCheck Action Trigger } Squad { TFBot { Template GiantHeavyDeflector Attributes "AlwaysCrit" } // TFBot // { // Template GiantUberMedic // } } } WaveSpawn { WaitForAllDead Main3 Name Main4 TotalCurrency 100 TotalCount 4 MaxActive 2 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 DoneOutput { Target FinalSubCheck Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main3b Name Main4b TotalCurrency 100 TotalCount 26 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Demo_Burst Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main3b Name Main4b TotalCurrency 50 TotalCount 18 MaxActive 4 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Pyro Skill Hard Tag flank } } WaveSpawn { WaitForAllDead Main3b Name Main4b TotalCurrency 50 TotalCount 15 MaxActive 4 SpawnCount 1 Where spawnbot_right Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Scout_Bonk Tag flank } } } }