#base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 800 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no Templates { T_TFBot_Giant_Heavyweapons_FireFist { Class Heavyweapons Name "Flaming Fist Mk. II" Health 5000 ClassIcon pyro_dragon_fury_swordstone Item "Festive Gloves of Running Urgently" Item "Large Luchadore" Attributes MiniBoss Tag bot_giant Tag firefist WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "Festive Gloves of Running Urgently" "is_passive_weapon" 1 "mod_maxhealth_drain_rate" 0 "mult_player_movespeed_active" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Soldier_Spammer { Class Soldier Name "Rapid Fire Soldier" ClassIcon soldier_spammer Health 650 Scale 1.4 Skill Normal ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 "Projectile speed increased" 0.65 } } T_TFBot_Soldier_RocketShotgun_Alt { Template T_TFBot_Soldier_RocketShotgun Health 380 Tag rocketshotgun_hp_adjust } T_WaveSpawn_AllGiants { RandomChoice // some giant chances multiplied to even the odds for all classes to show up { Squad { TFBot { Template T_TFBot_Giant_Scout_Fast Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_FAN Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Baseball Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Bonk Name "Giant Bonk Scout" Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Jumping_Sandman Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Fast Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_FAN Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Baseball Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Bonk Name "Giant Bonk Scout" Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Scout_Jumping_Sandman Item "Zombie Scout" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketPush Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketPush Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketPush Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Item "Zombie Soldier" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Item "Zombie Pyro" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demoman Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "Zombie Demo" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Name "Giant Heal-on-Kill Heavy" Item "Deflector" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" Item "Zombie Heavy" Tag zombiebot } } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Item "Zombie Heavy" Tag zombiebot } } } } } Mission { Objective DestroySentries InitialCooldown 20 Where spawnbot BeginAtWave 1 RunForThisManyWaves 5 CooldownTime 40 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper InitialCooldown 30 Where spawnbot BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 75 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper InitialCooldown 45 Where spawnbot BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } Mission { Objective Spy InitialCooldown 40 Where spawnbot BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 75 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Engineer InitialCooldown 60 Where spawnbot BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 90 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle } } Mission { Objective Spy InitialCooldown 25 Where spawnbot BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 45 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Engineer InitialCooldown 45 Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 75 DesiredCount 2 TFBot { Template T_TFBot_Engineer_Sentry_Battle } } Mission { Objective Sniper InitialCooldown 75 Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Wave // WAVE 1 { InitWaveOutput { Target gamerules Action RunScriptFile Param "null_pea.nut" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name "W1A-1" Where spawnbot_jeep SpawnCount 2 MaxActive 8 TotalCount 24 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Class Scout Skill Normal } } WaveSpawn { Name "W1-Support" Where spawnbot_jeep SpawnCount 4 MaxActive 8 TotalCount 32 WaitForAllSpawned "W1A-1" WaitBeforeStarting 8 WaitBetweenSpawns 8 TotalCurrency 150 Support 1 TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_giant } } WaveSpawn { Name "W1A-2" Where spawnbot Where spawnbot_left SpawnCount 8 MaxActive 8 TotalCount 8 WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Class Pyro Skill Normal } } WaveSpawn { Name "W1B" Where spawnbot Where spawnbot_left SpawnCount 6 MaxActive 12 TotalCount 12 WaitForAllSpawned "W1A-2" WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "W1C" Where spawnbot Where spawnbot_left SpawnCount 8 MaxActive 8 TotalCount 8 WaitForAllDead "W1B" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Class Pyro Skill Normal } } WaveSpawn { Name "W1D" Where spawnbot Where spawnbot_left SpawnCount 6 MaxActive 12 TotalCount 12 WaitForAllSpawned "W1C" WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "W1E-1" Where spawnbot SpawnCount 1 MaxActive 2 TotalCount 2 WaitForAllDead "W1D" WaitBeforeStarting 0 WaitBetweenSpawns 30 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } WaveSpawn { Name "W1E-1" Where spawnbot_alley SpawnCount 3 MaxActive 6 TotalCount 12 WaitForAllDead "W1D" WaitBeforeStarting 0 WaitBetweenSpawns 16 TotalCurrency 50 TFBot { Class Demoman Skill Normal } } WaveSpawn { Name "W1E-2" Where spawnbot_jeep SpawnCount 8 MaxActive 8 TotalCount 24 WaitForAllDead "W1D" WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Class Scout Skill Normal } } } Wave // WAVE 2 { InitWaveOutput { Target gamerules Action RunScriptFile Param "null_pea.nut" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name "W2A-1" Where spawnbot SpawnCount 5 MaxActive 5 TotalCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "W2A-2" Where spawnbot SpawnCount 7 MaxActive 14 TotalCount 14 WaitBeforeStarting 5 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "W2B-1" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 3 WaitForAllDead "W2A-1" WaitBeforeStarting 3 WaitBetweenSpawnsAfterDeath 9 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Scout_Baseball } } WaveSpawn { Name "W2B-2" Where spawnbot_alley SpawnCount 4 MaxActive 8 TotalCount 16 WaitForAllDead "W2A-1" WaitBeforeStarting 3 WaitBetweenSpawns 15 TotalCurrency 100 TFBot { Class Pyro Skill Normal } } WaveSpawn { Name "W2B-2" Where spawnbot_jeep SpawnCount 8 MaxActive 8 TotalCount 24 WaitForAllDead "W2A-1" WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 125 TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { Name "W2C" Where spawnbot_alley SpawnCount 5 MaxActive 5 TotalCount 5 WaitForAllSpawned "W2B-1" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "W2D" Where spawnbot Where spawnbot_left Where spawnbot_jeep Where spawnbot_alley SpawnCount 2 MaxActive 16 TotalCount 32 WaitForAllDead "W2C" WaitBeforeStarting 0 WaitBetweenSpawns 2.5 TotalCurrency 125 Squad { TFBot { Template T_TFBot_Demoman_Knight Tag disband_squad } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } } } WaveSpawn { Name "W2D" Where spawnbot_alley SpawnCount 5 MaxActive 5 TotalCount 5 WaitForAllDead "W2C" WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } } Wave // WAVE 3 { InitWaveOutput { Target gamerules Action RunScriptFile Param "null_pea.nut" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name "W3A-1" Where spawnbot_left SpawnCount 3 MaxActive 6 TotalCount 12 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 25 TFBot { Class Heavyweapons Skill Normal } } WaveSpawn { Name "W3A-2" Where spawnbot_alley SpawnCount 8 MaxActive 16 TotalCount 40 WaitBeforeStarting 3 WaitBetweenSpawns 12 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn { Name "W3B" Where spawnbot SpawnCount 2 MaxActive 2 TotalCount 2 WaitForAllSpawned "W3A-1" WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_FireFist } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "W3C-1" Where spawnbot SpawnCount 6 MaxActive 12 TotalCount 42 WaitForAllDead "W3B" WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Sniper_Huntsman Tag disband_squad } TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Class Scout Skill Normal } } } WaveSpawn { Name "W3C-1" SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 100 WaitBeforeStarting 3 WaitBetweenSpawns 0 WaitForAllDead "W3B" Tank { Health 20000 Speed 75 Name "tankboss" StartingPathTrackNode "tank_path_a_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "W3C-2" Where spawnbot_left SpawnCount 2 MaxActive 2 TotalCount 2 WaitForAllDead "W3B" WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Giant_Pyro } } } WaveSpawn { Name "W3-Support" Where spawnbot_jeep Where spawnbot_alley SpawnCount 4 MaxActive 4 TotalCount 16 WaitForAllDead "W3C-2" WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_FAN } } WaveSpawn { Name "W3D-1" SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 100 WaitBeforeStarting 3 WaitBetweenSpawns 0 WaitForAllDead "W3C-2" Tank { Health 20000 Speed 75 Name "tankboss" StartingPathTrackNode "tank_path_b_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "W3D-2" Where spawnbot_left SpawnCount 2 MaxActive 2 TotalCount 2 WaitForAllDead "W3C-2" WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Giant_Pyro } } } WaveSpawn { Name "W3E" Where spawnbot_left SpawnCount 14 MaxActive 14 TotalCount 14 WaitForAllDead "W3D-2" WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Class Heavyweapons Skill Easy Tag disband_squad } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Scout Skill Normal } TFBot { Class Scout Skill Normal } TFBot { Class Scout Skill Normal } TFBot { Class Scout Skill Normal } TFBot { Class Scout Skill Normal } TFBot { Class Scout Skill Normal } } } WaveSpawn { Name "W3F" Where spawnbot_left SpawnCount 2 MaxActive 2 TotalCount 2 WaitForAllDead "W3E" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_FireFist } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "W3F" Where spawnbot_alley SpawnCount 4 MaxActive 12 TotalCount 12 WaitForAllDead "W3E" WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 75 TFBot { Template T_TFBot_Sniper_Huntsman } } } Wave // WAVE 4 { InitWaveOutput { Target gamerules Action RunScriptFile Param "null_pea.nut" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn // dummy wavespawn to represent blimp icon { TotalCount 2 Support 1 TFBot { ClassIcon blimp2_lite } } WaveSpawn { Name "W4A-1" Where spawnbot_left SpawnCount 5 MaxActive 15 TotalCount 15 WaitBeforeStarting 6 WaitBetweenSpawns 6 TotalCurrency 50 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name "W4A-2" Where spawnbot SpawnCount 4 MaxActive 8 TotalCount 8 WaitBeforeStarting 20 WaitBetweenSpawns 20 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Scout_Shortstop Skill Normal } TFBot { Template T_TFBot_Scout_Shortstop Skill Normal } TFBot { Template T_TFBot_Scout_Shortstop Skill Normal } } } WaveSpawn { Name "W4A-1" Where spawnbot_jeep SpawnCount 5 MaxActive 10 TotalCount 35 WaitBeforeStarting 30 WaitBetweenSpawns 15 TotalCurrency 125 TFBot { Template T_TFBot_Pyro_Flaregun } } WaveSpawn { Name "W4B" Where spawnbot SpawnCount 5 MaxActive 10 TotalCount 10 WaitForAllDead "W4A-2" WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Soldier_Spammer } TFBot { Template T_TFBot_Soldier_Spammer } TFBot { Template T_TFBot_Soldier_Spammer } TFBot { Template T_TFBot_Soldier_Spammer } } } WaveSpawn { Name "W4C-1" Where spawnbot SpawnCount 2 MaxActive 2 TotalCount 2 WaitForAllDead "W4B" WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } } } WaveSpawn { Name "W4C-2" Where spawnbot_alley SpawnCount 9 MaxActive 18 TotalCount 27 WaitForAllDead "W4B" WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 125 Squad { TFBot { Template T_TFBot_Pyro_Flaregun Tag disband_squad } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } TFBot { Template T_TFBot_Soldier_RocketShotgun_Alt } } } WaveSpawn { Name "W4D" Where spawnbot SpawnCount 3 MaxActive 6 TotalCount 12 WaitForAllDead "W4C-1" WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Soldier_Spammer } TFBot { Template T_TFBot_Scout_Shortstop Skill Normal } TFBot { Template T_TFBot_Scout_Shortstop Skill Normal } } } WaveSpawn { Name "W4D" Where spawnbot_left SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W4C-1" WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Scout_Shortstop Skill Normal } } WaveSpawn { Name "W4D" Where spawnbot_left SpawnCount 10 MaxActive 10 TotalCount 20 WaitForAllDead "W4C-1" WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Demo_Burst } } // blimps have to be put at the end of the wave in the pop so that their icons can be reliably hidden WaveSpawn { Name "W4A-1-Blimp" SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 150 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnOutput { Target gamerules Action CallScriptFunction Param "SetUpBlimp" Delay 0.03 // function sometimes fails to find tank if fired instantly } DoneOutput { Target gamerules Action CallScriptFunction Param "RemoveBlimpIcon" } Tank { Health 20000 Name "blimpboss" StartingPathTrackNode "tank_path_a_1" } } WaveSpawn { Name "W4D-Blimp" SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 150 WaitBeforeStarting 5 WaitBetweenSpawns 0 WaitForAllDead "W4C-1" FirstSpawnOutput { Target gamerules Action CallScriptFunction Param "SetUpBlimp" Delay 0.03 } DoneOutput { Target gamerules Action CallScriptFunction Param "RemoveBlimpIcon" } Tank { Health 18000 Name "blimpboss" StartingPathTrackNode "tank_path_a_1" } } } Wave // TEST { InitWaveOutput { Target gamerules Action RunScriptFile Param "null_pea.nut" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name "W5A" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 DoneOutput { Target gamerules Action RunScriptCode Param "NetProps.SetPropIntArray(objective_resource_entity, `m_nMannVsMachineWaveClassFlags`, 0, 1); w5_demoknight_support_active = false; ClientPrint(null,4,`Fall damage has been reenabled!`)" } TFBot { Class Demoman Name "Sir Bouncealot" Tag bouncealot Health 15000 Skill Expert Item "The Loose Cannon" Item "The Dark Falkirk Helm" Attributes UseBossHealthBar Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Loose Cannon" "fire rate penalty" 5 "Projectile speed increased" 1 "projectile spread angle penalty" 12 "auto fires full clip all at once" 1 "grenade launcher mortar mode" 0 "fuse bonus" 8 } ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } } WaveSpawn { Name "W5-BounceSupportRequest" WaitBeforeStarting 7 FirstSpawnWarningSound "vo/mvm/mght/demoman_mvm_m_helpmedefend02.mp3" FirstSpawnOutput { Target gamerules Action RunScriptCode Param "ClientPrint(null,4,`Fall damage has been disabled!`)" } } WaveSpawn { Name "W5-BounceSupportArrival" WaitBeforeStarting 9 FirstSpawnWarningSound "vo/mvm/norm/demoman_mvm_yes01.mp3" } WaveSpawn { Name "W5-BounceSupport" Where spawnbot_alley SpawnCount 3 MaxActive 15 TotalCount 15 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 0 Support 1 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "NetProps.SetPropIntArray(objective_resource_entity, `m_nMannVsMachineWaveClassFlags`, 2, 1)" } TFBot { Template T_TFBot_Demoman_Knight Item "The Glasgow Great Helm" Tag w5_demoknight_support } } WaveSpawn { Name "W5B" Where spawnbot_alley SpawnCount 18 MaxActive 18 TotalCount 18 WaitForAllDead "W5A" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun Attributes AlwaysCrit } } WaveSpawn { Name "W5C-1" Where spawnbot_left SpawnCount 5 MaxActive 5 TotalCount 5 WaitForAllDead "W5B" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Pyro } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "W5C-1" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 3 WaitForAllDead "W5B" WaitBeforeStarting 20 WaitBetweenSpawns 40 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "W5-Support" Where spawnbot_jeep SpawnCount 3 MaxActive 6 TotalCount 24 WaitForAllDead "W5B" WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 100 Support 1 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "NetProps.SetPropIntArray(objective_resource_entity, `m_nMannVsMachineWaveClassFlags`, 2, 6)" } TFBot { Class Pyro Skill Easy Tag w5_pyro_support } } WaveSpawn { Name "W5C-1" Where spawnbot Where spawnbot_left Where spawnbot_jeep Where spawnbot_alley SpawnCount 4 MaxActive 8 TotalCount 20 WaitForAllDead "W5B" WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 75 TFBot { Class Soldier Skill Expert Item "The Direct Hit" } } WaveSpawn { Name "W5C-2" Where spawnbot_left SpawnCount 5 MaxActive 5 TotalCount 5 WaitForAllDead "W5B" WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "W5D-1" Where spawnbot Where spawnbot_left Where spawnbot_jeep Where spawnbot_alley SpawnCount 1 MaxActive 8 TotalCount 20 WaitForAllDead "W5C-2" WaitBeforeStarting 3 WaitBetweenSpawns 2 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun Attributes AlwaysCrit } } WaveSpawn { Name "W5D-1" Where spawnbot_left SpawnCount 5 MaxActive 5 TotalCount 5 WaitForAllDead "W5C-2" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Pyro } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "W5D-2" Where spawnbot_left SpawnCount 5 MaxActive 5 TotalCount 5 WaitForAllDead "W5C-2" WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "W5-AllGiantsDead" WaitForAllDead "W5C-1" } WaveSpawn { Name "W5-AllGiantsDead" WaitForAllDead "W5D-2" } WaveSpawn { WaitForAllDead "W5-AllGiantsDead" FirstSpawnOutput { Target gamerules Action RunScriptCode Param "NetProps.SetPropIntArray(objective_resource_entity, `m_nMannVsMachineWaveClassFlags`, 0, 6); w5_pyro_support_active = false" } } WaveSpawn { WaitForAllDead "W5-AllGiantsDead" WaitBeforeStarting 9 FirstSpawnOutput { Target gamerules Action CallScriptFunction Param "AnnounceBouncealotRevival" } } WaveSpawn { Name "W5E" Where spawnbot_tank SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W5-AllGiantsDead" WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 125 TFBot { Class Demoman Name "Bouncealot's Revenge" Health 20000 Tag bouncealot Skill Expert Item "The Loose Cannon" Item "Zombie Demo" Item "Forgotten King's Restless Head" Item "Forgotten King's Pauldrons" Attributes UseBossHealthBar Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Loose Cannon" "fire rate penalty" 11 "Projectile speed increased" 1 "grenade launcher mortar mode" 0 "cannonball push back" 0 "fuse bonus" 26 // 1 minute lifetime } CharacterAttributes { "move speed bonus" 0.35 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "voice pitch scale" 0.65 } } } WaveSpawn { Name "W5-BounceSupport" Where spawnbot_alley SpawnCount 2 MaxActive 2 TotalCount 2 WaitForAllSpawned "W5E" WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 Support 1 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "NetProps.SetPropIntArray(objective_resource_entity, `m_nMannVsMachineWaveClassFlags`, 2, 1)" } TFBot { Class Demoman Name "Undead Samurai Demo" ClassIcon demoknight_samurai Tag w5_samurai_support Skill Expert Item "The Half-Zatoichi" Item "The Splendid Screen" ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 } Item "The Glasgow Great Helm" Item "Zombie Demo" Scale "1.3" Health 650 WeaponRestrictions MeleeOnly Attributes AirChargeOnly Attributes AutoJump AutoJumpMin 4 AutoJumpMax 4 CharacterAttributes { "charge time increased" 6 "charge recharge rate increased" 7 "increased jump height" 2.3 "bot custom jump particle" 1 } } } } Wave // WAVE 6 { InitWaveOutput { Target gamerules Action RunScriptFile Param "null_pea.nut" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name "WaveIcon" Where spawnbot_jeep SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W6-Victory" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Class Scout Tag victory ClassIcon wheelofdoom_whammy } } WaveSpawn { Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 17.5 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited TFBot { Class Soldier Skill Expert Health 10000 Name "Soldier Reborn" ClassIcon soldier_ally Tag soldier_reborn Attributes UseBossHealthBar Attributes IgnoreFlag ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.25 "Projectile speed increased" 1.5 } CharacterAttributes { "move speed bonus" 2 "cancel falling damage" 1 "blast dmg to self increased" 0 } } } WaveSpawn { Name "W6-P1-BEGIN" WaitBeforeStarting 24 FirstSpawnOutput { Target phase1_begin Action Trigger } } WaveSpawn { Name "W6-SupportStart" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W6-P1-BEGIN" WaitBeforeStarting 10 WaitBetweenSpawns 0 Support Limited Template T_WaveSpawn_AllGiants TotalCurrency 25 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "ClientPrint(null,3, `\x0790EE90Stay close to Soldier for increased fire power!`); ClientPrint(null,4, `Stay close to Soldier for increased fire power!`)" } } WaveSpawn { Name "W6-Support" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 15 WaitForAllDead "W6-SupportStart" WaitBeforeStarting 10 WaitBetweenSpawnsAfterDeath 10 Support 1 TotalCurrency 300 Template T_WaveSpawn_AllGiants } WaveSpawn { Name "W6-P1" Where spawnbot SpawnCount 20 MaxActive 20 TotalCount 20 WaitFOrAllDead "W6-P1-BEGIN" WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target gamerules Action RunScriptCode Param "ClientPrint(null,3, `\x07FF3F3FSurvive 5 phases! Don't let Soldier die!`); ClientPrint(null,4, `Survive 5 phases! Don't let Soldier die!`)" } RandomChoice { Squad { TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Tag p1 } } } } WaveSpawn { Name "W6-P1" Where spawnbot SpawnCount 1 MaxActive 2 TotalCount 5 WaitForAllDead "W6-P1-BEGIN" WaitBeforeStarting 8 WaitBetweenSpawns 12 TotalCurrency 100 Support Limited RandomChoice { Squad { TFBot { Class Pyro Name "Giant Fireball Pyro" Skill Expert Health 3000 Item "The detonator" Item "Point and Shoot" Item "TF_WEAPON_SPELLBOOK" Tag spellbook_fireball WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "The detonator" "fire rate bonus" 50 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } Tag p1 } } } } WaveSpawn { Name "W6-P1" Where spawnbot Where spawnbot_left Where spawnbot_jeep Where spawnbot_alley SpawnCount 3 MaxActive 12 TotalCount 36 WaitForAllDead "W6-P1-BEGIN" WaitBeforeStarting 15 WaitBetweenSpawns 3 TotalCurrency 75 Support Limited RandomChoice { Squad { TFBot { Class Soldier Skill Expert Tag balloonray Name "Balloon Ray Soldier" Item "The Righteous Bison" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Righteous Bison" "faster reload rate" -1.8 } Tag p1 } } Squad { TFBot { Template T_TFBot_Scout_Sandman_FastCharge Attributes AlwaysCrit Tag p1 } } Squad { TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag p1 } } Squad { TFBot { Template T_TFBot_Sniper_Huntsman Attributes AlwaysCrit Tag p1 } } } } WaveSpawn { Name "W6-P1-BREAK" WaitForAllDead "W6-P1-BEGIN" WaitBeforeStarting 50 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "w6_current_stage = 2" } } WaveSpawn { Name "W6-P2-BEGIN" WaitForAllDead "W6-P1-BEGIN" WaitBeforeStarting 60 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "ClientPrint(null,3, `\x0790EE90Phase 2 begins!`); ClientPrint(null,4, `Phase 2 begins!`)" } } WaveSpawn { Name "W6-P2" Where spawnbot_left SpawnCount 1 MaxActive 1 TotalCount 8 WaitForAllDead "W6-P2-BEGIN" WaitBeforeStarting 0 WaitBetweenSpawnsAfterDeath 5 TotalCurrency 150 Support Limited RandomChoice { Squad { TFBot { Class Scout Name "Giant Burst Cleaver Scout" Skill Expert Item "Horrific Headsplitter" Item "The Flying Guillotine" Attributes AlwaysFireWeapon Tag cleaver ItemAttributes { ItemName "The Flying Guillotine" "fire rate penalty" 2 "effect bar recharge rate increased" 0.05 } Health 1600 WeaponRestrictions SecondaryOnly Attributes MiniBoss CharacterAttributes { "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } Tag p2 } } } } WaveSpawn { Name "W6-P2" Where spawnbot_alley SpawnCount 7 MaxActive 7 TotalCount 42 WaitForAllDead "W6-P2-BEGIN" WaitBeforeStarting 10 WaitBetweenSpawns 0.5 TotalCurrency 200 Support Limited RandomChoice { Squad { TFBot { Class Medic Name "Uber Shield Medic" Skill Expert Health 900 Scale 1.4 WeaponRestrictions MeleeOnly Item "The Amputator" Item "Your Worst Nightmare" Tag aoe_medic Tag p2 } TFBot { Class Soldier Skill Normal Tag p2 } TFBot { Class Soldier Skill Normal Tag p2 } TFBot { Class Heavyweapons Skill Normal Tag p2 } TFBot { Class Heavyweapons Skill Normal Tag p2 } TFBot { Class Pyro Skill Normal Tag p2 } TFBot { Class Pyro Skill Normal Tag p2 } } } } WaveSpawn { Name "W6-P2" Where spawnbot_alley SpawnCount 1 MaxActive 8 TotalCount 42 WaitForAllDead "W6-P2-BEGIN" WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 125 Support Limited RandomChoice { Squad { TFBot { Class Soldier Name "Charged Soldier" Skill Expert Item "The Original" Attributes AlwaysCrit ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate penalty" 2 } Tag p2 } } } } WaveSpawn { Name "W6-P2-BREAK" WaitForAllDead "W6-P2-BEGIN" WaitBeforeStarting 50 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "w6_current_stage = 3; ClientPrint(null,3, `\x0790EE90Break time! Replenish your health and visit the Upgrade Station!`); ClientPrint(null,4, `Break time! Replenish your health and visit the Upgrade Station!`); StunAllBots()" } } WaveSpawn { Name "W6-P3-BEGIN" WaitForAllDead "W6-P2-BEGIN" WaitBeforeStarting 70 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "ClientPrint(null,3, `\x0790EE90Phase 3 begins!`); ClientPrint(null,4, `Phase 3 begins!`)" } } WaveSpawn { Name "W6-P3" Where spawnbot_alley SpawnCount 3 MaxActive 6 TotalCount 15 WaitForAllDead "W6-P3-BEGIN" WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCurrency 100 Support Limited RandomChoice { Squad { TFBot { Class Soldier Name "Santa Soldier" Skill Expert Health 650 Scale 1.4 Item "The B.M.O.C." Item "The Gift Bringer" Item "The All-Father" Tag bot_giant Tag santa_soldier ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.2 "fire rate penalty" 2 "custom projectile model" "models/props_halloween/halloween_gift.mdl" } Tag p3 } } } } WaveSpawn { Name "W6-P3" Where spawnbot_left SpawnCount 1 MaxActive 3 TotalCount 3 WaitForAllDead "W6-P3-BEGIN" WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 125 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Giant_Boxing_Heavy Tag bot_giant Attributes AlwaysCrit Tag p3 } } } } WaveSpawn { Name "W6-P3" Where spawnbot_alley SpawnCount 3 MaxActive 3 TotalCount 9 WaitForAllDead "W6-P3-BEGIN" WaitBeforeStarting 15 WaitBetweenSpawns 0.5 TotalCurrency 100 Support Limited RandomChoice { Squad { TFBot { Class Demoman Name "Bouncealot's Heir" Health 3000 Skill Expert Item "The Loose Cannon" Item "The King of Scotland Cape" Item "The Black Watch" Attributes MiniBoss Tag bot_giant Tag nogravity_grenades ItemAttributes { ItemName "The Loose Cannon" "faster reload rate" -0.4 "fire rate bonus" 0.75 "grenade launcher mortar mode" 0 "cannonball push back" 0 "fuse bonus" 2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } Tag p3 } TFBot { Template T_TFBot_Medic Tag p3 } TFBot { Template T_TFBot_Medic Tag p3 } } } } WaveSpawn { Name "W6-P4-BREAK" WaitForAllDead "W6-P3-BEGIN" WaitBeforeStarting 50 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "w6_current_stage = 4" } } WaveSpawn { Name "W6-P4-BEGIN" WaitForAllDead "W6-P3-BEGIN" WaitBeforeStarting 60 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "ClientPrint(null,3, `\x0790EE90Phase 4 begins!`); ClientPrint(null,4, `Phase 4 begins!`)" } } WaveSpawn { Name "W6-P4" Where spawnbot Where spawnbot_left Where spawnbot_jeep Where spawnbot_alley SpawnCount 2 MaxActive 12 TotalCount 18 WaitForAllDead "W6-P4-BEGIN" WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 75 Support Limited RandomChoice { Squad { TFBot { Class Soldier Skill Expert Tag blast_perfect Attributes HoldFireUntilFullReload Name "Odd Memento" Item "The Marxman" Item "The Liberty Launcher" ItemAttributes { ItemName "The Liberty Launcher" "damage causes airblast" 1 "damage bonus" 1 "fire rate bonus" 0.001 "clip size upgrade atomic" -2 "Blast radius decreased" 1.2 "projectile spread angle penalty" 2 "Projectile speed increased" 1.4 "apply z velocity on damage" -520 "apply look velocity on damage" -520 } Tag p4 } } } } WaveSpawn { Name "W6-P4" Where spawnbot Where spawnbot_left Where spawnbot_jeep Where spawnbot_alley SpawnCount 5 MaxActive 10 TotalCount 25 WaitForAllDead "W6-P4-BEGIN" WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 100 Support Limited RandomChoice { Squad { TFBot { Class Heavyweapons Skill Expert WeaponRestrictions MeleeOnly Name "Odd Memento" Item "The Hanger-On Hood" Item "Bumble Beenie" Item "The Killing Gloves of Boxing" ItemAttributes { ItemName "The Killing Gloves of Boxing" "bleeding duration" 1.5 "damage causes airblast" 1 } Tag p4 } } } } WaveSpawn { Name "W6-P4" Where spawnbot_alley SpawnCount 2 MaxActive 2 TotalCount 4 WaitForAllDead "W6-P4-BEGIN" WaitBeforeStarting 10 WaitBetweenSpawns 0.5 TotalCurrency 200 Support Limited RandomChoice { Squad { TFBot { Class Pyro Skill Expert WeaponRestrictions PrimaryOnly Name "Alien Hunter" Health 3000 Scale 1.9 Item "The Nostromo Napalmer" Item "The MK 50" Attributes MiniBoss Attributes AlwaysFireWeapon Tag bot_giant ItemAttributes { ItemName "The Nostromo Napalmer" "flame_drag" 4 "lunchbox adds minicrits" 2 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } Tag p4 } TFBot { Template T_TFBot_Giant_Medic Tag bot_giant Tag p4 } } } } WaveSpawn { Name "W6-P4" Where spawnbot Where spawnbot_left SpawnCount 6 MaxActive 6 TotalCount 24 WaitForAllDead "W6-P4-BEGIN" WaitBeforeStarting 0 WaitBetweenSpawns 0.5 TotalCurrency 75 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Tag p4 } } } } WaveSpawn { Name "W6-P5-BREAK" WaitForAllDead "W6-P4-BEGIN" WaitBeforeStarting 50 FirstSpawnOutput { Target gamerules Action RunScriptCode Param "w6_current_stage = 5" } } WaveSpawn { Name "W6-P5-BEGIN" WaitForAllDead "W6-P4-BEGIN" WaitBeforeStarting 60 FirstSpawnOutput { Target gamerules Action CallScriptFunction Param "W6_FinalPhase" } } WaveSpawn { Name "W6-P5" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W6-P5-BEGIN" WaitBeforeStarting 3 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnWarningSound "vo/mvm/mght/demoman_mvm_m_laughshort05.mp3" RandomChoice { Squad { TFBot { Template T_TFBot_Giant_Metalbeard Tag p5 } } } } WaveSpawn { Name "W6-P5" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W6-P5-BEGIN" WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_laughevil02.mp3" RandomChoice { Squad { TFBot { Template T_TFBot_Chief_Gauntlet Tag p5 } } } } WaveSpawn { Name "W6-P5" Where spawnbot_alley SpawnCount 1 MaxActive 1 TotalCount 1 WaitForAllDead "W6-P5-BEGIN" WaitBeforeStarting 7 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnWarningSound "vo/mvm/mght/soldier_mvm_m_laughevil02.mp3" RandomChoice { Squad { TFBot { Template T_TFBot_Chief_Soldier Tag p5 } } } } WaveSpawn { Name "W6-P5-END" WaitForAllDead "W6-P5-BEGIN" WaitBeforeStarting 44.5 FirstSpawnOutput { Target gamerules Action CallScriptFunction Param "W6_EndingCutscene" } } WaveSpawn { Name "W6-Victory" WaitForAllDead "W6-P5-END" WaitBeforeStarting 38 } } // Wave // TEST // { // InitWaveOutput // { // Target gamerules // Action RunScriptFile // Param "null_pea.nut" // } // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action trigger // } // WaitWhenDone 65 // Checkpoint Yes // WaveSpawn // { // Name "W5E" // Where spawnbot_alley // SpawnCount 1 // MaxActive 1 // TotalCount 5 // WaitBeforeStarting 0 // WaitBetweenSpawns 3600 // TotalCurrency 0 // TFBot // { // Class Demoman // Name "Bouncealot's Revenge" // Health 20000 // Tag bouncealot // Skill Expert // Item "The Loose Cannon" // Item "Zombie Demo" // Item "Forgotten King's Restless Head" // Item "Forgotten King's Pauldrons" // Attributes UseBossHealthBar // Attributes MiniBoss // Attributes HoldFireUntilFullReload // ItemAttributes // { // ItemName "The Loose Cannon" // "fire rate penalty" 11 // "Projectile speed increased" 1 // "grenade launcher mortar mode" 0 // "cannonball push back" 0 // "fuse bonus" 26 // 1 minute lifetime // } // CharacterAttributes // { // "move speed bonus" 0.35 // "damage force reduction" 0.4 // "airblast vulnerability multiplier" 0.4 // "override footstep sound set" 4 // "voice pitch scale" 0.65 // } // } // } // } }