#base robot_haniday_v.pop #base robot_haniday_g.pop //spawnbot //spawnbot_left //spawnbot_mission_sentrybuster //spawnbot_mission_sniper //spawnbot_mission_spy //spawnbot_right WaveSchedule { StartingCurrency 800 RespawnWaveTime 6 Advanced 1 CanBotsAttackWhileInSpawnRoom no Templates { T_TFGateBot_Giant_Pyro_AlwaysFireWeapon_Crit { Name "Giant Pyro" Health 3000 Class Pyro ClassIcon pyro_giant EventChangeAttributes { Default { CharacterAttributes { "move speed penalty" .5 "damage force reduction" .6 "airblast vulnerability multiplier" .6 "override footstep sound set" 6 } Skill Expert Tag bot_giant Tag bot_gatebot Attributes MiniBoss Attributes IgnoreFlag Attributes AlwaysCrit Attributes AlwaysFireWeapon BehaviorModifiers Push WeaponRestrictions PrimaryOnly Item "MvM GateBot Light Pyro" ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "lunchbox adds minicrits" 2 } } RevertGateBotsBehavior { CharacterAttributes { "move speed penalty" .5 "damage force reduction" .6 "airblast vulnerability multiplier" .6 "override footstep sound set" 6 } Skill Expert Tag bot_giant Attributes MiniBoss Attributes AlwaysCrit Attributes AlwaysFireWeapon WeaponRestrictions PrimaryOnly Item "MvM GateBot Light Pyro" ItemAttributes { ItemName "MvM GateBot Light Pyro" "item style override" 1 } ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "lunchbox adds minicrits" 2 } } } } T_TFGateBot_Chief_Soldier_Crit { Name "Crit Soldier" Health 35000 Class Soldier ClassIcon soldier_spammer Scale 1.8 EventChangeAttributes { Default { CharacterAttributes { "move speed penalty" .5 "damage force reduction" .3 "airblast vulnerability multiplier" .3 "override footstep sound set" 2 "health regen" 100 } Skill Expert Tag bot_giant Tag bot_gatebot Attributes MiniBoss Attributes IgnoreFlag Attributes AlwaysCrit Attributes UseBossHealthBar BehaviorModifiers Push WeaponRestrictions PrimaryOnly Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "reload time decreased" -.8 "fire rate bonus" .3 "damage bonus" 1.25 } } RevertGateBotsBehavior { CharacterAttributes { "move speed penalty" .5 "damage force reduction" .3 "airblast vulnerability multiplier" .3 "health regen" 100 "override footstep sound set" 2 } Skill Expert Tag bot_giant Attributes MiniBoss Attributes AlwaysCrit Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "MvM GateBot Light Soldier" "item style override" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "reload time decreased" -.8 "fire rate bonus" .3 "damage bonus" 1.25 } } } } } //Mission // Sentry Buster //{ // Objective "DestroySentries" // BeginAtWave 1 // Where spawnbot_mission_sentrybuster // InitialCooldown 40 // CooldownTime 30 // TFBot // { // Template T_TFBot_SentryBuster // } //} Mission // Wave 1-2 Engineer { Objective "Engineer" BeginAtWave 1 RunForThisManyWaves 2 Where spawnbot InitialCooldown 60 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TeleportWhere spawnbot_left TeleportWhere spawnbot_right TeleportWhere spawnbot_mission_sentrybuster TeleportWhere spawnbot_mission_sniper } } Mission // Wave 3 Engineer { Objective "Engineer" BeginAtWave 3 RunForThisManyWaves 1 Where spawnbot_left Where spawnbot_right InitialCooldown 40 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle } } Mission // Wave 4 Engineer { Objective "Engineer" BeginAtWave 4 RunForThisManyWaves 1 Where spawnbot_left Where spawnbot_right InitialCooldown 40 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle TeleportWhere spawnbot_left TeleportWhere spawnbot_right TeleportWhere spawnbot_mission_sniper TeleportWhere spawnbot_mission_sentrybuster } } Mission // Wave 3 Sydney Sniper { Objective "Sniper" BeginAtWave 3 RunForThisManyWaves 1 Where spawnbot_mission_sniper InitialCooldown 100 CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper SKill Expert } } Wave // Wave 1: 800$ { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay // reset_wave_relay Action Trigger } WaveSpawn { TotalCurrency 50 Name "W1_S1a" Where spawnbot_right TotalCount 40 MaxActive 15 SpawnCount 5 WaitBetweenSpawns 5 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 50 Name "W1_S1b" Where spawnbot_left TotalCount 20 MaxActive 4 SpawnCount 4 TFBot { Template T_TFBot_Heavyweapons Skill Easy } } WaveSpawn { TotalCurrency 100 Name "W1_S2a" TotalCount 1 WaitForAllSpawned "W1_S1a" WaitBeforeStarting 5 // boss_sentry_spawn_relay Tank { Name "W1_Tank" Health 25000 StartingPathTrackNode "boss_path_a1" // boss_path_a2, boss_path_sentrytank OnKilledOutput { Target boss_dead_relay // boss_sentry_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 Name "W1_S2b" Where spawnbot_right TotalCount 20 MaxActive 2 SpawnCount 2 Support Limited WaitForAllSpawned "W1_S2a" WaitBeforeStarting 15 TFBot { Template T_TFBot_Scout_Melee Skill Normal } } WaveSpawn { TotalCurrency 100 Name "W1_S2c" Where spawnbot_right TotalCount 20 MaxActive 5 SpawnCount 5 WaitForAllSpawned "W1_S2a" WaitBeforeStarting 15 WaitBetweenSpawns 5 TFBot { Template T_TFGateBot_Heavyweapons_Gauntlet } } WaveSpawn { TotalCurrency 100 Name "W1_S2d" Where spawnbot_left TotalCount 10 MaxActive 5 SpawnCount 5 WaitForAllSpawned "W1_S2c" WaitBeforeStarting 5 WaitBetweenSpawns 5 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFGateBot_Giant_Soldier_Spammer } TFBot { Template T_TFGateBot_Heavyweapons_Gauntlet } TFBot { Template T_TFGateBot_Heavyweapons_Gauntlet } TFBot { Template T_TFGateBot_Heavyweapons_Gauntlet } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal } } } WaveSpawn { TotalCurrency 50 Name "W1_S2e" Where spawnbot_left TotalCount 20 MaxActive 10 SpawnCount 10 WaitForAllDead "W1_S2d" WaitBeforeStarting 15 WaitBetweenSpawns 5 TFBot { Template T_TFGateBot_Scout_Normal } } WaveSpawn { TotalCurrency 50 Name "W1_S3a" Where spawnbot_right TotalCount 20 MaxActive 10 SpawnCount 2 WaitForAllDead "W1_S2e" WaitBeforeStarting 10 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Scout Skill Easy } } WaveSpawn { TotalCurrency 250 Name "W1_S3b" Where spawnbot_left TotalCount 8 MaxActive 4 SpawnCount 2 WaitForAllDead "W1_S2e" WaitBeforeStarting 10 WaitBetweenSpawns 5 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal } } } } Wave // Wave 2: 800$ { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { TotalCurrency 50 Name "W2_S1a" Where spawnbot RandomSpawn 1 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 50 Name "W2_S1b" Where spawnbot_left TotalCount 20 MaxActive 5 SpawnCount 1 WaitBetweenSpawns 2 TFBot { Template T_TFGateBot_Pyro_Normal } } WaveSpawn { TotalCurrency 100 Name "W2_S1c" Where spawnbot RandomSpawn 1 TotalCount 2 SpawnCount 2 WaitBeforeStarting 10 TFBot { Template T_TFBot_Giant_Scout_Fast Tag nav_avoid_gate Tag nav_prefer_longpath } } WaveSpawn { TotalCurrency 100 Name "W2_S2a" Where spawnbot_left TotalCount 2 SpawnCount 2 WaitForAllDead "W2_S1a" WaitBeforeStarting 15 // 20 Squad { TFBot { Template T_TFGateBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Giant_Medic_Type2 Attributes IgnoreEnemies } } } WaveSpawn { TotalCurrency 200 Name "W2_S2b" Where spawnbot_right TotalCount 2 SpawnCount 2 WaitForAllDead "W2_S2a" WaitBeforeStarting 5 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes DisableDodge } TFBot { Template T_TFBot_Giant_Medic_Type2 Attributes IgnoreEnemies } } } WaveSpawn { TotalCurrency 50 Name "W2_S2c" Where spawnbot RandomSpawn 1 TotalCount 30 MaxActive 6 SpawnCount 2 WaitForAllSpawned "W2_S2b" WaitBeforeStarting 5 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Scout Skill Easy } } WaveSpawn { TotalCurrency 50 Name "W2_S2d" Where spawnbot_mission_spy TotalCount 20 MaxActive 5 SpawnCount 5 Support Limited WaitForAllSpawned "W2_S2b" WaitBeforeStarting 10 WaitBetweenSpawns 5 TFBot { Template T_TFBot_Spy Attributes IgnoreFlag } } WaveSpawn { TotalCurrency 200 Name "W2_S2e" Where spawnbot_right TotalCount 2 SpawnCount 2 WaitForAllSpawned "W2_S2b" WaitBeforeStarting 20 TFBot { Template T_TFBot_Giant_Scout_Fast Tag nav_avoid_gate TAg nav_prefer_longpath } } } Wave // Wave 3: 700$ { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { TotalCurrency 150 Name "W3_S1a" TotalCount 1 Tank { Name "W3_Tank1" Health 30000 StartingPathTrackNode "boss_path_a2" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 Name "W3_S1b" Where spawnbot_right TotalCount 36 MaxActive 18 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 3 Squad { TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Pyro Skill Easy Attributes AlwaysFireWeapon } } } WaveSpawn { TotalCurrency 50 Name "W3_S1c" Where spawnbot_left TotalCount 5 SpawnCount 5 WaitForAllSpawned "W3_S1b" WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Easy Attributes AlwaysFireWeapon } } WaveSpawn { TotalCurrency 50 Name "W3_S1d" Where spawnbot RandomSpawn 1 TotalCount 20 MaxActive 10 SpawnCount 10 WaitForAllDead "W3_S1c" WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro_ScorchShot_Fast Attributes AlwaysCrit } } WaveSpawn { TotalCurrency 50 Name "W3_S2a" Where spawnbot_right TotalCount 30 MaxActive 5 SpawnCount 1 WaitForAllDead "W3_S1d" WaitBeforeStarting 10 WaitBetweenSpawns 0.5 TFBot { Template T_TFBot_Soldier Skill Easy } } WaveSpawn { TotalCurrency 100 Name "W3_S2b" Where spawnbot RandomSpawn 1 TotalCount 4 MaxActive 2 SpawnCount 2 WaitForAllDead "W3_S1d" WaitBeforeStarting 15 WaitBetweenSpawns 10 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Attributes DisableDodge } TFBot { Template T_TFBot_Giant_Medic_Type2 Attributes IgnoreEnemies } } } WaveSpawn { TotalCurrency 50 Name "W3_S2c" Where spawnbot_left TotalCount 4 MaxActive 1 WaitForAllDead "W3_S1d" WaitBeforeStarting 10 WaitBetweenSpawns 2 TFBot { Template T_TFGateBot_Sniper_Huntsman_Spammer Attributes AlwaysCrit } } WaveSpawn { TotalCurrency 50 Name "W3_S3a" Where spawnbot RandomSpawn 1 TotalCount 30 MaxActive 5 SpawnCount 1 WaitForAllDead "W3_S2a" WaitBeforeStarting 10 WaitBetweenSpawns 0.5 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn { TotalCurrency 50 Name "W3_S3b" Where spawnbot_left TotalCount 8 MaxActive 4 SpawnCount 4 WaitForAllDead "W3_S2a" WaitBeforeStarting 15 WaitBetweenSpawns 10 TFBot { Template T_TFBot_Sniper_Huntsman_Spammer Attributes AlwaysCrit } } WaveSpawn { TotalCurrency 100 Name "W3_S3c" TotalCount 1 WaitForAllDead "W3_S2a" WaitBeforeStarting 25 Tank { Name "W3_Tank2" Health 30000 StartingPathTrackNode "boss_path_a1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } Wave // Wave 4: 700$ { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { TotalCurrency 50 Name "W4_S1a" Where spawnbot_right TotalCount 30 MaxActive 10 SpawnCount 5 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Soldier_Blast } } WaveSpawn { TotalCurrency 50 Name "W4_S1b" Where spawnbot RandomSpawn 1 TotalCount 20 MaxActive 10 SpawnCount 10 WaitForAllSpawned "W4_S1a" WaitBeforeStarting 5 WaitBetweenSpawns 5 TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Hard } } WaveSpawn { TotalCurrency 50 Name "W4_S1c" Where spawnbot_right TotalCount 2 SpawnCount 2 WaitForAllSpawned "W4_S1b" TFBot { Template T_TFBot_Demoman_Samurai } } WaveSpawn { TotalCurrency 50 Name "W4_S2a" Where spawnbot RandomSpawn 1 TotalCount 40 MaxActive 10 SpawnCount 2 WaitForAllDead "W4_S1c" WaitBeforeStarting 15 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Heavyweapons } } WaveSpawn { TotalCurrency 100 Name "W4_S2b" Where spawnbot_left TotalCount 16 MaxActive 8 SpawnCount 4 WaitForAllDead "W4_S1c" WaitBeforeStarting 20 WaitBetweenSpawns 6 Squad { TFBot { Template T_TFGateBot_Giant_Pyro_AlwaysFireWeapon_Crit Attributes DisableDodge } TFBot { Template T_TFBot_Medic_Uber } TFBot { Template T_TFBot_Medic_Uber } TFBot { Template T_TFBot_Medic_Uber } } } WaveSpawn { TotalCurrency 100 Name "W4_S2c" Where spawnbot RandomSpawn 1 TotalCount 4 SpawnCount 4 WaitForAllDead "W4_S2b" WaitBeforeStarting 5 TFBot { Template T_TFBot_Giant_Scout_Bonk Tag nav_avoid_gate Tag nav_prefer_longpath } } WaveSpawn { TotalCurrency 100 Name "W4_S3a" Where spawnbot_right TotalCount 1 WaitForAllDead "W4_S2c" WaitBeforeStarting 10 FirstSpawnOutput { Target steam_whistle // Horn sound Action Trigger } TFBot { Template T_TFGateBot_Chief_Soldier_Crit Tag nav_prefer_gate } } WaveSpawn { TotalCurrency 50 Name "W4_S3b" Where spawnbot_right TotalCount 4 SpawnCount 4 WaitForAllSpawned "W4_S3a" WaitBeforeStarting 30 TFBot { Template T_TFBot_Giant_Scout_Bonk Tag nav_avoid_gate Tag nav_prefer_longpath } } WaveSpawn { TotalCurrency 50 Name "W4_S4a" Where spawnbot RandomSpawn 1 TotalCount 6 MaxActive 2 SpawnCount 1 WaitForAllDead "W4_S3a" WaitBeforeStarting 10 WaitBetweenSpawns 5 TFBot { Template T_TFBot_Demoman_Samurai } } WaveSpawn { TotalCurrency 50 Name "W4_S4b" Where spawnbot RandomSpawn 1 TotalCount 44 MaxActive 10 SpawnCount 2 WaitForAllDead "W4_S3a" WaitBeforeStarting 15 WaitBetweenSpawns 2 Squad { TFBot { Template T_TFBot_Heavyweapons Skill Hard } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal } } } WaveSpawn { TotalCurrency 50 Name "W4_S4c" Where spawnbot_left Where spawnbot_right TotalCount 8 MaxActive 4 SpawnCount 4 WaitForAllDead "W4_S3a" WaitBeforeStarting 25 WaitBetweenSpawns 10 TFBot { Template T_TFBot_Giant_Scout_Bonk Tag nav_avoid_gate Tag nav_prefer_longpath } } } }