// Virtual Insanity // mvm_swirl Expert // Made by Ciaran for the Moonlight MvM 2022 Tour // this is what Alpine Skyline would look like if: // - it had the proper difficulty label (expert) // - it was actually fun (yet to confirm) // - it had no retarded gimmicks (FUCK RAFMOD) // - it wasn't made by a retard (:ujel:) // SPAWNS // oh wait I don't have to list everything here myself because I can just look at this link // https://tf2maps.net/downloads/mvm_swirl.8913/ // actually I'll do it anyways // ========== Spawnbot list ========== // spawnbot_upper // spawnbot_right // spawnbot_left // spawnbot_main // spawnbot_chief // spawnbot_sentrybuster // // spawnbot_flank: stays at the initial spawn after gate capture // spawnbot_dud_kill: Instantly dies. Useful for firing relays // spawnbot_dud: Traps the bot. Useful for Icon and relays // spawnbot_ambush_upper: Must be used with relay_open_ambush to open the spawn doors. // spawnbot_ambush_lower: Must be used with relay_open_ambush to open the spawn doors. // ========== Tank Path List ========== // path_tank_upper // path_tank_lower // path_tank_default // path_tank_reverse // ========== Relays ========== // wave_start_relay // wave_start_boss_relay // wave_init_relay // wave_init_lower_relay // wave_init_upper_relay // relay_add_bomb // relay_bomb_timer // relay_bomb_no_timer // relay_open_ambush // relay_close_ambush #base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop #base overclock_cactus_general.pop the_quirky_gatebot_expert_mission_that_appears_to_be_seemingly_low_payout_but_transitions_into_high_payout_city_real_shortly { StartingCurrency 500 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no Advanced 1 Templates { T_TFBot_Medic_QuickFix_Obvious { Class Medic Name "Quick-Fix Medic" Skill Easy Item "The Quick-Fix" ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } } T_TFBot_Medic_BigHeal_Obvious { Class Medic Name "Quick-Fix Medic" Skill Expert // helps differentiate from normal quickfix medics even further Item "The Quick-Fix" Item "The Surgeon's Stahlhelm" // giant regen medic's hat ItemAttributes { ItemName "The Quick-Fix" "ubercharge rate bonus" 0.01 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "heal rate bonus" 10 } } T_TFBot_Medic_Kritzkrieg_BigHeal { Class Medic Name "Kritzkrieg Medic" ClassIcon medic_kritz Attributes SpawnWithFullCharge Attributes IgnoreEnemies Item "The Kritzkrieg" Item "Titanium Tyrolean" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 9999 "uber duration bonus" 9999 "heal rate bonus" 10 } CharacterAttributes { "bot medic uber health threshold" 690 } } T_TFBot_Giant_Sniper_Bowman { Class Sniper ClassIcon sniper_bow Health 3000 Name "Giant Bowman" Skill Expert Attributes MiniBoss Item "The Huntsman" Item "Larrikin Robin" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 3 } } T_TFBot_Soldier_CowMangler { Class Soldier Skill Normal ClassIcon soldier_mangler Item "The Cow Mangler 5000" Item "Lo-Fi Longwave" } T_TFBot_Sniper_Carbine { Class Sniper Skill Easy ClassIcon sniper_carbine Item "The Cleaner's Carbine" //Name "gangsta!" Name "Carbine Sniper" MaxVisionRange 1200 WeaponRestrictions SecondaryOnly } T_TFBot_Giant_Pyro_Dragon { Class Pyro Name "Giant Dragon Pyro" ClassIcon pyro_dragon_fury_swordstone_giant Skill Expert Health 3000 MaxVisionRange 690 Attributes MiniBoss Item "The Dragon's Fury" Item "Pyromancer's Mask" WeaponRestrictions PrimaryOnly CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Medic_Shield1 { Class Medic Name "Small Shield Medic" ClassIcon medic_shield_lite Attributes SpawnWithFullCharge Attributes ProjectileShield Attributes IgnoreEnemies Skill Expert ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "generate rage on heal" 1 "heal rate bonus" 10 } CharacterAttributes { "bot medic uber deploy delay duration" 12798 } } T_TFBot_Medic_Shield2 { Class Medic Name "Big Shield Medic" ClassIcon medic_shield_lite Attributes SpawnWithFullCharge Attributes ProjectileShield Attributes IgnoreEnemies Skill Expert ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "generate rage on heal" 2 "heal rate bonus" 10 } CharacterAttributes { "bot medic uber deploy delay duration" 12798 } } T_TFGatebot_Bowman_Rapidfire { Class Sniper Name "Rapid Fire Bowman" Scale 1.5 Health 1200 ClassIcon sniper_bow_multi EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers push Attributes IgnoreFlag Item "MvM GateBot Light Sniper" Item "The Huntsman" Skill Hard Tag bot_giant ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 } CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.85 } } RevertGateBotsBehavior { Item "MvM GateBot Light Sniper" ItemAttributes { ItemName "MvM GateBot Light Sniper" "item style override" 1 } Item "The Huntsman" Skill Hard Tag bot_giant ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 } CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.85 } } } } T_TFGatebot_Heavyweapons_Champ_Crit { Class Heavyweapons ClassIcon heavy_champ Name "Heavyweight Champ" EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers Push Attributes IgnoreFlag Item "MvM GateBot Light Heavy" Item "Pugilist's Protector" Item "The Killing Gloves of Boxing" WeaponRestrictions MeleeOnly Attributes AlwaysCrit ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 15185211 } } RevertGateBotsBehavior { Item "MvM GateBot Light Heavy" Item "Pugilist's Protector" Item "The Killing Gloves of Boxing" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 8289918 } ItemAttributes { ItemName "MvM GateBot Light Heavy" "item style override" 1 } Attributes AlwaysCrit WeaponRestrictions MeleeOnly } } } T_TFGatebot_Heavyweapons_Champ_Fast_MFD { Class Heavyweapons ClassIcon heavy_gru Name "Featherweight Champ" EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers Push Attributes IgnoreFlag Item "MvM GateBot Light Heavy" Item "Pugilist's Protector" Item "Gloves of Running Urgently MvM" WeaponRestrictions MeleeOnly CharacterAttributes { "mark for death" 1 } ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 15185211 } } RevertGateBotsBehavior { Item "MvM GateBot Light Heavy" Item "Pugilist's Protector" Item "Gloves of Running Urgently MvM" ItemAttributes { ItemName "MvM GateBot Light Heavy" "item style override" 1 } ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 8289918 } CharacterAttributes { "mark for death" 1 } WeaponRestrictions MeleeOnly } } } T_TFGatebot_Sniper_Huntsman { Class Sniper ClassIcon sniper_bow Name "Bowman" EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers Push Attributes IgnoreFlag Item "MvM GateBot Light Sniper" Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage penalty" 0.5 } } RevertGateBotsBehavior { Item "MvM GateBot Light Sniper" ItemAttributes { ItemName "MvM GateBot Light Sniper" "item style override" 1 } Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage penalty" 0.5 } } } } T_TFBot_Giant_Scout_SodaPopper_Fast { Class Scout Name "Super Soda Popper Scout" ClassIcon scout_popper2_giant Skill Expert Health 1200 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Soda Popper" Item "The Bottle Cap" MaxVisionRange 1200 ItemAttributes { ItemName "The Bottle Cap" "item style override" 1 } ItemAttributes { ItemName "The Soda Popper" "fire rate bonus" 0.5 "bullets per shot bonus" 2 "damage penalty" 0.5 "reload time increased" 2 } CharacterAttributes { "move speed bonus" 1.2 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFGatebot_Giant_Demoman_ScotRes { Class Demoman ClassIcon demo_sticky_daan Name "Lieutenant Landmine" Skill Expert Health 3300 EventChangeAttributes { Default { BehaviorModifiers push Attributes IgnoreFlag Tag nav_prefer_gate1_flank Tag bot_gatebot Item "MvM GateBot Light Demoman" Item "The Patriot Peak" Tag bot_giant Skill Expert WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "faster reload rate" 0.33 "stickybomb charge rate" 0.01 "fire rate bonus" 0.1 "clip size bonus" 1.75 "max pipebombs increased" 6 "projectile spread angle penalty" 3 "sticky arm time penalty" 1.3 } ItemAttributes { ItemName "The Patriot Peak" "set item tint RGB" 15185211 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } RevertGateBotsBehavior { Item "MvM GateBot Light Demoman" ItemAttributes { ItemName "MvM GateBot Light Demoman" "item style override" 1 } Item "The Patriot Peak" Tag bot_giant Skill Expert WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "faster reload rate" 0.33 "stickybomb charge rate" 0.01 "fire rate bonus" 0.1 "clip size bonus" 1.75 "max pipebombs increased" 6 "projectile spread angle penalty" 3 "sticky arm time penalty" 1.3 } ItemAttributes { ItemName "The Patriot Peak" "set item tint RGB" 8289918 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } } } T_TFBot_Demoman_Sticky { Class Demoman ClassIcon demo_sticky_daan Name "Stickybomb Demoman" Skill Expert MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Item "Bomb Beanie" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "fire rate penalty" 69420 "override projectile type" 27 "is_passive_weapon" 1 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "faster reload rate" 0.8 "max pipebombs decreased" -7 "stickybomb charge rate" 0.01 "Projectile range decreased" 0.5 "sticky arm time penalty" 1.3 } } T_TFGatebot_Scout_Bonk { Class Scout EventChangeAttributes { Default { BehaviorModifiers push Attributes IgnoreFlag Tag nav_prefer_gate1_flank Tag bot_gatebot Item "MvM GateBot Light Scout" Skill Hard MaxVisionRange 1300 WeaponRestrictions MeleeOnly Item "Bonk! Atomic Punch" } RevertGateBotsBehavior { Item "MvM GateBot Light Scout" ItemAttributes { ItemName "MvM GateBot Light Scout" "item style override" 1 } Skill Hard MaxVisionRange 1300 } } } T_TFGateBoss_Brigadier_Barragebox // bri'ish?!!?!?!?1/11/111111111010101100011001 { Class Soldier Name "Brigadier Barrage-Box" ClassIcon soldier_barrage_heal Health 36000 EventChangeAttributes { Default { BehaviorModifiers push Attributes IgnoreFlag Tag nav_prefer_gate1_flank Tag bot_gatebot Item "MvM GateBot Light Soldier" Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Item "The Black Box" // no unique cosmetic hats because they'd block the gatebot hat. sadge Attributes AlwaysCrit Attributes UseBossHealthBar ItemAttributes { ItemName "The Black Box" "clip size upgrade atomic" 26.0 "faster reload rate" 0.22 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "damage bonus" 1.5 "heal on hit for rapidfire" 120 "projectile speed increased" 0.75 } CharacterAttributes { "health regen" 69 "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } RevertGateBotsBehavior { Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "MvM GateBot Light Soldier" "item style override" 1 } Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Item "The Black Box" Attributes AlwaysCrit Attributes UseBossHealthBar ItemAttributes { ItemName "The Black Box" "clip size upgrade atomic" 26.0 "faster reload rate" 0.22 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "damage bonus" 1.5 "heal on hit for rapidfire" 120 "projectile speed increased" 0.75 } CharacterAttributes { "health regen" 69 "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } } } T_TFGatebot_Giant_Scout_Fast { Class Scout Name "Super Scout" ClassIcon scout_giant_fast Health 1200 EventChangeAttributes { Default { BehaviorModifiers push Attributes IgnoreFlag Tag nav_prefer_gate1_flank Tag bot_gatebot Tag bot_giant Item "MvM GateBot Light Scout" Item "The Holy Mackerel" WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes DisableDodge CharacterAttributes { "move speed bonus" 3.0 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } RevertGateBotsBehavior { Item "MvM GateBot Light Scout" ItemAttributes { ItemName "MvM GateBot Light Scout" "item style override" 1 } WeaponRestrictions MeleeOnly Item "The Holy Mackerel" Attributes MiniBoss Tag bot_giant CharacterAttributes { "move speed bonus" 3.0 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } } } T_TFGateBot_Giant_Soldier_Crit { Class Soldier Name "Giant Charged Soldier" ClassIcon soldier_crit Health 3800 EventChangeAttributes { Default { BehaviorModifiers push Attributes IgnoreFlag Tag nav_prefer_gate1_flank Tag bot_gatebot Item "MvM GateBot Light Soldier" Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes AlwaysCrit Item "The Original" ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } RevertGateBotsBehavior { Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "MvM GateBot Light Soldier" "item style override" 1 } Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes AlwaysCrit Item "The Original" ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } } } flanker_is_our_word_you_can_use_the_word_flanka { Class Sniper Skill Hard MaxVisionRange 1200 Item "The Hitman's Heatmaker" Item "Letch's LED" Item "The Bruiser's Bandanna" ItemAttributes { ItemName "The Hitman's Heatmaker" "damage penalty" 0.5 } ItemAttributes { ItemName "TF_WEAPON_CLUB" "crit from behind" 1 } ItemAttributes { ItemName "The Bruiser's Bandanna" "item style override" 1 } CharacterAttributes { "kill forces attacker to laugh" 1 } } T_TFGatebot_Heavyweapons_Apoco_MiniGiant { Class Heavyweapons Name "Apoco-Punchie" ClassIcon heavy_fist_nys Health 900 Scale 1.5 EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers push Attributes IgnoreFlag Item "Apoco-Fists" Item "MvM GateBot Light Heavy" WeaponRestrictions MeleeOnly Tag bot_giant Skill Hard Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 15185211 } } RevertGateBotsBehavior { Item "Apoco-Fists" Item "MvM GateBot Light Heavy" ItemAttributes { ItemName "MvM GateBot Light Heavy" "item style override" 1 } WeaponRestrictions MeleeOnly Tag bot_giant Skill Hard Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 8289918 } } } } T_TFBot_Heavyweapons_Apoco_MiniGiant { Class Heavyweapons Name "Apoco-Punchie" Skill Hard ClassIcon heavy_fist_nys Health 900 Scale 1.5 WeaponRestrictions MeleeOnly Item "Apoco-Fists" Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 2960676 } } } Mission // W1-7 SentryBuster { Objective DestroySentries Where spawnbot_sentrybuster CooldownTime 30 DesiredCount 1 BeginAtWave 1 RunForThisManyWaves 7 TFBot { Template T_TFBot_SentryBuster } } Mission // W1 Snipers { Objective Sniper Where spawnbot_chief CooldownTime 45 DesiredCount 2 BeginAtWave 1 RunForThisManyWaves 1 TFBot { Template flanker_is_our_word_you_can_use_the_word_flanka Name "the flanker sniper jumpscare" } } Mission // W2 Spies { Objective Spy Where spawnbot_chief InitialCooldown 35 CooldownTime 35 DesiredCount 2 BeginAtWave 2 RunForThisManyWaves 1 TFBot { Template T_TFBot_Spy } } Mission // W1-3 Engineer { Objective Engineer Where spawnbot_flank BeginAtWave 1 RunForThisManyWaves 3 InitialCooldown 30 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter ClassIcon engineer_telein TeleportWhere spawnbot_main TeleportWhere spawnbot_left TeleportWhere spawnbot_right CharacterAttributes { "kill forces attacker to laugh" 1 } } } Mission // W4 Spies { Objective Spy Where spawnbot_chief InitialCooldown 30 CooldownTime 30 DesiredCount 2 BeginAtWave 4 RunForThisManyWaves 1 TFBot { Template T_TFBot_Spy } } Mission // W5 Snipers { Objective Sniper Where spawnbot_chief InitialCooldown 30 CooldownTime 30 DesiredCount 3 BeginAtWave 5 RunForThisManyWaves 1 TFBot { Template T_TFBot_Sniper } } Mission // W5-W6 Engineer { Objective Engineer Where spawnbot_flank BeginAtWave 5 RunForThisManyWaves 2 InitialCooldown 30 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter ClassIcon engineer_telein TeleportWhere spawnbot_main TeleportWhere spawnbot_left TeleportWhere spawnbot_right CharacterAttributes { "kill forces attacker to laugh" 1 } } } Mission // W6-W7 Spies { Objective Spy Where spawnbot_chief InitialCooldown 30 CooldownTime 30 DesiredCount 3 BeginAtWave 6 RunForThisManyWaves 2 TFBot { Template T_TFBot_Spy } } Wave // WAVE 1 { StartWaveOutput { Target wave_start_relay_notimer Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput // WHAT THE FUCK THESE RELAYS DON'T EVEN WORK { Target wave_init_lower_relay Action Trigger } // actually on May 20th of 2022 they updated the map and fixed this. very epic WaveSpawn { Name wave1a1 TotalCurrency 50 TotalCount 24 MaxActive 9 SpawnCount 3 WaitBetweenSpawns 3 RandomSpawn 1 Where spawnbot_left Where spawnbot_right TFBot { Class Demoman } } WaveSpawn { Name wave1a2 TotalCurrency 50 TotalCount 20 MaxActive 9 SpawnCount 4 WaitBeforeStarting 4 WaitBetweenSpawns 4 RandomSpawn 1 Where spawnbot_chief Where spawnbot_upper TFBot { Template T_TFGateBot_Soldier_Hard } } WaveSpawn { Name wave1b WaitForAllSpawned wave1a1 TotalCurrency 100 TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_left Where spawnbot_right RandomSpawn 1 Squad { TFBot { Class Heavyweapons } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } TFBot { Template T_TFBot_Medic_Shield1 } } } WaveSpawn { Name wave1b_g WaitForAllDead wave1a2 TotalCurrency 50 TotalCount 8 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 6 Where spawnbot_chief TFBot { Template T_TFGatebot_Bowman_Rapidfire } } WaveSpawn { Name wave1b_g2 WaitForAllSpawned wave1b_g TotalCurrency 50 TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 8 Where spawnbot_chief TFBot { Template T_TFBot_Sniper_Huntsman_Spammer Tag bot_giant Name "Rapid Fire Bowman" ClassIcon sniper_bow_multi } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 6 WaitBetweenSpawns 6.5 Where spawnbot_left Support Limited TFBot { Class Demoman Skill Hard } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 100 TotalCount 20 MaxActive 8 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Where spawnbot_right RandomChoice { TFBot { Class Pyro Skill Easy } TFBot { Class Pyro Skill Easy } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } } } WaveSpawn { Name wave1support WaitForAllSpawned wave1b_g2 TotalCurrency 100 Support 1 TotalCount 100 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_main TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys } } } Wave // WAVE 2 { StartWaveOutput { Target wave_start_relay_notimer Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_upper_relay Action Trigger } WaveSpawn { Name wave2_gsoldiers TotalCurrency 100 TotalCount 10 MaxActive 7 SpawnCount 5 WaitBetweenSpawns 18 Where spawnbot_upper Squad { TFBot { Template T_TFGateBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } TFBot { Template T_TFGatebot_Heavyweapons_Apoco_MiniGiant } TFBot { Template T_TFGatebot_Heavyweapons_Apoco_MiniGiant } TFBot { Template T_TFGatebot_Heavyweapons_Apoco_MiniGiant } } } WaveSpawn { Name wave2_bonkscouts TotalCurrency 100 TotalCount 32 MaxActive 12 SpawnCount 4 WaitBetweenSpawns 3.6 Where spawnbot_left Where spawnbot_right TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys } } WaveSpawn { Name wave2_tank WaitForAllSpawned wave2_bonkscouts TotalCurrency 100 TotalCount 1 SpawnCount 1 Tank { Health 20000 Name "tankboss" Speed 75 StartingPathTrackNode "path_tank_reverse" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave2_lochdemos WaitForAllSpawned wave2_bonkscouts TotalCurrency 100 TotalCount 20 MaxActive 10 SpawnCount 4 WaitBeforeStarting 4 WaitBetweenSpawns 4 Where spawnbot_chief TFBot { Class Demoman Skill Hard } } WaveSpawn { Name wave2_gatebows WaitForAllDead wave2_bonkscouts TotalCurrency 100 TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 4 WaitBetweenSpawns 4 Where spawnbot_left Where spawnbot_right TFBot { Template T_TFGatebot_Sniper_Huntsman } } WaveSpawn { Name wave2_final WaitForAllDead wave2_gatebows TotalCurrency 100 Support 1 TotalCount 24 MaxActive 9 SpawnCount 3 WaitBetweenSpawns 4 Where spawnbot_left Where spawnbot_right TFBot { Class Scout Skill Normal } } WaveSpawn { Name wave2_final WaitForAllSpawned wave2_lochdemos TotalCurrency 100 TotalCount 10 MaxActive 10 SpawnCount 5 WaitBeforeStarting 6 WaitBetweenSpawns 14 Where spawnbot_chief Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag bot_giant } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } TFBot { Template T_TFBot_Heavyweapons_Apoco_MiniGiant Tag bot_giant } TFBot { Template T_TFBot_Heavyweapons_Apoco_MiniGiant Tag bot_giant } TFBot { Template T_TFBot_Heavyweapons_Apoco_MiniGiant Tag bot_giant } } } } Wave // WAVE 3 { StartWaveOutput { Target wave_start_relay_notimer Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_lower_relay Action Trigger } WaveSpawn { Name wave3_punchies TotalCurrency 100 TotalCount 32 MaxActive 16 SpawnCount 4 WaitBetweenSpawns 3 Where spawnbot_left Where spawnbot_right Squad { TFBot { Template T_TFGatebot_Heavyweapons_Champ_Crit } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick-Uber Medic" } } } WaveSpawn { Name wave3_superscouts TotalCurrency 100 TotalCount 4 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 10 Where spawnbot_upper TFBot { Template T_TFBot_Giant_Scout_SodaPopper_Fast Tag bot_giant } } WaveSpawn { Name wave3_thesecondcoming WaitForAllSpawned wave3_punchies TotalCurrency 100 TotalCount 30 MaxActive 10 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 4 Where spawnbot_main TFBot { Template T_TFGateBot_Soldier_Hard } } WaveSpawn { Name wave3_support Support 1 WaitForAllSpawned wave3_punchies TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 Where spawnbot_chief TFBot { Class Heavyweapons Skill Normal } } WaveSpawn { Name wave3_sticky WaitForAllDead wave3_punchies TotalCurrency 200 TotalCount 12 MaxActive 7 SpawnCount 4 WaitBetweenSpawns 12 Where spawnbot_chief Squad { TFBot { Template T_TFGatebot_Giant_Demoman_ScotRes } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } } } WaveSpawn { Name wave3_final WaitForAllDead wave3_sticky TotalCurrency 200 TotalCount 8 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 15 Where spawnbot_left Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Tag bot_giant } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } } } WaveSpawn { Name wave3_final WaitForAllSpawned wave3_thesecondcoming TotalCurrency 100 Support 1 TotalCount 32 MaxActive 12 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 4 Where spawnbot_main TFBot { Template T_TFBot_Scout_Sandman } } } Wave // WAVE 4 { StartWaveOutput { Target wave_start_relay_notimer Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_upper_relay Action Trigger } WaveSpawn { Name wave4_g TotalCurrency 50 TotalCount 4 MaxActive 3 SpawnCount 2 Where spawnbot_upper Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag bot_giant } TFBot { Template T_TFBot_Giant_Medic_Regen Tag bot_giant } } } WaveSpawn { Name wave4_scouts TotalCurrency 50 TotalCount 30 MaxActive 12 SpawnCount 3 WaitBetweenSpawns 3.60 Where spawnbot_left Where spawnbot_right TFBot { Template T_TFGateBot_Scout_Normal } } WaveSpawn { Name wave4_tanks WaitForAllSpawned wave4_scouts TotalCurrency 100 TotalCount 1 SpawnCount 1 Tank { Health 22000 Name "tankboss" Speed 65 StartingPathTrackNode "path_tank_default" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave4_tanks WaitForAllSpawned wave4_scouts WaitBeforeStarting 12 TotalCurrency 100 TotalCount 1 SpawnCount 1 Tank { Health 22000 Name "tankboss" Speed 65 StartingPathTrackNode "path_tank_reverse" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave4_commons1 WaitForAllDead wave4_scouts TotalCurrency 50 TotalCount 30 MaxActive 9 SpawnCount 3 WaitBetweenSpawns 4 Where spawnbot_left Where spawnbot_right TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave4_gated_gamers WaitForAllSpawned wave4_scouts TotalCurrency 50 TotalCount 12 MaxActive 8 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 8 Where spawnbot_upper TFBot { Template T_TFGateBot_Heavy_Normal } } WaveSpawn { Name wave4_final1 WaitForAllSpawned wave4_commons1 TotalCurrency 200 TotalCount 12 MaxActive 6 SpawnCount 3 WaitBetweenSpawns 12 Where spawnbot_right TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { Name wave4_final WaitForAllDead wave4_commons1 TotalCurrency 200 TotalCount 15 MaxActive 9 SpawnCount 3 WaitBetweenSpawns 5 Where spawnbot_left TFBot { Class Soldier Skill Normal } } WaveSpawn { Name wave4_final WaitForAllDead wave4_commons1 TotalCurrency 200 TotalCount 15 MaxActive 11 SpawnCount 5 Where spawnbot_chief WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon Tag bot_giant } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_giant Name "Quick-Uber Medic" } } } WaveSpawn { Name wave4support WaitForAllSpawned wave4_final1 Support 1 TotalCount 100 MaxActive 4 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_main TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys } } } Wave // WAVE 5 { StartWaveOutput { Target wave_start_relay_notimer Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_lower_relay Action Trigger } WaveSpawn { Name wave5_black TotalCurrency 100 TotalCount 36 MaxActive 12 SpawnCount 4 WaitBetweenSpawns 4 Where spawnbot_left Where spawnbot_right TFBot { Template T_TFGateBot_Soldier_RocketShotgun_Expert } } WaveSpawn { Name wave5_g_intro TotalCurrency 100 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 12 Where spawnbot_upper TFBot { Template T_TFBot_Giant_Scout_Fast Tag bot_giant } } WaveSpawn { Name wave5_g_intro TotalCurrency 100 TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0.2 WaitBetweenSpawns 18 Where spawnbot_upper TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Tag bot_giant } } WaveSpawn { Name wave5_bowmanspam WaitForAllSpawned wave5_black TotalCurrency 100 TotalCount 40 MaxActive 12 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 0.5 Where spawnbot_main TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name wave5_gpyrogmedic WaitForAllDead wave5_g_intro TotalCurrency 100 TotalCount 4 MaxActive 3 SpawnCount 2 WaitBetweenSpawns 14 Where spawnbot_right Squad { TFBot { Template T_TFGateBot_Giant_Pyro_AlwaysFire_Crit } TFBot { Template T_TFBot_Giant_Medic Tag bot_giant } } } WaveSpawn { Name wave5_more_superscouts WaitForAllDead wave5_g_intro TotalCurrency 100 TotalCount 4 MaxActive 3 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 12 Where spawnbot_left TFBot { Template T_TFBot_Giant_Scout_Fast Tag bot_giant } } WaveSpawn { Name wave5_final WaitForAllDead wave5_bowmanspam TotalCurrency 50 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBetweenSpawns 4 Where spawnbot_main Squad { TFBot { Template T_TFBot_Demoman_Sticky } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } } } WaveSpawn { Name wave5_final WaitForAllDead wave5_more_superscouts TotalCurrency 50 TotalCount 12 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 10 Where spawnbot_chief Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Tag bot_giant } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } TFBot { Template T_TFBot_Medic_Kritzkrieg_BigHeal } } } WaveSpawn { Name wave5_support WaitForAllSpawned wave5_bowmanspam Support 1 TotalCurrency 100 TotalCount 100 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 3 Where spawnbot_main TFBot { Class Scout } } } Wave // WAVE 6 { StartWaveOutput { Target wave_start_boss_relay_notimer Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_upper_relay Action Trigger } WaveSpawn { Name wave6_cba TotalCurrency 50 TotalCount 10 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 12 Where spawnbot_upper TFBot { Template T_TFGateBot_Giant_Soldier_Crit } } WaveSpawn { Name wave6_superscouts1 TotalCurrency 50 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 10 Where spawnbot_right TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name wave6_gated_gamers TotalCurrency 100 TotalCount 60 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0.69 WaitBetweenSpawns 0.5 Where spawnbot_left Where spawnbot_right RandomSpawn 1 TFBot { Template T_TFGateBot_Scout_Normal } } WaveSpawn { Name wave6_the_tankening WaitForAllSpawned wave6_gated_gamers TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 Tank { Health 27000 Name "tankboss" Speed 65 Skin 1 StartingPathTrackNode "path_tank_upper" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave6_the_tankening WaitForAllSpawned wave6_gated_gamers TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 18 Tank { Health 27000 Name "tankboss" Speed 65 Skin 1 StartingPathTrackNode "path_tank_lower" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave6_oh_look_more_got_damn_super_scouts_now_in_sexy_gatebot_edition_(real) WaitForAllDead wave6_superscouts1 TotalCurrency 100 TotalCount 6 MaxActive 4 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 12 Where spawnbot_upper TFBot { Template T_TFGatebot_Giant_Scout_Fast } } WaveSpawn { Name wave6_commons1 WaitForAllDead wave6_gated_gamers TotalCurrency 100 TotalCount 21 MaxActive 9 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 5 Where spawnbot_right TFBot { Class Heavyweapons Skill Normal } } WaveSpawn { Name wave6_commons2 WaitForAllSpawned wave6_gated_gamers TotalCurrency 100 TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 8 Where spawnbot_upper Squad { TFBot { Template T_TFGateBot_Demo_Burst_Normal } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick-Uber Medic" } } } WaveSpawn { Name wave6_the_finale_appears WaitForAllSpawned wave6_commons1 TotalCurrency 100 TotalCount 15 MaxActive 6 SpawnCount 3 WaitBetweenSpawns 10 Where spawnbot_main TFBot { Class Pyro ClassIcon pyro_dragon_fury_swordstone Item "The Dragon's Fury" Item "Pyromancer's Mask" Name "Dragon Pyro" MaxVisionRange 600 } } WaveSpawn { Name wave6_the_finale_appears WaitForAllDead wave6_commons2 TotalCurrency 100 TotalCount 6 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 18 Where spawnbot_chief Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name wave6_finalesupport WaitForAllDead wave6_commons1 WaitForAllSpawned wave6_commons2 TotalCurrency 100 TotalCount 100 Support 1 MaxActive 12 SpawnCount 3 WaitBetweenSpawns 3 Where spawnbot_main TFBot { Template T_TFBot_Sniper_Huntsman } } } }