#base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop #base robot_cusgate.pop #base robot_space_invasion.pop WaveSchedule { StartingCurrency 900 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 8 Advanced 1 Templates { T_TFGateBot_Heavyweapons_Shotgun_Crit { Class Heavyweapons ClassIcon heavy_shotgun Name "Shotgun Heavy" EventChangeAttributes { Default { Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "MvM GateBot Light Heavy" Attributes AlwaysCrit Skill Normal WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage penalty" 0.33 } } RevertGateBotsBehavior { Item "MvM GateBot Light Heavy" ItemAttributes // turn off light hat { ItemName "MvM GateBot Light Heavy" "item style override" 1 } Skill Normal WeaponRestrictions SecondaryOnly Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage penalty" 0.33 } } } } } // MISSION: Sentry Buster (Spawn Up Top) Mission { Objective DestroySentries BeginAtWave 1 RunForThisManyWaves 6 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 CooldownTime 30 TFBot { Template T_TFBot_SentryBuster Tag bot_sentrybuster } } Mission { Objective sniper InitialCooldown 30 BeginAtWave 1 RunForThisManyWaves 2 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper Skill Expert } } Mission { Objective sniper InitialCooldown 30 BeginAtWave 3 RunForThisManyWaves 2 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 CooldownTime 30 DesiredCount 2 TFBot { Template SpaceSniper_Sydney Skill Expert } } Mission { Objective sniper InitialCooldown 30 BeginAtWave 5 RunForThisManyWaves 2 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 CooldownTime 30 DesiredCount 2 TFBot { Template SpaceSniper Skill Expert } } Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target holograms_centerpath_relay Action Trigger } WaveSpawn /// gdemo- upper NORMAL { Name "w1_gdemo_burst_upper" WaitBeforeStarting 5 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 200 TotalCount 4 MaxActive 4 SpawnCount 4 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Tag bot_giant } TFBot { Template T_TFBot_Medic_Slowrecharge Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Slowrecharge Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Slowrecharge Tag bot_squad_member } } } WaveSpawn /// pistol scouts - upper MIXED { Name "w1_pistols_normals_mixed" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBetweenSpawns 3 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 40 MaxActive 16 SpawnCount 8 RandomChoice { TFBot { Template T_TFGateBot_Scout_Melee Classicon scout_bat } TFBot { Template T_TFGateBot_Scout_Melee Classicon scout_bat } TFBot { Template T_TFGateBot_Scout_Melee Classicon scout_bat } TFBot { Template SpaceScout WeaponRestrictions secondaryonly Classicon scout_capper Skill Expert } TFBot { Template SpaceScout WeaponRestrictions secondaryonly Classicon scout_capper Skill Expert } } } WaveSpawn /// giant heavy - main NORMAL { Name "w1_gheavy_main" WaitForAllSpawned "w1_pistols_normals_mixed" WaitBeforeStarting 10 WaitBetweenSpawns 2 Where spawnbot_main0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 200 TotalCount 18 MaxActive 6 SpawnCount 6 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Tag bot_giant } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } } } WaveSpawn /// pyro huntsman combo - main NORMAL { Name "w1_pyro_huntsman_main" WaitForAllSpawned "w1_gheavy_main" WaitBetweenSpawns 1 Where spawnbot_main0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 54 MaxActive 18 SpawnCount 3 Squad { TFBot { Class Pyro Skill Normal WeaponRestrictions PrimaryOnly Attributes AlwaysFireWeapon Tag bot_giant } TFBot { Template T_TFBot_Sniper_Huntsman Tag bot_squad_member } TFBot { Template T_TFBot_Sniper_Huntsman Tag bot_squad_member } } } WaveSpawn /// bowmen - upper SPACE { Name "w1_bowmen_space" WaitForAllSpawned "w1_pyro_huntsman_main" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBeforeStarting 4 WaitBetweenSpawns 4 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 32 MaxActive 16 SpawnCount 8 TFBot { Template SpaceSniper_Bow } } WaveSpawn /// scouts - upper NORMAL { Name "w1_scouts_gatebot" WaitForAllSpawned "w1_bowmen_space" WaitBeforeStarting 4 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 12 MaxActive 12 SpawnCount 12 Support 1 TFBot { Template T_TFGateBot_Scout_Hard } } WaveSpawn /// giant crit burst fire soldier - upper NORMAL { Name "w1_gburst_crit_upper" WaitForAllSpawned "w1_bowmen_space" WaitBeforeStarting 20 Where spawnbot_upper0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 4 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Tag bot_giant Attributes AlwaysCrit } } WaveSpawn /// gpyro crit - upper GATEBOT { Name "w1_gpyro_gatebot" WaitForAllSpawned "w1_gburst_crit_upper" WaitBeforeStarting 3 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 250 TotalCount 7 MaxActive 7 SpawnCount 7 Squad { TFBot { Template T_TFGateBot_Giant_Pyro_Alwaysfire_Crit } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } } } } Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target holograms_centerpath_relay Action Trigger } WaveSpawn /// burst demos - main SPACE { Name "w2_bdemo_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBetweenSpawns 3 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 57 MaxActive 19 SpawnCount 19 TFBot { Template SpaceDemo_Burst } } WaveSpawn /// gburst demos - main GATEBOT { Name "w2_bdemo_space" WaitBetweenSpawns 3 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 3 MaxActive 1 SpawnCount 1 TFBot { Template T_TFGateBot_Giant_Demo_Burst_Crit } } WaveSpawn /// soldiers - upper NORMAL { Name "w2_soldiers_upper" WaitForAllSpawned "w2_bdemo_space" Waitbeforestarting 7 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 9 MaxActive 9 SpawnCount 9 TFBot { Class Soldier Skill Expert Classicon soldier_conch } } WaveSpawn /// conch soldiers - upper NORMAL { Name "w2_soldiers_upper" WaitForAllSpawned "w2_bdemo_space" Waitbeforestarting 7 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 9 MaxActive 9 SpawnCount 9 TFBot { Template T_TFBot_Soldier_Extended_Concheror Skill Expert } } WaveSpawn /// giant rapid fire duo - upper NORMAL { Name "w2_grapid_duo_upper" WaitForAllSpawned "w2_bdemo_space" Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 200 TotalCount 2 MaxActive 2 SpawnCount 2 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag bot_giant } TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag bot_giant } } } WaveSpawn /// heavy fos pushers - main NORMAL { Name "w2_heavy_fos_pushers_combo_main" WaitForAllSpawned "w2_soldiers_upper" WaitBeforeStarting 8 WaitBetweenSpawns 9 WHere spawnbot_main0 WHere spawnbot_main1 WHere spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 10 MaxActive 10 SpawnCount 2 TFBot { Template T_TFBot_Heavy_Ironfist_Airblast Tag bot_giant } } WaveSpawn /// blast soldiers - main GATEBOT { Name "w2_heavy_fos_pushers_combo_main" WaitForAllSpawned "w2_grapid_duo_upper" WaitBeforeStarting 8 WaitBetweenSpawns 3 Where spawnbot_main0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 30 MaxActive 10 SpawnCount 5 TFBot { Template T_TFGateBot_Soldier_Rocketpush } } WaveSpawn /// soldiers - upper GATEBOT { Name "w2_soldiers_gatebot" WaitForAllSpawned "w2_heavy_fos_pushers_combo_main" WaitBeforeStarting 10 WaitBetweenSpawns 1 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 50 MaxActive 15 SpawnCount 5 TFBot { Template T_TFGateBot_Soldier_RocketShotgun_Expert } } WaveSpawn /// giant crit shotgun heavy + 8 medics - main GATEBOT { Name "w2_gheavy_shotgun_crit_8med_gatebot" WaitForAllSpawned "w2_heavy_fos_pushers_combo_main" WaitBeforeStarting 12 WaitBetweenSpawns 10 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 20 MaxActive 4 SpawnCount 4 Squad { TFBot { Template T_TFGateBot_Giant_Heavyweapons_Shotgun_Crit } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } } } } Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target holograms_centerpath_relay Action Trigger } WaveSpawn /// soldiers - main SPACEBOT { Name "w3_soldiers_spacebot" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBetweenSpawns 6 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 24 MaxActive 12 SpawnCount 12 TFBot { Template Foof } } WaveSpawn /// cola scouts - upper SPACE { Name "w3_scoutscola_upper" WaitBetweenSpawns 6 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 18 MaxActive 9 SpawnCount 9 TFBot { Template SpaceScout_Cola Tag bot_giant } } WaveSpawn /// giant scout - upper NORMAL { Name "w3_giant_scout_upper" WaitBetweenSpawns 6 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 2 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Giant_Scout Tag bot_giant } } WaveSpawn /// dummy 1 { Name "dummy" WaitForAllSpawned "w3_soldiers_spacebot" TotalCount 0 SpawnCount 0 } WaveSpawn /// dummy 2 { Name "dummy" WaitForAllSpawned "w3_scoutscola_upper" TotalCount 0 SpawnCount 0 } WaveSpawn /// dummy 3 { Name "dummy" WaitForAllSpawned "w3_giant_scout_upper" TotalCount 0 SpawnCount 0 } WaveSpawn { Name "w3_bbox_samurais" WaitForAllSpawned "dummy" WaitBetweenSpawns 12 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCount 8 MaxActive 4 SpawnCount 1 TFBot { Template SpacePirate_JumpyMotherFucker Tag bot_giant } } WaveSpawn /// gsoldier black box - main NORMAL { Name "w3_bbox_samurais" WaitForAllSpawned "dummy" WaitBeforeStarting 5 WaitBetweenSpawns 8 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 250 TotalCount 10 MaxActive 10 SpawnCount 1 TFBot { Template T_TFBot_Giant_Soldier_Rocketshotgun Tag bot_giant } } WaveSpawn /// gsoldier black box - upper SPACE { Name "w3_bbox_samurais" WaitForAllSpawned "dummy" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBeforeStarting 5 WaitBetweenSpawns 8 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 250 TotalCount 10 MaxActive 10 SpawnCount 1 TFBot { Template SpaceSoldier_Giant_Rocketshotgun Tag bot_giant } } WaveSpawn /// buff soldier burst spawn - upper GATEBOT { Name "w3_gsoldier_rapidfire_doublemed_buff_space1" WaitForAllSpawned "w3_bbox_samurais" WaitBeforeStarting 13 WaitBetweenSpawns 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 36 MaxActive 12 SpawnCount 12 TFBot { Template T_TFGateBot_Soldier_Extended_Buff_Hard } } WaveSpawn /// gsoldier rapid fire + double med - main SPACE { Name "w3_gsoldier_rapidfire_doublemed_buff_space1" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w3_bbox_samurais" WaitBeforeStarting 10 WaitBetweenSpawns 7 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 9 MaxActive 6 SpawnCount 3 Squad { TFBot { Template SpaceSoldier_Giant_Spammer Tag bot_giant } TFBot { Template SpaceMedic_Uber Tag bot_squad_member } TFBot { Template SpaceMedic_Uber Tag bot_squad_member } } } WaveSpawn /// bonk scouts - upper NORMAL { Name "w3_gsoldier_rapidfire_doublemed_buff_space1" WaitForAllSpawned "w3_bbox_samurais" WaitBeforeStarting 13 WaitBetweenSpawns 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 3 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Giant_Scout_Bonk Tag bot_giant } } WaveSpawn /// buff soldier burst spawn - main GATEBOT { Name "w3_gsoldier_rapidfire_doublemed_buff_space2" WaitForAllSpawned "w3_gsoldier_rapidfire_doublemed_buff_space1" WaitBeforeStarting 13 WaitBetweenSpawns 10 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 36 MaxActive 12 SpawnCount 12 TFBot { Template T_TFGateBot_Soldier_Extended_Buff_Hard } } WaveSpawn /// gsoldier rapid fire + double med - upper SPACE { Name "w3_gsoldier_rapidfire_doublemed_buff_space2" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w3_gsoldier_rapidfire_doublemed_buff_space1" WaitBeforeStarting 13 WaitBetweenSpawns 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 9 MaxActive 6 SpawnCount 3 Squad { TFBot { Template SpaceSoldier_Giant_Spammer Tag bot_giant } TFBot { Template SpaceMedic_Uber Tag bot_squad_member } TFBot { Template SpaceMedic_Uber Tag bot_squad_member } } } WaveSpawn /// gscout bonk - main NORMAL { Name "w3_gsoldier_rapidfire_doublemed_buff_space2" WaitForAllSpawned "w3_gsoldier_rapidfire_doublemed_buff_space1" WaitBeforeStarting 13 WaitBetweenSpawns 10 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 3 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Giant_Scout_Bonk Tag bot_giant } } } Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target holograms_centerpath_relay Action Trigger } WaveSpawn /// gate rush - main GATEBOT { Name "w4_soldiers_gaterush_gatebot" WaitBetweenSpawns 5 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 32 MaxActive 16 SpawnCount 8 TFBot { Template T_TFGateBot_Soldier_Normal_Crit } } WaveSpawn /// gate rush - upper GATEBOT { Name "w4_soldiers_gaterush_gatebot" WaitBetweenSpawns 5 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 TFBot { Template T_TFGateBot_Scout_Melee } } WaveSpawn /// gate rush - upper GATEBOT { Name "w4_soldiers_gaterush_gatebot" WaitBetweenSpawns 5 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 TFBot { Template T_TFGateBot_Heavy_Ironfist } } WaveSpawn /// giant hok heavy - main SPACE { Name "w4_soldier_stun_bowmen_bleed_hok_pyro_space" WaitForAllSpawned "w4_soldiers_gaterush_gatebot" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBeforeStarting 7 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 200 TotalCount 4 MaxActive 1 SpawnCount 1 TFBot { Template SpaceHeavy_Giant_Hok Tag bot_giant } } WaveSpawn /// bleed bowman - main SPACE { Name "w4_soldier_stun_bowmen_bleed_hok_pyro_space" WaitForAllSpawned "w4_soldiers_gaterush_gatebot" WaitBeforeStarting 7 WaitBetweenSpawns 2.5 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 56 MaxActive 14 SpawnCount 7 RandomChoice { TFBot { Template SpaceSniper_Bow_Blood } TFBot { Template T_TFGateBot_Heavyweapons_Shotgun_Crit } } } WaveSpawn /// gpyro spaceless - main SPACE { Name "w4_soldier_stun_bowmen_bleed_hok_pyro_space" WaitForAllSpawned "w4_soldiers_gaterush_gatebot" WaitBeforeStarting 7 WaitBetweenSpawns 2.5 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 TotalCurrency 100 TotalCount 4 MaxActive 1 SpawnCount 1 TFBot { Template SpacePyro_Giant_Spaceless Tag bot_giant } } WaveSpawn /// giant stun soldier - upper SPACE { Name "w4_soldier_stun_bowmen_bleed_hok_pyro_space" WaitForAllSpawned "w4_soldiers_gaterush_gatebot" WaitBeforeStarting 7 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 4 MaxActive 1 SpawnCount 1 TFBot { Template SpaceSoldier_Giant_Stun Tag bot_giant } } WaveSpawn /// major crits - main GATEBOT { Name "w4_burstdemo_crit_major_pyro_space" WaitForAllSpawned "w4_soldier_stun_bowmen_bleed_hok_pyro_space" FirstSpawnOutput { Target steam_whistle Action trigger } WaitBeforeStarting 16 Where spawnbot_main0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 300 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template T_TFGateBot_Chief_Soldier_SlowCritBarrage } } WaveSpawn /// burst fire demo clumps - upper SPACE { Name "w4_burstdemo_crit_major_pyro_space" WaitForAllSpawned "w4_soldier_stun_bowmen_bleed_hok_pyro_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBeforeStarting 23 WaitBetweenSpawns 5 Where spawnbot_upper0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 72 MaxActive 18 SpawnCount 18 TFBot { Template SpaceDemo_Burst Attributes AlwaysCrit } } WaveSpawn /// giant pyro alwaysfire + giant medic - upper SPACE { Name "w4_burstdemo_crit_major_pyro_space" WaitForAllSpawned "w4_soldier_stun_bowmen_bleed_hok_pyro_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBeforeStarting 25 WaitBetweenSpawns 5 Where spawnbot_upper0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 8 MaxActive 2 SpawnCount 2 Squad { TFBot { Template SpacePyro_Giant Attributes AlwaysFireWeapon Tag bot_giant } TFBot { Template SpaceMedic_Giant Tag bot_giant } } } WaveSpawn /// fieldminer demos - upper GATEBOT { Name "w4_fieldminers_spacedemo_upper" WaitForAllSpawned "w4_burstdemo_crit_major_pyro_space" WaitBeforeStarting 6 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 6 MaxActive 2 SpawnCount 2 TFBot { Template T_TFGateBot_Giant_Demo_Burst_Type2 } } WaveSpawn /// soldier clumps - main GATEBOT { Name "w4_fieldminers_spacedemo_upper" WaitForAllSpawned "w4_burstdemo_crit_major_pyro_space" WaitBeforeStarting 6 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 54 MaxActive 18 SpawnCount 18 TFBot { Template T_TFGateBot_Soldier_Normal_Crit } } } Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target holograms_centerpath_relay Action Trigger } WaveSpawn /// crit gheavy - upper SPACE { Name "w5_heavies_crits_space" WaitBeforeStarting 8 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template SpaceHeavy_Giant Tag bot_giant Attributes AlwaysCrit } } WaveSpawn /// gscout fan crit - upper SPACE { Name "w5_gscout_fan_crit_space" Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 2 MaxActive 2 SpawnCount 2 TFBot { Template SpaceScout_Giant_FAN Attributes AlwaysCrit Tag bot_giant } } WaveSpawn /// huntsman spammer medic combo swarm - main GATEBOT { Name "w5_huntsman_spammer_medic_swarm_gatebot" WaitBetweenSpawns 1.2 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 18 MaxActive 18 SpawnCount 2 Squad { TFBot { Template T_TFGateBot_Sniper_Huntsman_Spammer_Crit ClassIcon sniper_bow_multi } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } } } WaveSpawn /// conchies crit - upper GATEBOT { Name "w5_conchies_crit_hok_sc_gatebot" WaitForAllSpawned "w5_huntsman_spammer_medic_swarm_gatebot" WaitBeforeStarting 15 WaitBetweenSpawns 2.5 Where spawnbot_upper0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 27 MaxActive 9 SpawnCount 3 Squad { TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Normal_Crit } TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Normal_Crit } TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Normal_Crit } } } WaveSpawn /// conchies crit - main GATEBOT { Name "w5_conchies_crit_hok_sc_gatebot" WaitForAllSpawned "w5_huntsman_spammer_medic_swarm_gatebot" WaitBeforeStarting 15 WaitBetweenSpawns 2.5 Where spawnbot_main0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 27 MaxActive 9 SpawnCount 3 Squad { TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Normal_Crit } TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Normal_Crit } TFBot { Template T_TFGateBot_Soldier_Extended_Concheror_Normal_Crit } } } WaveSpawn /// sergeant crits - main NORMAL { Name "w5_conchies_crit_hok_sc_gatebot" WaitForAllSpawned "w5_huntsman_spammer_medic_swarm_gatebot" WaitBeforeStarting 30 Where spawnbot_main0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Chief_Soldier Tag bot_giant } } WaveSpawn /// hok heavy - upper SPACE { Name "w5_conchies_crit_hok_sc_gatebot" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w5_huntsman_spammer_medic_swarm_gatebot" WaitBeforeStarting 20 Where spawnbot_upper0 Where spawnbot_main1_slow Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template SpaceHeavy_Giant_Hok Tag bot_giant } } WaveSpawn /// blast soldiers - main SPACE { Name "w5_soldiers_blast_bowman_space" WaitForAllSpawned "w5_conchies_crit_hok_sc_gatebot" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBeforeStarting 4 WaitBetweenSpawns 6 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 35 MaxActive 15 SpawnCount 5 TFBot { Template SpaceSoldier_RocketPush } } WaveSpawn /// bowman - main GATEBOT { Name "w5_soldiers_blast_bowman_space" WaitForAllSpawned "w5_conchies_crit_hok_sc_gatebot" WaitBeforeStarting 4 WaitBetweenSpawns 0 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 35 MaxActive 15 SpawnCount 5 TFBot { Template T_TFGateBot_Sniper_Huntsman_Crit } } WaveSpawn /// gsoldier burst box - upper GATEBOT { Name "w5_soldiers_blast_bowman_space" WaitForAllSpawned "w5_conchies_crit_hok_sc_gatebot" WaitBeforeStarting 8 WaitBetweenSpawns 12 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 3 MaxActive 3 SpawnCount 1 TFBot { Template T_TFGateBot_Giant_Soldier_RocketHeal_Charged } } WaveSpawn /// heavies crit clump - main SPACE { Name "w5_heavies_crit_clump_space" WaitForAllSpawned "w5_soldiers_blast_bowman_space" WaitBeforeStarting 6 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 18 MaxActive 18 SpawnCount 18 TFBot { Template SpaceHeavy Attributes AlwaysCrit } } WaveSpawn /// heavies crit clump - upper GATEBOT { Name "w5_heavies_crit_clump_gatebot" WaitForAllSpawned "w5_heavies_crits_space" WaitBeforeStarting 12 WaitBetweenSpawns 4 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 200 TotalCount 36 MaxActive 18 SpawnCount 18 TFBot { Template T_TFGateBot_Heavy_Expert_Crit } } WaveSpawn /// heavies crit clump - upper GATEBOT { Name "w5_heavies_crit_clump_gatebot2" WaitForAllSpawned "w5_heavies_crit_clump_gatebot" WaitBeforeStarting 5 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 200 TotalCount 18 MaxActive 18 SpawnCount 18 TFBot { Template T_TFGateBot_Heavy_Expert_Crit } } WaveSpawn /// gsoldier battallions - upper SPACE { Name "w5_gsoldier_batts_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w5_heavies_crit_clump_gatebot" Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 300 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template SpaceSoldier_Backup_Giant Tag bot_giant } } } Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target holograms_centerpath_relay Action Trigger } WaveSpawn /// mixed banner soldiers - upper NORMAL { Name "w6_banners_directcrit_uber_alamo_mixed" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitBetweenSpawns 6 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 40 MaxActive 10 SpawnCount 10 Squad { TFBot { Template SpaceSoldier_Battalions } TFBot { Template SpaceSoldier_Buff } TFBot { Template SpaceSoldier_Buff } TFBot { Template SpaceSoldier_Conch } TFBot { Template SpaceSoldier_Buff } TFBot { Template SpaceSoldier_Conch } TFBot { Template SpaceSoldier_Conch } TFBot { Template SpaceSoldier_Conch } TFBot { Template SpaceSoldier_Buff } TFBot { Template SpaceSoldier_Conch } } } WaveSpawn /// direct crit + uber med - main GATEBOT { Name "w6_banners_directcrit_uber_alamo_mixed" WaitBetweenSpawns 6 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 40 MaxActive 10 SpawnCount 10 Squad { TFBot { Template T_TFGateBot_Soldier_Normal_DirectHit_Crit } TFBot { Template T_TFBot_Medic_Quickuber Tag bot_squad_member } } } WaveSpawn /// giant rocket alamo soldier - main SPACE { Name "w6_banners_directcrit_uber_alamo_mixed" WaitBeforeStarting 6 FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template SpaceSoldier_Chief_RocketAlamo Tag bot_giant } } WaveSpawn /// sergeant, freaking, crits! - upper NORMAL { Name "w6_banners_directcrit_uber_alamo_mixed" WaitBeforeStarting 6 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Chief_Soldier Health 45000 Tag bot_giant } } WaveSpawn /// gheavy crit clump - main SPACE { Name "w6_gheavy_crits_clumps_main_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w6_banners_directcrit_uber_alamo_mixed" WaitBeforeStarting 25 FirstSpawnOutput { Target steam_whistle Action Trigger } Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 250 TotalCount 18 MaxActive 18 SpawnCount 6 TFBot { Template SpaceHeavy_Giant Tag bot_giant } } WaveSpawn /// gheavy crit clump - upper SPACE { Name "w6_gheavy_crits_clumps_upper_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w6_gheavy_crits_clumps_main_space" WaitBeforeStarting 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 250 TotalCount 14 MaxActive 14 SpawnCount 7 TFBot { Template SpaceHeavy_Giant Attributes AlwaysCrit Tag bot_giant } } WaveSpawn /// gsoldier stun - upper SPACE { Name "w6_gheavy_crits_clumps_upper_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w6_gheavy_crits_clumps_main_space" WaitBeforeStarting 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 250 TotalCount 2 MaxActive 2 SpawnCount 2 TFBot { Template SpaceSoldier_Giant_Stun Tag bot_giant } } WaveSpawn /// major crits march - main SPACE { Name "w6_majorcrits_march_space" FirstSpawnWarningSound "MVM.Robot_Teleporter_Deliver" WaitForAllSpawned "w6_gheavy_crits_clumps_upper_space" WaitBeforeStarting 30 WaitBetweenSpawns 7 WHere spawnbot_main0 WHere spawnbot_main1 WHere spawnbot_main2 RandomSpawn 1 TotalCurrency 300 TotalCount 12 MaxActive 12 SpawnCount 2 Squad { TFBot { Template SpaceSoldier_Giant_RocketAlamo Tag bot_giant } TFBot { Template SpaceMedic_Giant Tag bot_giant Tag bot_squad_member } } } WaveSpawn /// major crits march - main SPACE { Name "w6_majorcrits_march_space" WaitForAllSpawned "w6_gheavy_crits_clumps_upper_space" WaitBeforeStarting 45 WaitBetweenSpawns 7 WHere spawnbot_upper0 WHere spawnbot_main1 WHere spawnbot_main2 RandomSpawn 1 TotalCurrency 300 TotalCount 6 MaxActive 6 SpawnCount 2 Squad { TFBot { Template SpaceSoldier_Giant_RocketAlamo Attributes AlwaysCrit Tag bot_giant } TFBot { Template SpaceMedic_Giant Tag bot_giant Tag bot_squad_member } } } WaveSpawn /// charged burst box soldier - upper GATEBOT { Name "w6_chargedbox_gatebot" WaitForAllSpawned "w6_majorcrits_march_space" WaitBeforeStarting 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCurrency 50 TotalCount 15 MaxActive 15 SpawnCount 1 TFBot { Template T_TFGateBot_Giant_Soldier_RocketHeal_Charged } } WaveSpawn /// engies sentry - support { Name "w6_gauntlet" WaitForAllSpawned "w6_chargedbox_gatebot" WaitBetweenSpawns 10 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCount 9 MaxActive 9 SpawnCount 1 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle } } WaveSpawn /// final gauntlet - both { Name "w6_gauntlet" WaitForAllSpawned "w6_chargedbox_gatebot" WaitBetweenSpawns 1.2 WaitBeforeStarting 20 Where spawnbot_upper0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCount 16 MaxActive 16 SpawnCount 1 Support 1 RandomChoice { TFBot { Template SpaceScout_Shortstop Attributes AlwaysCrit } TFBot { Template SpaceHeavy_Shotgun } TFBot { Template SpaceScout_League } } } WaveSpawn /// final gauntlet - both { Name "w6_gauntlet" WaitForAllSpawned "w6_chargedbox_gatebot" WaitBetweenSpawns 1.2 WaitBeforeStarting 20 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 RandomSpawn 1 TotalCount 16 MaxActive 16 SpawnCount 1 Support 1 RandomChoice { TFBot { Template SpaceHeavy_Shotgun } TFBot { Template Foof } } } WaveSpawn /// VERY beefy boss - main { Name "w6_boss" WaitForAllSpawned "w6_chargedbox_gatebot" FirstSpawnOutput { Target steam_whistle Action trigger } WaitBeforeStarting 30 Where spawnbot_main0 Where spawnbot_main1 Where spawnbot_main2 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Name "Major Crits V2" Item "Full Metal Drill Hat" ClassIcon soldier_major_crits Health 50000 Scale 1.9 Tag bot_giant Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 26.0 "faster reload rate" -0.8 "fire rate bonus" 0.1 "projectile spread angle penalty" 6 "Projectile speed increased" 0.3 } CharacterAttributes { "health regen" 250 "move speed bonus" 0.5 "damage bonus" 1.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } } } }