#base robot_standard.pop #base robot_giant.pop #base robot_scroob.pop #base custom_upgrades_scroob.pop // WAVE 1 - 0$ + B(100$) // ------------------- // TOTAL - 0$ + B(100$) WaveSchedule { StartingCurrency 800 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no NoRomevisionCosmetics 1 AllowBotExtraSlots 1 RobotLimit 45 //reconfigurer NoRedBotsRandomCrit 1 BotsUsePlayerTeleporters 0 FixWavespawnReserveSlotsOnDisabledSpawnbot 1 // Fix wavespawn reserving slots even when spawnbot is disabled. There isn't much reason to not use this PrecacheSound "metal_popper_giant_mode_active_1.mp3" PrecacheSound "metal_popper_giant_mode_active_2.mp3" PrecacheSound "metal_popper_giant_mode_active_3.mp3" PrecacheSound "metal_popper_giant_mode_active_4.mp3" PrecacheSound "metal_popper_giant_mode_active_5.mp3" PrecacheSound "shrapnelgun_fire.mp3" PrecacheSound "abby_pryor_clone_drone_in_the_hyperdome_ost_cyclord_theme.mp3" PrecacheSound "abby_pryor_clone_drone_in_the_hyperdome_ost_captain_theme.mp3" PrecacheModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Templates { T_TFBot_Soldier_Chief_Direct_Precise { Class Soldier Skill Expert Name "Clone Commander" Item "The Direct Hit" Health 15000 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ClassIcon soldier_directhit_giant Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.70 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 0.2 "fire rate bonus" 2 "damage bonus" 3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } T_TFBot_Soldier_Chief_Leaping_Airstrike { Class Soldier Skill Expert Name "Clone Commander" ClassIcon soldier_airstrike_lite_burstfire_giant Health 12000 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "The B.A.S.E. Jumper" Item "The Air strike" RocketJump 2 //only jumps when clip is full Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.70 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "The Air strike" "move speed bonus" 0.5 "faster reload rate" 0.4 "clip size upgrade atomic" 12.0 "self dmg push force increased" 9 } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 "rocket jump damage reduction" 0 "increased air control" 3.0 "cannot pick up intelligence" 1 } } T_TFBot_Soldier_Chief_Spammer_Indirect { Class Soldier Skill Expert Name "Clone Commander" Health 15000 ClassIcon soldier_spammer_giant WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.70 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "TF_WEAPON_SHOVEL" "damage bonus" 1.3 "melee range multiplier" 1.35 "hand scale" 1.4 "switch from wep deploy time decreased" 0.5 "melee cleave attack" 1 //fuck you shield } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } WeaponSwitch { Type "Melee" MaxTargetRange 200 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 9999 MinTargetRange 300 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } SpawnTemplate danger_indicator ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.3 "projectile gravity" 300 "projectile spread angle penalty" 5 } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "move speed bonus" 0.5 } } T_TFBot_Soldier_Chief_Direct_Nuke { Class Soldier Skill Expert Name "Clone Commander" Health 10000 Item "The Direct Hit" ClassIcon soldier_directhit_giant WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.70 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 0.2 "fire rate bonus" 2.25 "damage bonus" 0.75 //makes blast radius less harmful "mult dmg direct hit" 3 "hand scale" 1.25 "dmg bonus vs buildings" 4 //so this template gets assblasted less by the wrangler existing "blast radius increased" 1.5 "use large smoke explosion" 1 "mult dmg vs giants" 2 //so reflects give him the big ouchie more. } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "move speed bonus" 0.5 } SpawnTemplate "clone_commander_final_pt" } } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support1_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support2_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support3_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support4_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support1_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support2_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support3_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support4_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support1_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support2_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support3_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support4_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } PointTemplates { misc_logic { logic_relay { "targetname" "support_wipe" "onspawn" "spawnbot_support*,Disable,,0,-1" "ontrigger" "spawnbot_support*,Disable,,0,-1" } logic_relay { "targetname" "support1_activate" "ontrigger" "spawnbot_support1*,Enable,,0,1" } logic_relay { "targetname" "support2_activate" "ontrigger" "spawnbot_support2*,Enable,,0,1" } logic_relay { "targetname" "support3_activate" "ontrigger" "spawnbot_support3*,Enable,,0,1" } logic_relay { "targetname" "support4_activate" "ontrigger" "spawnbot_support4*,Enable,,0,1" } logic_relay { "targetname" "CC_Phase1" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}❤ ❤ ❤ ❤ ❤,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Damage +Projectile Speed {FF0000} -Firing Speed,0,-1" "ontrigger" "player$DisplayTextChat{BBFFBB}Now Playing:{BBBBFF}Cyclord's Theme, Abby Pryor, Clone Drone In The Hyperdome OST1-1" "onTrigger" "w5_music_player,PlaySound,,0,-1" } logic_relay { "targetname" "CC_Phase2" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}❤ ❤ ❤ ❤,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Clip Size +Mobility{FF0000} -Bomb Carrying Potential,0,-1" } logic_relay { "targetname" "CC_Phase3" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}❤ ❤ ❤,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Firing Speed{FF0000}-Precision,0,-1" } logic_relay { "targetname" "CC_Phase4" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}NONE,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Numbers,0,-1" "ontrigger" "player$DisplayTextChat{BBFFBB}Now Playing:{BBBBFF}The Captain's Theme, Abby Pryor, Clone Drone In The Hyperdome OST1-1" "OnTrigger" "w5_music_player,Volume,0.01,0,-1" "OnTrigger" "w5_music_player_final,PlaySound,,0,-1" } logic_relay { "targetname" "CC_Phase5" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}LAST CLONE,0,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Damage +Projectile Speed +Blast Radius{FF0000}-Firing Speed,0,-1" } logic_relay { "targetname" "w5_music_end" "OnTrigger" "w5_music_player_final,Volume,0.01,0,-1" } //Credit to Myeh (known as Sword Bot Mk 3 on youtube), who is the one who ripped these //Videos these tracks came from: //https://www.youtube.com/watch?v=LQAyH7kFwXo //https://www.youtube.com/watch?v=-zhfbFJf6iI ambient_generic { "targetname" "w5_music_player" "message" "#abby_pryor_clone_drone_in_the_hyperdome_ost_cyclord_theme.mp3" "health" "10" "radius" "69420" "spawnflags" "17" } ambient_generic { "targetname" "w5_music_player_final" "message" "#abby_pryor_clone_drone_in_the_hyperdome_ost_captain_theme.mp3" "health" "10" "radius" "69420" "spawnflags" "17" } } danger_indicator { prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.625" "targetname" danger_indicator "skin" 2 "origin" "0 0 -0.2" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.625" "targetname" danger_indicator "skin" 2 "origin" "0 0 15" } } } //absent in the three example missions for this map for some unfathomable reason. Mission { Where spawnbot Objective DestroySentries InitialCooldown 35 BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Where spawnbot Objective Spy InitialCooldown 10 BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 25 DesiredCount 3 TFBot { Class Spy Skill Expert } } Mission { Where spawnbot Objective Sniper InitialCooldown 10 BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 25 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } SpawnTemplate "misc_logic" // WAVE 1 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave01a1" Where spawnbot TotalCount 9 MaxActive 6 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Medic_Battalion } TFBot { Template T_TFBot_Medic_Battalion } } } // [$0] WaveSpawn { Name "wave01a" Where spawnbot_left Where spawnbot_right TotalCount 32 MaxActive 9 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 1.7 RandomChoice { TFBot { Class Demoman Skill Normal } TFBot { Class Demoman Skill Easy } } } // Wait for w1 commons to spawn, and for w1 giant combos to die before continuing WaveSpawn { Name "wave01Signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 2 WaitForAllDead "wave01a1" } WaveSpawn { Name "wave01Signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 2 WaitForAllSpawned "wave01a" } // [$0] WaveSpawn { Name "wave01b" Where spawnbot_left TotalCount 24 MaxActive 8 SpawnCount 5 TotalCurrency 150 WaitBeforeStarting 0 WaitBetweenSpawns 1.2 WaitForAllDead "wave01Signaller" TFBot { Class Scout Skill Normal } } // [$0] WaveSpawn { Name "wave01b" Where spawnbot_left TotalCount 16 MaxActive 5 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 1.8 WaitForAllDead "wave01Signaller" TFBot { Template T_TFBot_Demo_Acid_Loch } } // [$0] WaveSpawn { Name "wave01b1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 12 WaitForAllDead "wave01Signaller" TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } // [$0] WaveSpawn { Name "wave01c1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 12 WaitBetweenSpawns 18 WaitForAllSpawned "wave01b1" TFBot { Template T_TFBot_Giant_Demo_Acid_Loch } } // [$0] WaveSpawn { Name "wave01c" Where spawnbot TotalCount 12 MaxActive 5 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave01b1" Support Limited TFBot { Class Heavy Skill Easy } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 100 MaxActive 6 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 7 WaitBetweenSpawns 2 WaitForAllSpawned "wave01b" Support 1 TFBot { Template T_TFBot_Demo_Persian } } } // WAVE 2 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave02a1" Where spawnbot TotalCount 12 MaxActive 9 SpawnCount 3 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 12 Squad { TFBot { Template T_TFBot_Giant_Sniper UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Skill Hard } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // [$0] WaveSpawn { Name "wave02a" Where spawnbot_left Where spawnbot_right Where spawnbot TotalCount 26 MaxActive 6 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 1.1 RandomChoice { TFBot { Class Soldier Skill Normal } TFBot { Class Soldier Skill Normal } TFBot { Class Soldier Skill Normal } TFBot { Class Soldier Skill Easy } TFBot { Class Soldier Skill Easy } TFBot { Class Soldier Skill Normal } } } // [$0] WaveSpawn { Name "wave02b1" Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 60 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave02a1" Squad { TFBot { Template T_TFBot_Giant_Demo_Burst } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } } } // [$0] WaveSpawn { Name "wave02b" Where spawnbot_left Where spawnbot_right TotalCount 32 MaxActive 10 SpawnCount 4 TotalCurrency 175 WaitBeforeStarting 0 WaitBetweenSpawns 0.85 WaitForAllDead "wave02a1" Support Limited TFBot { Template T_TFBot_Sniper_Carbine } } WaveSpawn { Name "wave02c1" Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 13 WaitForAllDead "wave02b1" Squad { NoFormation 1 //immediately breaks up squad, forces gbursts and gscouts to spawn together, but doesn't actually squad them TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Giant_Demo_Crit } } } WaveSpawn { Name "wave02c2" Where spawnbot_right TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 40 WaitBeforeStarting 13 WaitBetweenSpawns 13 WaitForAllSpawned "wave02c1" Squad { NoFormation 1 //immediately breaks up squad, forces gbursts and gscouts to spawn together, but doesn't actually squad them TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Giant_Demo_Crit } } } WaveSpawn { Where spawnbot_right Where spawnbot_left TotalCount 175 MaxActive 6 SpawnCount 2 TotalCurrency 175 WaitBeforeStarting 4 WaitBetweenSpawns 2.2 WaitForAllSpawned "wave02b" Support 1 TFBot { Template T_TFBot_Sniper_Carbine } } } // WAVE 3 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave03a" Where spawnbot_left Where spawnbot_right TotalCount 46 MaxActive 8 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 0.6 TFBot { Template T_TFBot_FlareGun_FastShot } } // [$0] WaveSpawn { Name "wave03a1" Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 16 Squad { TFBot { Template T_TFBot_Giant_Soldier_Cowmangler_Charged } TFBot { Template T_TFBot_Medic_Bigheal } } } // DUMMY WaveSpawn { Name "wave03signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "wave03a1" } // DUMMY WaveSpawn { Name "wave03signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllSpawned "wave03a" } // [$0] WaveSpawn { Name "wave03b1" Where spawnbot TotalCount 3 MaxActive 2 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 15 WaitForAllDead "wave03signaller" TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun_Giga } } // [$0] WaveSpawn { Name "wave03b" Where spawnbot TotalCount 24 MaxActive 5 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 1.3 WaitForAllDead "wave03signaller" TFBot { Template T_TFBot_Sniper_Huntsman } } // [$0] WaveSpawn { Name "wave03b" Where spawnbot_left Where spawnbot_right TotalCount 8 MaxActive 3 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 2 WaitBetweenSpawns 5.2 WaitForAllDead "wave03signaller" TFBot { Template T_TFBot_Pyro_EOI_MiniGiant } } // [$0] WaveSpawn { Name "wave03c1" Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 12 WaitForAllDead "wave03b1" Squad { TFBot { Template T_TFBot_Giant_Soldier_Nuke } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 75 MaxActive 3 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 2.6 WaitForAllDead "wave03b1" Support 1 TFBot { Template T_TFBot_Sniper_Fetchflag } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 75 MaxActive 12 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 3 WaitBetweenSpawns 0.65 WaitForAllSpawned "wave03b" Support 1 RandomChoice { TFBot { Template T_TFBot_Heavy_Reg_Gauntlet } TFBot { Template T_TFBot_Heavy_Reg_Gauntlet } TFBot { Name "randomgauntlet" Template T_TFBot_Heavy_Reg_Gauntlet } } } } // WAVE 4 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave04a1" Where spawnbot_left Where spawnbot_right TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "wave04a" Where spawnbot TotalCount 20 MaxActive 7 SpawnCount 4 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 2 TFBot { Class Heavy Skill Easy } } // DUMMY WaveSpawn { Name "wave04signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "wave04a1" } WaveSpawn { Name "wave04signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 WaitForAllSpawned "wave04a" } WaveSpawn { Name "wave04b" Where spawnbot_left Where spawnbot_right TotalCount 24 MaxActive 7 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave04signaller" TFBot { Class Pyro Skill Normal ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } WaveSpawn { Name "wave04b1" Where spawnbot TotalCount 9 MaxActive 6 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 15 WaitForAllDead "wave04signaller" Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Skill Normal //so pyro can play the game } TFBot { Template T_TFBot_Medic_Kritz } TFBot { Template T_TFBot_Medic_Kritz } } } WaveSpawn { Name "wave04c1" Where spawnbot TotalCount 6 MaxActive 6 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave04b1" Squad { TFBot { Template T_TFBot_Giant_Medic_Regen } TFBot { Template T_TFBot_Giant_Soldier_Crit_Spammer } } } WaveSpawn { Where spawnbot_left TotalCount 100 MaxActive 7 SpawnCount 2 TotalCurrency 100 WaitBeforeStarting 8 WaitBetweenSpawns 1.13 WaitForAllSpawned "wave04b" Support 1 TFBot { Template T_TFBot_Soldier_Shotgun_Charge_NoShield } } WaveSpawn { Where spawnbot_right TotalCount 100 MaxActive 4 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 8 WaitBetweenSpawns 3 WaitForAllSpawned "wave04b" Support 1 TFBot { Template T_TFBot_Soldier_Shotgun_Charge_NoShield } } } // WAVE 5 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$50] WaveSpawn { Name "wave05a" Where spawnbot TotalCount 28 MaxActive 6 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 3.5 Squad { TFBot { Template T_TFBot_Spy_Enforcer_Cola Skill Easy } TFBot { Template T_TFBot_Medic_BigHeal_Perma_Uber CharacterAttributes //so their spy pockets don't outrun them { "move speed bonus" 1.1 } } } } // [$0] WaveSpawn { Name "wave05a1" Where spawnbot_left Where spawnbot_right TotalCount 4 MaxActive 3 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 14 TFBot { Template T_TFBot_Giant_Demo_SustainBarrage } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 Name "wave05signaller" WaitForAllDead "wave05a1" } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 4 Name "wave05signaller" WaitForAllSpawned "wave05a" } // [$50] WaveSpawn { Name "wave05b1" Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 200 WaitBeforeStarting 0 WaitBetweenSpawns 18 WaitForAllDead "wave05signaller" Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Conch } TFBot { Template T_TFBot_Pyro_Flare_MiniGiant_Spammer } TFBot { Template T_TFBot_Pyro_Flare_MiniGiant_Spammer } } } // [$50] WaveSpawn { Name "wave05b" Where spawnbot_right TotalCount 12 MaxActive 5 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 0.5 WaitForAllDead "wave05signaller" TFBot { Template T_TFBot_Heavy_Punchie_Addcond66 Skill Expert Attributes AlwaysCrit PreferClass Engineer } } // [$50] WaveSpawn { Name "wave05b" Where spawnbot_left TotalCount 26 MaxActive 4 SpawnCount 2 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 1 WaitForAllDead "wave05signaller" TFBot { Class Scout Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support1_left Where spawnbot_support1_right TotalCount 50 MaxActive 5 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Demoman Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support1_left Where spawnbot_support1_right TotalCount 50 MaxActive 5 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Template T_TFBot_Sniper_Huntsman Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support2_center TotalCount 50 MaxActive 3 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Heavy Skill Easy } } // [$0] WaveSpawn { Where spawnbot_support2_left Where spawnbot_support2_right TotalCount 50 MaxActive 7 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 0.4 WaitForAllSpawned "wave05b" Support 1 TFBot { Template T_TFBot_Demoman_Knight Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support3_left Where spawnbot_support3_right Where spawnbot_support3_center TotalCount 50 MaxActive 10 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 0.4 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Scout Skill Expert WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } // [$0] WaveSpawn { Where spawnbot_support4_left Where spawnbot_support4_right TotalCount 50 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Demoman Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support4_center TotalCount 50 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 3 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Heavy Skill Easy } } // [$0] WaveSpawn { Name "CloneCommanderPhase1" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "wave05b1" FirstSpawnOutput { Target support1_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Direct_Precise FireInput { Target "CC_Phase1" Action "Trigger" Delay 0.01 Repeats 1 } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase1" FirstSpawnOutput { Target support_wipe Action Trigger } } // [$0] WaveSpawn { Name "CloneCommanderPhase2" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase1" FirstSpawnOutput { Target support2_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Leaping_Airstrike FireInput { Target "CC_Phase2" Action "Trigger" Delay 0.01 Repeats 1 } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase2" FirstSpawnOutput { Target support_wipe Action Trigger } } // [$0] WaveSpawn { Name "CloneCommanderPhase3" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase2" FirstSpawnOutput { Target support3_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Spammer_Indirect FireInput { Target "CC_Phase3" Action "Trigger" Delay 0.01 Repeats 1 } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase3" FirstSpawnOutput { Target support_wipe Action Trigger } } // [$0] WaveSpawn { Name "CloneCommanderPhase4" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase3" FirstSpawnOutput { Target support4_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Spammer_Indirect FireInput { Target "CC_Phase4" Action "Trigger" Delay 0.01 Repeats 1 } } } // [$0] WaveSpawn { Name "CloneCommanderPhase4" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase3" TFBot { Template T_TFBot_Soldier_Chief_Direct_Precise } } // [$0] WaveSpawn { Name "CloneCommanderPhase4" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase3" TFBot { Template T_TFBot_Soldier_Chief_Leaping_Airstrike } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase4" FirstSpawnOutput { Target support_wipe Action Trigger } } WaveSpawn { Where spawnbot //lower TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase4" Support Limited DoneOutput { Target w5_music_end Action Trigger } } } }